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

Index
Learning ROS for Robotics Programming
Table of Contents Learning ROS for Robotics Programming Credits About the Authors About the Reviewers www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe? Free Access for Packt account holders
Preface
What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support
Downloading the example code Downloading the color images of this book Errata Piracy Questions
1. Getting Started with ROS
Installing ROS Electric – using repositories
Adding repositories to your sources.list file Setting up your keys Installation The environment setup
Installing ROS Fuerte – using repositories
Configuring your Ubuntu repositories Setting up your source.list file Setting up your keys Installation The environment setup Standalone tools
How to install VirtualBox and Ubuntu
Downloading VirtualBox Creating the virtual machine
Summary
2. The ROS Architecture with Examples
Understanding the ROS Filesystem level
Packages Stacks Messages Services
Understanding the ROS Computation Graph level
Nodes Topics Services Messages Bags Master Parameter Server
Understanding the ROS Community level Some tutorials to practice with ROS
Navigating through the ROS filesystem Creating our own workspace Creating an ROS package Building an ROS package Playing with ROS nodes Learning how to interact with topics Learning how to use services Using the Parameter Server Creating nodes Building the node Creating msg and srv files Using the new srv and msg files
Summary
3. Debugging and Visualization
Debugging ROS nodes
Using the GDB debugger with ROS nodes Attaching a node to GDB while launching ROS Enabling core dumps for ROS nodes
Debugging messages
Outputting a debug message Setting the debug message level Configuring the debugging level of a particular node Giving names to messages Conditional and filtered messages More messages – once, throttle, and combinations Using rosconsole and rxconsole to modify the debugging level on the fly
Inspecting what is going on
Listing nodes, topics, and services Inspecting the node's graph online with rxgraph
When something weird happens – roswtf! Plotting scalar data
Creating a time series plot with rxplot Other plotting utilities – rxtools
Visualization of images
Visualizing a single image FireWire cameras Working with stereo vision
3D visualization
Visualizing data on a 3D world using rviz The relationship between topics and frames Visualizing frame transformations
Saving and playing back data
What is a bag file? Recording data in a bag file with rosbag Playing back a bag file Inspecting all the topics and messages in a bag file using rxbag
rqt plugins versus rx applications Summary
4. Using Sensors and Actuators with ROS
Using a joystick or gamepad
How does joy_node send joystick movements? Using joystick data to move a turtle in turtlesim
Using a laser rangefinder – Hokuyo URG-04lx
Understanding how the laser sends data in ROS Accessing the laser data and modifying it
Creating a launch file
Using the Kinect sensor to view in 3D
How does Kinect send data from the sensors and how to see it? Creating an example to use Kinect
Using servomotors – Dynamixel
How does Dynamixel send and receive commands for the movements? Creating an example to use the servomotor
Using Arduino to add more sensors and actuators
Creating an example to use Arduino
Using the IMU – Xsens MTi
How does Xsens send data in ROS? Creating an example to use Xsens
Using a low-cost IMU – 10 degrees of freedom
Downloading the library for the accelerometer Programming Arduino Nano and the 10DOF sensor Creating a ROS node to use data from the 10DOF sensor
Summary
5. 3D Modeling and Simulation
A 3D model of our robot in ROS Creating our first URDF file
Explaining the file format Watching the 3D model on rviz Loading meshes to our models Making our robot model movable Physical and collision properties
Xacro – a better way to write our robot models
Using constants Using math Using macros Moving the robot with code 3D modeling with SketchUp
Simulation in ROS
Using our URDF 3D model in Gazebo Adding sensors to Gazebo Loading and using a map in Gazebo Moving the robot in Gazebo
Summary
6. Computer Vision
Connecting and running the camera
FireWire IEEE1394 cameras USB cameras
Making your own USB camera driver with OpenCV
Creating the USB camera driver package Using the ImageTransport API to publish the camera frames Dealing with OpenCV and ROS images using cv_bridge Publishing images with ImageTransport Using OpenCV in ROS Visualizing the camera input images
How to calibrate the camera
Stereo calibration
The ROS image pipeline
Image pipeline for stereo cameras
ROS packages useful for computer vision tasks Performing visual odometry with viso2
Camera pose calibration Running the viso2 online demo Running viso2 with our low-cost stereo camera
Summary
7. Navigation Stack – Robot Setups
The navigation stack in ROS Creating transforms
Creating a broadcaster Creating a listener Watching the transformation tree
Publishing sensor information
Creating the laser node
Publishing odometry information
How Gazebo creates the odometry Creating our own odometry
Creating a base controller
Using Gazebo to create the odometry Creating our base controller
Creating a map with ROS
Saving the map using map_server Loading the map using map_server
Summary
8. Navigation Stack – Beyond Setups
Creating a package Creating a robot configuration Configuring the costmaps (global_costmap) and (local_costmap)
Configuring the common parameters Configuring the global costmap Configuring the local costmap
Base local planner configuration Creating a launch file for the navigation stack Setting up rviz for the navigation stack
2D pose estimate 2D nav goal Static map Particle cloud Robot footprint Obstacles Inflated obstacles Global plan Local plan Planner plan Current goal
Adaptive Monte Carlo Localization (AMCL) Avoiding obstacles Sending goals Summary
9. Combining Everything – Learn by Doing
REEM – the humanoid of PAL Robotics
Installing REEM from the official repository Running REEM using the Gazebo simulator
PR2 – the Willow Garage robot
Installing the PR2 simulator Running PR2 in simulation Localization and mapping Running the demos of the PR2 simulator
Robonaut 2 – the dexterous humanoid of NASA
Installing the Robonaut 2 from the sources Running Robonaut 2 in the ISS fixed pedestal
Controlling the Robonaut 2 arms Controlling the robot easily with interactive markers Giving legs to Robonaut 2 Loading the ISS environment
Husky – the rover of Clearpath Robotics
Installing the Husky simulator Running Husky on simulation
TurtleBot – the low-cost mobile robot
Installing the TurtleBot simulation Running TurtleBot on simulation
Summary
Index
  • ← 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