ROS Programming: Building Powerful Robots: Design,build and simulate complex robots using the Robot Operating System
by Anil Mahtani,Luis Sanchez,Enrique Fernandez,Aaron Martinez,Lentin Joseph
File Size: 126917 KB
Print Pages: 1737 pages
Publisher finelybook 出版社: Packt Publishing; 1 edition (13 Mar. 2018)
Language 语言: English
ASIN: B07BGBR7LX
ISBN 13 9781788627436
Book Description
This learning path is designed to help you program and build your robots using open source ROS libraries and tools. We start with the installation and basic concepts,then continue with the more complex modules available in ROS,such as sensor and actuator integration (drivers),navigation and mapping (so you can create an autonomous mobile robot),manipulation,computer vision,perception in 3D with PCL,and more.
We then discuss advanced concepts in robotics and how to program using ROS. You’ll get a deep overview of the ROS framework,which will give you a clear idea of how ROS really works. During the course of the book,you will learn how to build models of complex robots,and simulate and interface the robot using the ROS MoveIt motion planning library and
ROS navigation stacks.
We’ll go through great projects such as building a self-driving car,an autonomous mobile robot,and image recognition
using deep learning and ROS. You can find beginner,intermediate,and expert ROS robotics applications inside!
It includes content from the following Packt products:
Effective Robotics Programming with ROS – Third Edition
Mastering ROS for Robotics Programming
ROS Robotics Projects
Contents
1: GETTING STARTED WITH ROS
2: ROS ARCHITECTURE AND CONCEPTS
3: VISUALIZATION AND DEBUGGING TOOLS
4: THE NAVIGATION STACK – ROBOT SETUPS
5: THE NAVIGATION STACK – BEYOND SETUPS
6: MANIPULATION WITH MOVEIT!
7: USING SENSORS AND ACTUATORS WITH ROS
8: COMPUTER VISION
9: POINT CLOUDS
10: WORKING WITH 3D ROBOT MODELING IN ROS
11: SIMULATING ROBOTS USING ROS AND GAZEBO
12: WORKING WITH PLUGINLIB,NODELETS,AND GAZEBO PLUGINS
13: WRITING ROS CONTROLLERS AND VISUALIZATION PLUGINS
14: INTERFACING I/O BOARDS,SENSORS,AND ACTUATORS TO ROS
15: PROGRAMMING VISION SENSORS USING ROS,OPEN-CV,AND PCL
16: BUILDING AND INTERFACING DIFFERENTIAL DRIVE MOBILE ROBOT HARDWARE IN ROS
17: EXPLORING THE ADVANCED CAPABILITIES OF ROS-MOVEIT!
18: ROS FOR INDUSTRIAL ROBOTS
19: TROUBLESHOOTING AND BEST PRACTICES IN ROS
20: FACE DETECTION AND TRACKING USING ROS,OPENCV AND DYNAMIXEL SERVOS
21: BUILDING A SIRI-LIKE CHATBOT IN ROS
22: CONTROLLING EMBEDDED BOARDS USING ROS
23: TELEOPERATE A ROBOT USING HAND GESTURES
24: OBJECT DETECTION AND RECOGNITION
25: DEEP LEARNING USING ROS AND TENSORFLOW
26: ROS ON MATLAB AND ANDROID
27: BUILDING AN AUTONOMOUS MOBILE ROBOT
28: CREATING A SELF-DRIVING CAR USING ROS
29: TELEOPERATING A ROBOT USING A VR HEADSET AND LEAP MOTION
30: CONTROLLING YOUR ROBOTS OVER THE WEB
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
Dig deep into the ROS Pluginlib,ROS nodelets,and Gazebo plugins
Interface I/O boards such as Arduino,robot sensors,and high-end actuators with ROS
Get to grips with teleoperating robots using hand gestures
Build ROS-based applications using Matlab and Android
Build interactive applications using TurtleBot
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.
Luis Sánchez
Luis Sánchez has completed his dual master’s degree in electronics and telecommunication engineering at the University of Las Palmas de Gran Canaria.
He has collaborated with different research groups as the Institute for Technological Development and Innovation (IDETIC),the Oceanic Platform of Canary Islands (PLOCAN),and the Institute of Applied Microelectronics (IUMA) where he actually researches on imaging super-resolution algorithms.
His professional interests lie in Computer Vision,signal processing,and electronic design applied on robotics systems. For this reason,he joined the AVORA team,a group of young engineers and students working on the development of Underwater Autonomous Vehicles (AUV) from scratch. Inside this project,Luis has started developing acoustic and Computer Vision systems,extracting information from different sensors such as hydrophones,sonar,or camera.
With a strong background gained in marine technology,Luis cofounded Subsea Mechatronics,a young start-up,where he works on developing remotely operated and autonomous vehicles for underwater environments.
Here’s what Dario Sosa Cabrera,a marine technologies engineer and entrepreneur (and the cofounder and maker of LPA Fabrika: Gran Canaria Maker Space) has to say about Luis:
“He is very enthusiastic and an engineer in multiple disciplines. He is responsible for his work. He can manage himself and can take up responsibilities as a team leader,as demonstrated at the euRathlon competition. His background in electronics and telecommunications allows him to cover a wide range of expertise from signal processing and software,to electronic design and fabrication.”
Luis has participated as a technical reviewer of the previous version of Learning ROS for Robotics Programming and as a cowriter of the second edition.