Effective Robotics Programming with ROS
by: Anil Mahtani – Luis Sanchez – Enrique Fernandez – Aaron Martinez
ISBN-10: 1786463652
ISBN-13: 9781786463654
Edition 版本: 3rd Revised edition
Released: 2017-01-05
Pages: 515
Book Description
Building and programming a robot can be cumbersome and time-consuming,but not when you have the right collection of tools,libraries,and more importantly expert collaboration. ROS enables collaborative software development and offers an unmatched simulated environment that simplifies the entire robot building process.
This book is packed with hands-on examples that will help you program your robot and give you complete solutions using open source ROS libraries and tools. It also shows you how to use virtual machines and Docker containers to simplify the installation of Ubuntu and the ROS framework,so you can start working in an isolated and control environment without changing your regular computer setup.
It starts with the installation and basic concepts,then continues with more complex modules available in ROS such as sensors and actuators integration (drivers),navigation and mapping (so you can create an autonomous mobile robot),manipulation,Computer Vision,perception in 3D with PCL,and more. By the end of the book,you’ll be able to leverage all the ROS Kinetic features to build a fully fledged robot for all your needs.
Contents
1: GETTING STARTED WITH ROS
2: ROS ARCHITECTURE AND CONCEPTS
3: VISUALIZATION AND DEBUGGING TOOLS
4: 3D MODELING AND SIMULATION
5: THE NAVIGATION STACK – ROBOT SETUPS
6: THE NAVIGATION STACK – BEYOND SETUPS
7: MANIPULATION WITH MOVEIT!
8: USING SENSORS AND ACTUATORS WITH ROS
9: COMPUTER VISION
10: POINT CLOUDS
What You Will Learn
Understand the concepts of ROS,the command-line tools,visualization GUIs,and how to debug ROS
Connect robot sensors and actuators to ROS
Obtain and analyze data from cameras and 3D sensors
Use Gazebo for robot/sensor and environment simulation
Design a robot and see how to make it map the environment,navigate autonomously,and manipulate objects in the environment using MoveIt!
Add vision capabilities to the robot using OpenCV 3.0
Add 3D perception capabilities to the robot using the latest version of PCL
Authors
Anil Mahtani
Anil Mahtani is a computer scientist who has dedicated an important part of his career to underwater robotics. He first started working in the field with his master thesis,where he developed a software architecture for a low-cost ROV. During the development of his thesis,he also became the team leader and lead developer of AVORA,a team of university students that designed and developed an autonomous underwater vehicle for the Students Autonomous Underwater Challenge – Europe (SAUC-E) in 2012. That same year,Anil Mahtani completed his thesis and his MSc in Computer Science at the University of Las Palmas de Gran Canaria and then became a Software Engineer at SeeByte Ltd,a world leader in smart software solutions for underwater systems. In 2015,he joined Dell Secureworks as a Software Engineer,where he applies his knowledge and skills toward developing intrusion detection and prevention systems.
During his time at SeeByte Ltd,Anil Mahtani played a key role in the development of several semi-autonomous and autonomous underwater systems for the military and oil and gas industries. In those projects,he was heavily involved in the development of autonomy systems,the design of distributed software architectures,and low-level software development and also contributed in providing Computer Vision solutions for front-looking sonar imagery. At SeeByte Ltd,he also achieved the position of project manager,managing a team of engineers developing and maintaining the internal core C++ libraries.
His professional interests lie mainly in software engineering,algorithms,data structures,distributed systems,networks,and operating systems. Anil’s main role in robotics is to provide efficient and robust software solutions,addressing not only the current problems at hand but also foreseeing future problems or possible enhancements. Given his experience,he is also an asset when dealing with Computer Vision,machine learning,or control problems. Anil has also interests in DIY and electronics,and he has developed several Arduino libraries,which he has contributed back to the community.
Aaron Martinez Romero
Aaron Martinez Romero has an MSc in Computer Science from the ULPGC with a background in mechatronics,tele-robotics,and tele-presence systems.
He did an internship at the Institute for Robotics at the Johannes Keppler University in Linz where he worked with mobile platforms and embedded systems. He has experience in SolidWorks and CNC machinery and has made prototypes of electromechanical systems.
He is a founding member of SubSeaMechatronics where he works on projects related to heavy duty robotics and R&D. In his free time,he is one of the founding members of LpaFabrika,the Maker Space from Gran Canaria,where future makers learn about Arduino,programming,electronics,and manufacturing.