Book description
Take your ROS skills to the next level by implementing complex robot structures in a ROS simulation
Key Features
- Learn fundamental ROS concepts and apply them to solve navigation tasks
- Work with single board computers to program smart behavior in mobile robots
- Understand how specific characteristics of the physical environment influence your robot's performance
Book Description
Connecting a physical robot to a robot simulation using the Robot Operating System (ROS) infrastructure is one of the most common challenges faced by ROS engineers. With this book, you'll learn how to simulate a robot in a virtual environment and achieve desired behavior in equivalent real-world scenarios.
This book starts with an introduction to GoPiGo3 and the sensors and actuators with which it is equipped. You'll then work with GoPiGo3's digital twin by creating a 3D model from scratch and running a simulation in ROS using Gazebo. Next, the book will show you how to use GoPiGo3 to build and run an autonomous mobile robot that is aware of its surroundings. Finally, you'll find out how a robot can learn tasks that have not been programmed in the code but are acquired by observing its environment. You'll even cover topics such as deep learning and reinforcement learning.
By the end of this robot programming book, you'll be well-versed with the basics of building specific-purpose applications in robotics and developing highly intelligent autonomous robots from scratch.
What you will learn
- Get to grips with developing environment-aware robots
- Gain insights into how your robots will react in physical environments
- Break down a desired behavior into a chain of robot actions
- Relate data from sensors with context to produce adaptive responses
- Apply reinforcement learning to allow your robot to learn by trial and error
- Implement deep learning to enable your robot to recognize its surroundings
Who this book is for
If you are an engineer looking to build AI-powered robots using the ROS framework, this book is for you. Robotics enthusiasts and hobbyists who want to develop their own ROS robotics projects will also find this book useful. Knowledge of Python and/or C++ programming and familiarity with single board computers such as Raspberry Pi is necessary to get the most out of this book.
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
- Section 1: Physical Robot Assembly and Testing
- Assembling the Robot
- Unit Testing of GoPiGo3
- Getting Started with ROS
- Section 2: Robot Simulation with Gazebo
- Creating the Virtual Two-Wheeled ROS Robot
- Simulating Robot Behavior with Gazebo
- Section 3: Autonomous Navigation Using SLAM
-
Programming in ROS - Commands and Tools
- Technical requirements
- Setting up a physical robot
- A quick introduction to ROS programming
-
Case study 1 – writing a ROS distance-sensor package
- Creating a new package
-
Producing your source code
- Including the required libraries – rospy and msgs.msg
- Assigning a node name to the script
- Defining the publisher
- Setting up the msg_range object
- Changing units to the International System of Units
- Adding a measured distance and timestamp to the msg_range object
- Setting the reading frequency
- Running an infinite loop
- Publishing each new event
- Waiting until the next reading
- Launching the ROS execution environment
- Working with ROS commands
- Creating and running publisher and subscriber nodes
- Automating the execution of nodes using roslaunch
- Case study 2 – ROS GUI development tools – the Pi Camera
- Customizing robot features using ROS parameters
- Summary
- Questions
- Further reading
- Robot Control and Simulation
- Virtual SLAM and Navigation Using Gazebo
- SLAM for Robot Navigation
- Section 4: Adaptive Robot Behavior Using Machine Learning
- Applying Machine Learning in Robotics
-
Machine Learning with OpenAI Gym
- Technical requirements
- An introduction to OpenAI Gym
- Running an environment
- Configuring the environment file
- Running the simulation and plotting the results
- Summary
- Questions
- Further reading
- Achieve a Goal through Reinforcement Learning
-
Assessment
- Chapter 1: Assembling the Robot
- Chapter 2: Unit Testing of GoPiGo3
- Chapter 3: Getting Started with ROS
- Chapter 4: Creating the Virtual Two-Wheeled ROS Robot
- Chapter 5: Simulating Robot Behavior with Gazebo
- Chapter 6: Programming in ROS - Commands and Tools
- Chapter 7: Robot Control and Simulation
- Chapter 8: Virtual SLAM and Navigation Using Gazebo
- Chapter 9: SLAM for Robot Navigation
- Chapter 10: Applying Machine Learning in Robotics
- Chapter 11: Machine Learning with OpenAI Gym
- Chapter 12: Achieve a Goal through Reinforcement Learning
- Other Books You May Enjoy
Product information
- Title: Hands-On ROS for Robotics Programming
- Author(s):
- Release date: February 2020
- Publisher(s): Packt Publishing
- ISBN: 9781838551308
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
Mastering ROS for Robotics Programming - Second Edition
Discover best practices and troubleshooting solutions when working on ROS About This Book Develop complex robotic …
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
ROS Robotics By Example
Bring life to your robot using ROS robotic applications About This Book This book will help …