Book description
Find out everything you need to know to build powerful robots with the most up-to-date ROS
About This Book
- This comprehensive, yet easy-to-follow guide will help you find your way through the ROS framework
- Successfully design and simulate your 3D robot model and use powerful robotics algorithms and tools to program and set up your robots with an unparalleled experience by using the exciting new features from Robot Kinetic
- Use the latest version of gazebo simulator, OpenCV 3.0, and C++11 standard for your own algorithms
Who This Book Is For
This book is suitable for an ROS beginner as well as an experienced ROS roboticist or ROS user or developer who is curious to learn ROS Kinetic and its features to make an autonomous Robot. The book is also suitable for those who want to integrate sensors and embedded systems with other software and tools using ROS as a framework.
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
In Detail
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.
Style and approach
This book is packed with hands-on examples that will help you program your robot and give you complete solutions using ROS open source libraries and tools. All the robotics concepts and modules are explained and multiple examples are provided so that you can understand them easily.
Table of contents
-
Effective Robotics Programming with ROS Third Edition
- Table of Contents
- Effective Robotics Programming with ROS Third Edition
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- 1. Getting Started with ROS
-
2. ROS Architecture and Concepts
- Understanding the ROS Filesystem level
- Understanding the ROS Computation Graph level
- Understanding the ROS Community level
-
Tutorials to practise with ROS
- Navigating through the ROS filesystem
- Creating our own workspace
- Creating an ROS package and metapackage
- Building an ROS package
- Playing with ROS nodes
- Learning how to interact with topics
- Learning how to use services
- Using Parameter Server
- Creating nodes
- Building the node
- Creating msg and srv files
- Using the new srv and msg files
- The launch file
- Dynamic parameters
- Summary
-
3. Visualization and Debugging Tools
- Debugging ROS nodes
-
Logging messages
- Outputting logging messages
- Setting the debug message level
- Configuring the debugging level of a particular node
- Giving names to messages
- Conditional and filtered messages
- Showing messages once, throttling, and other combinations
- Using rqt_console and rqt_logger_level to modify the logging level on the fly
- Inspecting the system
- Setting dynamic parameters
- Dealing with the unexpected
- Visualizing nodes diagnostics
- Plotting scalar data
- Image visualization
- 3D visualization
- Saving and playing back data
- Using the rqt_gui and rqt plugins
- Summary
- 4. 3D Modeling and Simulation
- 5. The Navigation Stack – Robot Setups
-
6. The Navigation Stack – Beyond Setups
- Creating a package
- Creating a robot configuration
- Configuring the costmaps – global_costmap and local_costmap
- Creating a launch file for the navigation stack
- Setting up rviz for the navigation stack
- Adaptive Monte Carlo Localization
- Modifying parameters with rqt_reconfigure
- Avoiding obstacles
- Sending goals
- Summary
- 7. Manipulation with MoveIt!
-
8. Using Sensors and Actuators with ROS
- Using a joystick or a gamepad
- Using Arduino to add sensors and actuators
- Using a low-cost IMU – 9 degrees of freedom
- Using the IMU – Xsens MTi
- Using a GPS system
- Using a laser rangefinder – Hokuyo URG-04lx
- Creating a launch file
- Using the Kinect sensor to view objects in 3D
- Using servomotors – Dynamixel
- Summary
- 9. Computer Vision
- 10. Point Clouds
- Index
Product information
- Title: Effective Robotics Programming with ROS - Third Edition
- Author(s):
- Release date: December 2016
- Publisher(s): Packt Publishing
- ISBN: 9781786463654
You might also like
book
Mastering ROS for Robotics Programming
Design, build and simulate complex robots using Robot Operating System and master its out-of-the-box functionalities About …
book
Hands-On ROS for Robotics Programming
Take your ROS skills to the next level by implementing complex robot structures in a ROS …
book
Mastering ROS for Robotics Programming - Third Edition
Design, build, and simulate complex robots using the Robot Operating System Key Features Become proficient in …
book
Mastering ROS for Robotics Programming - Second Edition
Discover best practices and troubleshooting solutions when working on ROS About This Book Develop complex robotic …