Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page Copyright and Credits
Hands-On ROS for Robotics Programming
About Packt
Why subscribe?
Contributors
About the author About the reviewers Packt is searching for authors like you
Preface
Who this book is for What this book covers To get the most out of this book
Download the example code files Download the color images Code in Action Conventions used
Get in touch
Reviews
Section 1: Physical Robot Assembly and Testing Assembling the Robot
Understanding the GoPiGo3 robot
The robotics perspective The programming perspective Robot kit and resources
Getting familiar with the embedded hardware
The GoPiGo3 board  Raspberry Pi 3B+ Why does a robot need a CPU?
Deep diving into the electromechanics
The most useful sensors
Distance sensor Line follower IMU sensor Pi Camera
Putting it all together Quick hardware test
Resources Getting started with DexterOS Coding with Bloxter Calibrating the robot Driving the robot Checking the sensors Shutting down the robot
Summary Questions Further reading
Unit Testing of GoPiGo3
Technical requirements Getting started with Python and JupyterLab
Launching JupyterLab for GoPiGo3 Hardware testing
Testing battery, LEDs, and motors/encoders
Battery level Hardware information and current voltage levels LEDs and blinkers Motors and encoders test
Unit testing of sensors and drives
Quick start with sensors and motors Driving around Distance sensor
Check port connections Distance sensor unit test
GoPiGo3 API library DI sensors API library
Servo package
Servo package unit test
Line follower
Line follower unit test
Inertial Measurement Unit (IMU)
IMU unit test
Raspberry Pi
Pi unit test
GoPiGo3 projects
Summary Questions Further reading
Getting Started with ROS
Technical requirements ROS basic concepts
The ROS graph roscore Workspaces and catkin
Configuring your ROS development environment
Installing ROS
Ubuntu and ROS in the Raspberry Pi
Integrated Development Environment (IDE)
Installing RoboWare Studio
Communication between ROS nodes – messages and topics
Creating a workspace
Creating a workspace and building it using RoboWare
Setting up the ROS package
Accessing package files and building the workspace using RoboWare
A node publishing a topic A node that listens to the topic Combining the publisher and subscriber in the same node
Using publicly available packages for ROS Summary Questions Further reading
Section 2: Robot Simulation with Gazebo Creating the Virtual Two-Wheeled ROS Robot
Technical requirements Getting started with RViz for robot visualization Building a differential drive robot with URDF
Overview of URDF for GoPiGo3 URDF robot body
Caster
The URDF model's left and right wheels
Inspecting the GoPiGo3 model in ROS with RViz
Understanding the roslaunch command
Using Roboware to execute a launch file
Controlling the GoPiGo3 robot's wheels from RViz
Using the joint_state_publisher package
Robot frames of reference in the URDF model Using RViz to check the model while building
Changing the aspect of the model in the RViz window Helpful ROS tools for checking purposes
Summary Questions Further reading
Simulating Robot Behavior with Gazebo
Technical requirements Getting started with the Gazebo simulator Making modifications to the robot URDF
Extending URDF to produce an SDF robot definition Collisions and physical properties Gazebo tags
Verifying a Gazebo model and viewing the URDF
Launching the GoPiGo model in Gazebo
Explaining configurable launch files using the <arg> tag
Moving your model around
Guidelines for tuning the Gazebo model
Summary Questions Further reading
Section 3: Autonomous Navigation Using SLAM Programming in ROS - Commands and Tools
Technical requirements Setting up a physical robot
Downloading and setting up Ubuntu Mate 18.04  Access customization
Updating your system and installing basic utilities Enabling SSH access
Setting up a VNC server (x11vnc)
Setting up autostart on boot Forcing the HDMI output and screen layout
The Geany IDE Installing drivers for the GoPiGo3 and DI Sensors Setting up the Pi Camera Installing ROS Melodic
Installing a Pi Camera ROS package
A quick introduction to ROS programming
Setting up the workspace Cloning a ROS package Our first execution of a ROS node
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
Shell commands
Changing the current location Listing files and folders inside a package Editing any file inside a package
Execution commands
The central process of the ROS environment Executing a single node
Information commands
Exploring topics Exploring nodes The rosmsg command The rosbag command
Packages and the catkin workspace
Creating and running publisher and subscriber nodes Automating the execution of nodes using roslaunch Case study 2 – ROS GUI development tools – the Pi Camera 
Analyzing the ROS graph using rqt_graph Displaying image data using rqt_image_view Graphing time series of sensor data with rqt_plot Playing a recorded ROS session with rqt_bag 
Distance sensor The Pi Camera
Customizing robot features using ROS parameters Summary Questions Further reading
Robot Control and Simulation
Technical requirements Setting up the GoPiGo3 development environment
ROS networking between the robot and the remote computer
Communication between ROS environments
Robot network configuration Laptop network configuration
Launching the master node and connecting
Case study 3 – remote control using the keyboard
Running the gopigo3 node in the robot
Inspecting published topics and messages
Teleoperation package Running teleoperation on a laptop
Teleoperation with the mouse
Remote control using ROS topics
The motion control topic – /cmd_vel Using /cmd_vel to directly drive GoPiGo3 Checking the X, Y, and Z axes of GoPiGo3 Composing motions
Remotely controlling both physical and virtual robots
Reverting the ROS master to the local computer Simulating GoPiGo3 with Gazebo
Adding the controller to the Gazebo model of the robot
Real-world and simulation at once
Summary Questions Further reading
Virtual SLAM and Navigation Using Gazebo
Technical requirements
ROS navigation packages ROS master running on the local computer
Dynamic simulation using Gazebo
Adding sensors to the GoPiGo3 model
Camera model
Simulating the camera
Distance sensor
Simulating the distance sensor
Components in navigation
Costmaps for safe navigation
Robot perception and SLAM
Adding a Laser Distance Sensor (LDS)
Simulating the LDS
SLAM concepts
Occupancy Grid Map (OGM) The SLAM process The navigation process
Practising SLAM and navigation with the GoPiGo3
Exploring the environment to build a map using SLAM Driving along a planned trajectory using navigation
Summary Questions Further reading
SLAM for Robot Navigation
Technical requirements
Setting the ROS master to be in the robot
Preparing an LDS for your robot
Setting up YDLIDAR
Integrating with the remote PC Running the YDLIDAR ROS package
Integrating with Raspberry Pi
Checking that YDLIDAR works with GoPiGo3 Visualizing scan data in the Raspberry Pi desktop Grouping launch files Visualizing scan data from the remote laptop
Processing YDLIDAR data from a remote laptop
Creating a navigation application in ROS Practicing navigation with GoPiGo3
Building a map of the environment Navigating GoPiGo3 in the real world
Summary Questions Further reading
Section 4: Adaptive Robot Behavior Using Machine Learning Applying Machine Learning in Robotics
Technical requirements Setting up the system for TensorFlow
Installing pip
Installing the latest version
Installing TensorFlow and other dependencies Achieving better performance using the GPU
ML comes to robotics
Core concepts in ML
Selecting features in ML
The ML pipeline
From ML to deep learning
ML algorithms
Regression Logistic regression Product recommendation Clustering Deep learning
Deep learning and neural networks
The input layer The hidden layer(s) The output layer
A methodology to programmatically apply ML in robotics
A general approach to application programming Integrating an ML task
Deep learning applied to robotics – computer vision
Object recognition in Gazebo Object recognition in the real world
Summary Questions Further reading
Machine Learning with OpenAI Gym
Technical requirements An introduction to OpenAI Gym
Installing OpenAI Gym
Without Anaconda (optional) Installing gym in development mode (optional)
Installing OpenAI ROS Agents, artificial intelligence, and machine learning The cart pole example
Environments Spaces Observations Running the full cart pole example
Q-learning explained – the self-driving cab example
How to run the code for the self-driving cab Reward table Action space State space Self-driving cab example using the RL algorithm Evaluating the agent Hyperparameters and optimization
Running an environment Configuring the environment file Running the simulation and plotting the results
Checking your progress with the logger
Summary Questions Further reading
Achieve a Goal through Reinforcement Learning
Technical requirements Preparing the environment with TensorFlow, Keras, and Anaconda
TensorFlow backend Deep learning with Keras ROS dependency packages
Understanding the ROS Machine Learning packages
Training scenarios ROS package structure for running a reinforcement learning task
Setting the training task parameters Training GoPiGo3 to reach a target location while avoiding obstacles
How to run the simulations Scenario 1 – travel to a target location Scenario 2 – travel to a target location avoiding the obstacles
Testing the trained model
Summary Questions Further reading
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
Leave a review - let other readers know what you think
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion