Book Image

Learning ROS for Robotics Programming Second Edition

Book Image

Learning ROS for Robotics Programming Second Edition

Overview of this book

Table of Contents (27 chapters)
Learning ROS for Robotics Programming Second Edition
Credits
About the Author
Acknowledgments
About the Author
Acknowledgments
About the Author
Acknowledgments
About the Author
Acknowledgments
About the Reviewer
About the Reviewer
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • actionlib package
    • about / Sending goals
  • actuators
    • adding, Arduino used / Using Arduino to add more sensors and actuators
  • Adaptive Monte Carlo Localization
    • defining / Adaptive Monte Carlo Localization
    • URL / Adaptive Monte Carlo Localization
  • Allowed Collision Matrix (ACM)
    • about / Collision checking
  • amcl
    • URL / Adaptive Monte Carlo Localization
  • amcl (adaptive Monte Carlo localization) node
    • about / Loading the map using map_server
  • amcl algorithm
    • about / Adaptive Monte Carlo Localization
  • Analog-Digital Converter (ADC)
    • about / Writing your own USB camera driver with OpenCV
  • Arduino
    • used, for adding sensors / Using Arduino to add more sensors and actuators
    • used, for adding actuators / Using Arduino to add more sensors and actuators
    • URL / Using Arduino to add more sensors and actuators
    • example program / Creating an example program to use Arduino
    • ultrasound range sensor, using / Using an ultrasound range sensor with Arduino
    • URL, for libraries / Downloading the library for the accelerometer
  • Arduino Nano
    • URL / Using a low-cost IMU – 10 degrees of freedom
    • programming / Programming Arduino Nano and the 10 DOF sensor
  • ARToolkit
    • URL / ROS packages useful for Computer Vision tasks
  • ArUco
    • URL / Perception
  • ar_pose
    • URL / ROS packages useful for Computer Vision tasks
  • asymmetric circles
    • URL / Calibrating the camera
  • Augmented Reality (AR)
    • about / ROS packages useful for Computer Vision tasks

B

  • back data
    • saving / Saving and playing back data
    • playing / Saving and playing back data
    • bag file / What is a bag file?
    • recording, in bag file with rosbag / Recording data in a bag file with rosbag
  • bag file
    • about / What is a bag file?
    • data recording, with rosbag / Recording data in a bag file with rosbag
    • playing back / Playing back a bag file
    • topics, inspecting / Inspecting all the topics and messages in a bag file
    • messages, inspecting / Inspecting all the topics and messages in a bag file
  • bags
    • about / Understanding the ROS Computation Graph level, Bags
  • base controller
    • creating / Creating a base controller, Creating our base controller
  • BeagleBone Black
    • rosinstall, obtaining for / Getting rosinstall for BeagleBone Black
  • BeagleBone Black (BBB)
    • about / Installing ROS
  • Beaglebone Black memory file system
    • URL / Prerequisites
  • broadcaster
    • creating / Creating a broadcaster
  • Bug Ticket System
    • about / Understanding the ROS Community level
  • Build space / The workspace

C

  • callback function
    • about / Filtering and downsampling
  • camera
    • connecting / Connecting and running the camera
    • running / Connecting and running the camera
    • FireWire IEEE1394 cameras / FireWire IEEE1394 cameras
    • USB cameras / USB cameras
    • calibrating / Calibrating the camera
    • stereo calibration / Stereo calibration
  • camera calibration
    • URL / Calibrating the camera
  • camera input images
    • visualizing / Visualizing the camera input images
  • camera_pose stack
    • URL / Camera pose calibration
  • collision checking
    • about / Collision checking
  • commands, rosbash package
    • roscd / Packages
    • rosed / Packages
    • roscp / Packages
    • rosd / Packages
    • rosls / Packages
  • commands, rosnode tool
    • rosnode info NODE / Nodes and nodelets
    • rosnode kill NODE / Nodes and nodelets
    • rosnode list / Nodes and nodelets
    • rosnode machine hostname / Nodes and nodelets
    • rosnode ping NODE / Nodes and nodelets
    • rosnode cleanup / Nodes and nodelets
  • commands, rosservice tool
    • rosservice call /service args / Services
    • rosservice find msg-type / Services
    • rosservice info /service / Services
    • rosservice list / Services
    • rosservice type /service / Services
    • rosservice uri /service / Services
  • conditional messages
    • about / Conditional and filtered messages
  • core dumps
    • enabling / Enabling core dumps for ROS nodes
  • costmaps
    • configuring / Configuring the costmaps – global_costmap and local_costmap
    • global_costmap, defining / Configuring the costmaps – global_costmap and local_costmap
    • local_costmap, defining / Configuring the costmaps – global_costmap and local_costmap
    • common parameters, configuring / Configuring the common parameters
    • global costmap, configuring / Configuring the global costmap
    • local costmap, configuring / Configuring the local costmap
    • base local planner configuration / Base local planner configuration
  • cost_scaling_factor attribute
    • about / Configuring the common parameters
  • cv_bridge
    • OpenCV image, using with / Using OpenCV and ROS images with cv_bridge
    • ROS image, using with / Using OpenCV and ROS images with cv_bridge

D

  • 2D nav goal / The 2D nav goal
  • 2D pose estimate / The 2D pose estimate
  • 3D visualization
    • about / 3D visualization
    • data visualizing, with rqt_rviz / Visualizing data in a 3D world using rqt_rviz
    • topics / The relationship between topics and frames
    • frames / The relationship between topics and frames
    • frame transformations, visualizing / Visualizing frame transformations
  • 10 degrees of freedom (DoF)
    • about / Using a low-cost IMU – 10 degrees of freedom
    • ADXL345 / Using a low-cost IMU – 10 degrees of freedom
    • HMC5883L / Using a low-cost IMU – 10 degrees of freedom
    • BMP085 / Using a low-cost IMU – 10 degrees of freedom
    • L3G4200D / Using a low-cost IMU – 10 degrees of freedom
    • library, downloading for accelerometer / Downloading the library for the accelerometer
    • programming / Programming Arduino Nano and the 10 DOF sensor
    • ROS node, creating / Creating an ROS node to use data from the 10 DOF sensor
  • debug message level
    • setting / Setting the debug message level
    • configuring, of ROS nodes / Configuring the debugging level of a particular node
    • modifying, with rqt_logger_level / Using rqt_console and rqt_logger_level to modify the debugging level on the fly
    • modifying, with rqt_console / Using rqt_console and rqt_logger_level to modify the debugging level on the fly
  • Development (devel) space / The workspace
  • diffdrive_plugin.cpp file
    • URL / Using Gazebo to create the odometry
  • distance sensors
    • messages, sending / How distance sensors send messages
    • example / Creating an example to use the ultrasound range
  • downsampling
    • about / Filtering and downsampling
  • dynamic parameters
    • about / Dynamic parameters
    • setting / Setting dynamic parameters
  • Dynamic Reconfigure utility
    • about / Dynamic parameters
    • using / Dynamic parameters
  • Dynamixel
    • about / Using servomotors – Dynamixel
    • commands, sending / How does Dynamixel send and receive commands for the movements?
    • commands, receiving / How does Dynamixel send and receive commands for the movements?

E

  • error handling
    • about / When something weird happens

F

  • filtered messages
    • about / Conditional and filtered messages
  • filtering
    • about / Filtering and downsampling
  • Flexible Collision Library (FCL) package
    • about / Collision checking
  • footprint attribute
    • about / Configuring the common parameters
  • FOURCC format
    • URL / Writing your own USB camera driver with OpenCV
  • fovis
    • installing / Installing fovis
    • URL / Installing fovis
    • used, with Kinect RGBD camera / Using fovis with the Kinect RGBD camera
  • frames
    • and topics, relationship between / The relationship between topics and frames
    • frame transformations, visualizing / Visualizing frame transformations
  • Frames Per Second (FPS)
    • about / Writing your own USB camera driver with OpenCV

G

  • gamepad
    • using / Using a joystick or a gamepad
  • Gazebo
    • URL / Simulation in ROS
    • about / Simulation in ROS
    • used, for creating odometry / How Gazebo creates the odometry, Using Gazebo to create the odometry
    • MoveIt!, integrating / Integration into Gazebo or a real robotic arm
    • pick and place task, simulation / Simulation in Gazebo
  • gazebo_plugins package
    • URL / How Gazebo creates the odometry
  • GDB debugger
    • used, for debugging ROS nodes / Using the GDB debugger with ROS nodes
    • ROS nodes, attaching / Attaching a node to GDB while launching ROS
  • general purpose input/output (GPIO) pins / Installing ROS Hydro in BeagleBone Black (BBB)
  • global costmap / The global costmap
  • global plan / The global plan
  • Global Positioning System (GPS)
    • using / Using a GPS system
    • messages, sending / How GPS sends messages
    • example project / Creating an example project to use GPS
  • goals
    • sending / Sending goals

H

  • HC-SR04
    • about / Using an ultrasound range sensor with Arduino
  • Hokuyo URG-04lx
    • about / Using a laser rangefinder – Hokuyo URG-04lx
    • URL / Using a laser rangefinder – Hokuyo URG-04lx
  • holonomic vehicle
    • about / Base local planner configuration
  • homography, of two images
    • computing / Computing the homography of two images

I

  • images
    • publishing, with image transport / Publishing images with image transport
  • image transport
    • images, publishing with / Publishing images with image transport
  • image visualization
    • about / Image visualization
    • single image, visualizing / Visualizing a single image
  • IMU
    • Xsens MTi / Using the IMU – Xsens MTi
    • about / Using the IMU – Xsens MTi
    • using / Using the IMU – Xsens MTi
  • inflation_radius attribute
    • about / Configuring the common parameters

J

  • joystick
    • using / Using a joystick or a gamepad
    • joy_node, using / How does joy_node send joystick movements?
    • data, used for creating movements / Using joystick data to move a turtle in turtlesim

K

  • Kinect RGBD camera
    • fovis, using with / Using fovis with the Kinect RGBD camera
  • Kinect sensor
    • using / Using the Kinect sensor to view objects in 3D
    • about / Using the Kinect sensor to view objects in 3D
    • data, sending from sensors / How does Kinect send data from the sensors, and how do we see it?
    • example / Creating an example to use Kinect
  • kinematics
    • about / Kinematics

L

  • Laser Imaging, Detection, and Ranging (LIDAR)
    • about / Creating a robot configuration
  • laser rangefinder
    • using / Using a laser rangefinder – Hokuyo URG-04lx
    • Hokuyo URG-04lx / Using a laser rangefinder – Hokuyo URG-04lx
    • data, sending / Understanding how the laser sends data in ROS
    • laser data, accessing / Accessing the laser data and modifying it
    • laser data, modifying / Accessing the laser data and modifying it
    • launch file, creating / Creating a launch file
  • launch file
    • about / The launch file
    • launching / The launch file
    • creating, for navigation stack / Creating a launch file for the navigation stack
  • libfovis
    • URL / ROS packages useful for Computer Vision tasks
  • libviso2
    • URL / ROS packages useful for Computer Vision tasks
  • listener
    • creating / Creating a listener
  • local costmap / The local costmap
  • local plan / The local plan
  • logging message
    • about / Logging messages
    • outputting / Outputting a logging message
    • debug message level, setting / Setting the debug message level
    • debug message level, configuring / Configuring the debugging level of a particular node
    • naming / Giving names to messages
    • conditional messages / Conditional and filtered messages
    • filtered messages / Conditional and filtered messages
    • displaying / Showing messages in the once, throttle, and other combinations
    • rqt_console, using / Using rqt_console and rqt_logger_level to modify the debugging level on the fly
    • rqt_logger_level, using / Using rqt_console and rqt_logger_level to modify the debugging level on the fly
  • Long-Term Support (LTS)
    • about / PC installation
  • low-cost IMU
    • about / Using a low-cost IMU – 10 degrees of freedom
    • using / Using a low-cost IMU – 10 degrees of freedom
    • 10 degrees of freedom (DoF) / Using a low-cost IMU – 10 degrees of freedom

M

  • map
    • creating, with ROS / Creating a map with ROS
    • saving, map_server used / Saving the map using map_server
    • loading, map_server used / Loading the map using map_server
  • map_server
    • URL / Creating a map with ROS
    • used, for saving map / Saving the map using map_server
    • used, for loading map / Loading the map using map_server
  • master
    • about / Understanding the ROS Computation Graph level
  • message (msg) types
    • about / Understanding the ROS Filesystem level
  • message level / Setting the debug message level
    • DEBUG / Setting the debug message level
    • INFO / Setting the debug message level
    • WARN / Setting the debug message level
    • FATAL / Setting the debug message level
  • messages
    • about / Messages, Understanding the ROS Computation Graph level, Messages
  • message types, PCL
    • std_msgs$$Header / The PCL interface for ROS
    • sensor_msgs$$PointCloud2 / The PCL interface for ROS
    • pcl_msgs$$PointIndices / The PCL interface for ROS
    • pcl_msgs$$PolygonMesh / The PCL interface for ROS
    • pcl_msgs$$Vertices / The PCL interface for ROS
    • pcl_msgs$$ModelCoefficients / The PCL interface for ROS
  • metapackage
    • creating / Creating a ROS package and metapackage
  • metapackage manifests
    • about / Understanding the ROS Filesystem level
  • metapackages
    • about / Understanding the ROS Filesystem level, Metapackages
  • MicroStrain 3DM-GX2 IMU
    • URL / Using the IMU – Xsens MTi
  • migration rules, rosbuild
    • reference link / Metapackages
  • motion planning
    • about / Motion planning, Simple motion planning
    • constraints / Motion planning
    • goal, planning / Planning a single goal
    • random target, planning / Planning a random target
    • predefined group state, planning / Planning a predefined group state
    • target motion, displaying / Displaying the target motion
    • with point clouds / Motion planning with point clouds
  • motion planning, with collisions
    • about / Motion planning with collisions
    • objects, adding to planning scene / Adding objects to the planning scene
    • objects, removing from planning scene / Removing objects from the planning scene
  • motion planning adapters
    • FixStartStateBounds / Motion planning
    • FixWorkspaceBounds / Motion planning
    • FixStartStateCollision / Motion planning
    • FixStartStatePathConstraints / Motion planning
    • AddTimeParameterization / Motion planning
  • MoveIt!
    • architecture / The MoveIt! architecture
    • URL / The MoveIt! architecture, The planning scene
    • motion planning / Motion planning
    • planning scene / The planning scene
    • kinematics / Kinematics
    • collision checking / Collision checking
    • robotic arm, integrating / Integrating an arm in MoveIt!, What's in the box?
    • package generating, with setup assistant / Generating a MoveIt! package with the setup assistant
    • integrating, with RViz / Integration into RViz
    • integrating, into Gazebo / Integration into Gazebo or a real robotic arm
  • moveit_simple_grasps package
    • URL / Grasping
  • msg files
    • creating / Creating msg and srv files, Using the new srv and msg files

N

  • National Maritime Electronics Association (NMEA)
    • about / Using a GPS system
    • URL / Using a GPS system
  • navigation stack
    • launch file, creating for / Creating a launch file for the navigation stack
  • navigation stack, in ROS
    • about / The navigation stack in ROS
  • nodelets
    • about / Nodes and nodelets
  • nodes
    • about / Understanding the ROS Computation Graph level, Nodes and nodelets
    • creating / Creating nodes
    • building / Building the node

O

  • Object Recognition Kitchen (ORK)
    • about / ROS packages useful for Computer Vision tasks
    • URL / ROS packages useful for Computer Vision tasks
  • observation_sources attribute
    • about / Configuring the common parameters
  • obstacles
    • avoiding / Avoiding obstacles
  • Occupancy Grid Map (OGM)
    • about / Visualizing data in a 3D world using rqt_rviz, Creating a map with ROS
  • Octomap Updater
    • about / Motion planning with point clouds
  • odometry
    • creating, with Gazebo / How Gazebo creates the odometry
    • creating / Creating our own odometry
    • creating, Gazebo used / Using Gazebo to create the odometry
  • odometry information
    • publishing / Publishing odometry information
  • OMPL
    • URL / Motion planning
  • OpenCV
    • USB camera driver, writing with / Writing your own USB camera driver with OpenCV
    • using, in ROS / Using OpenCV in ROS
  • OpenCV image
    • using, with cv_bridge / Using OpenCV and ROS images with cv_bridge

P

  • .pgm format (portable gray map format)
    • about / Saving the map using map_server
  • package
    • creating / Creating a package
  • package manifests
    • about / Understanding the ROS Filesystem level
  • packages
    • about / Understanding the ROS Filesystem level, Packages
    • structure / Packages
  • parameters
    • listing / Listing nodes, topics, services, and parameters
    • modifying, with rqt_reconfigure / Modifying parameters with rqt_reconfigure
  • parameters, cameras
    • camera_index / Writing your own USB camera driver with OpenCV
    • frame_width / Writing your own USB camera driver with OpenCV
    • frame_height / Writing your own USB camera driver with OpenCV
    • fps / Writing your own USB camera driver with OpenCV
    • fourcc / Writing your own USB camera driver with OpenCV
    • brightness / Writing your own USB camera driver with OpenCV
    • contrast / Writing your own USB camera driver with OpenCV
    • saturation / Writing your own USB camera driver with OpenCV
    • hue / Writing your own USB camera driver with OpenCV
    • gain / Writing your own USB camera driver with OpenCV
    • exposure / Writing your own USB camera driver with OpenCV
    • frame_id / Writing your own USB camera driver with OpenCV
    • camera_info_url / Writing your own USB camera driver with OpenCV
  • parameters, rosmsg command-line tool
    • rosmsg show / Messages
    • rosmsg list / Messages
    • rosmsg package / Messages
    • rosmsg packages / Messages
    • rosmsg users / Messages
    • rosmsg md5 / Messages
  • parameters, rosparam tool
    • rosparam list / Parameter Server, Using Parameter Server
    • rosparam get parameter / Parameter Server
    • rosparam set parameter value / Parameter Server
    • rosparam delete parameter / Parameter Server, Using Parameter Server
    • rosparam dump file / Parameter Server, Using Parameter Server
    • rosparam load file / Parameter Server, Using Parameter Server
    • rosparam set parameter value / Using Parameter Server
    • rosparam get parameter / Using Parameter Server
  • parameters, rosservice tool
    • rosservice args /service / Learning how to use services
    • rosservice call /service / Learning how to use services
    • rosservice find msg-type / Learning how to use services
    • rosservice info /service / Learning how to use services
    • rosservice list / Learning how to use services
    • rosservice type /service / Learning how to use services
    • rosservice uri /service / Learning how to use services
  • parameters, rostopic tool
    • rostopic bw /topic / Topics
    • rostopic echo /topic / Topics
    • rostopic find message_type / Topics
    • rostopic hz /topic / Topics
    • rostopic info /topic / Topics
    • rostopic list / Topics, Learning how to interact with topics
    • rostopic pub /topic type args / Topics
    • rostopic type /topic / Topics
    • rostopic bw TOPIC / Learning how to interact with topics
    • rostopic echo TOPIC / Learning how to interact with topics
    • rostopic find TOPIC / Learning how to interact with topics
    • rostopic hz TOPIC / Learning how to interact with topics
    • rostopic info TOPIC / Learning how to interact with topics
    • rostopic pubs TOPIC / Learning how to interact with topics
    • rostopic type TOPIC / Learning how to interact with topics
  • Parameter Server
    • about / Understanding the ROS Computation Graph level, Parameter Server, Using Parameter Server
    • using / Using Parameter Server
  • particle cloud / The particle cloud
  • PCL programs
    • defining / My first PCL program
  • pick and place task
    • about / The pick and place task
    • planning scene / The planning scene
    • target object / The target object to grasp
    • support surface / The support surface
    • perception / Perception
    • grasping / Grasping
    • pickup action / The pickup action
    • place action / The place action
    • demo mode / The demo mode
    • simulation, in Gazebo / Simulation in Gazebo
  • planner plan / The planner plan
  • planning scene
    • about / The planning scene
    • objects, adding / Adding objects to the planning scene
    • objects, removing / Removing objects from the planning scene
  • PointCloud
    • creating / Creating point clouds
    • loading, to disk / Loading and saving point clouds to the disk
    • saving, to disk / Loading and saving point clouds to the disk
    • visualizing / Visualizing point clouds
    • partitioning / Partitioning point clouds
  • point cloud library
    • defining / Understanding the point cloud library
    • point cloud types / Different point cloud types
    • algorithms / Algorithms in PCL
    • PCL interface, for ROS / The PCL interface for ROS
  • Point Cloud Library (PCL)
    • reference link / Creating an example to use Kinect
  • point clouds
    • motion planning / Motion planning with point clouds
  • points, PCL
    • pcl$$PointXYZ / Different point cloud types
    • pcl$$PointXYZI / Different point cloud types
    • pcl$$PointXYZRGBA / Different point cloud types
    • pcl$$PointXYZRGB / Different point cloud types
    • pcl$$Normal / Different point cloud types
    • pcl$$PointNormal / Different point cloud types
  • PR2 (Willow Garage) / A 3D model of our robot in ROS
  • Printed Circuit Board (PCB)
    • about / Using an ultrasound range sensor with Arduino
  • public fields, point cloud
    • header / Understanding the point cloud library
    • points / Understanding the point cloud library
    • width / Understanding the point cloud library
    • height / Understanding the point cloud library
    • is_dense / Understanding the point cloud library
    • sensor_origin_ / Understanding the point cloud library
    • sensor_orientation_ / Understanding the point cloud library

R

  • RAndom SAmple Consensus (RANSAC)
    • about / Segmentation
  • Real Time Kinematics (RTK)
    • URL / Using a GPS system
  • registration and matching technique
    • about / Registration and matching
  • Remote Procedure Call (RPC)
    • about / Parameter Server
  • repositories
    • about / Understanding the ROS Community level
  • RGBD camera
    • visual odometry, performing with / Performing visual odometry with an RGBD camera
  • RoboEarth project
    • URL / ROS packages useful for Computer Vision tasks
  • Robonaut (NASA) / A 3D model of our robot in ROS
  • robot, navigation stack
    • requisites / The navigation stack in ROS
  • robot configuration
    • creating / Creating a robot configuration
  • robotic arm
    • integrating, in MoveIt! / Integrating an arm in MoveIt!, What's in the box?
  • ROS
    • tools / Packages
    • URL, for blog / Understanding the ROS Community level
    • OpenCV, using / Using OpenCV in ROS
    • 3D model, of robot / A 3D model of our robot in ROS
    • map, creating with / Creating a map with ROS
  • ROS Answers / Understanding the ROS Community level
  • rosbag
    • used, for recording data in bag file / Recording data in a bag file with rosbag
  • rosbash package
    • commands / Packages
  • ROS Community level
    • about / Understanding the ROS Community level
    • distributions / Understanding the ROS Community level
    • repositories / Understanding the ROS Community level
    • ROS Wiki / Understanding the ROS Community level
    • Bug Ticket System / Understanding the ROS Community level
    • mailing lists / Understanding the ROS Community level
    • ROS Answers / Understanding the ROS Community level
    • blog / Understanding the ROS Community level
  • ROS Computation Graph level
    • about / Understanding the ROS Computation Graph level
    • nodes / Understanding the ROS Computation Graph level, Nodes and nodelets
    • master / Understanding the ROS Computation Graph level, The ROS master
    • messages / Understanding the ROS Computation Graph level, Messages
    • topics / Understanding the ROS Computation Graph level, Topics
    • services / Understanding the ROS Computation Graph level, Services
    • bags / Understanding the ROS Computation Graph level, Bags
    • nodelets / Nodes and nodelets
    • Parameter Server / Parameter Server
  • ROS distributions
    • about / Understanding the ROS Community level
  • ROS Filesystem
    • navigating by / Navigating by ROS Filesystem
  • ROS Filesystem level
    • about / Understanding the ROS Filesystem level
    • packages / Understanding the ROS Filesystem level, Packages
    • package manifests / Understanding the ROS Filesystem level
    • metapackages / Understanding the ROS Filesystem level, Metapackages
    • metapackage manifests / Understanding the ROS Filesystem level
    • message (msg) types / Understanding the ROS Filesystem level
    • service (srv) types / Understanding the ROS Filesystem level
    • workspace / The workspace
    • messages / Messages
    • services / Services
  • ROS Fuerte
    • about / Understanding the ROS Filesystem level
  • ROS Hydro, installing in BeagleBone Black (BBB)
    • about / Installing ROS Hydro in BeagleBone Black (BBB)
    • prerequisites / Prerequisites
    • local machine, setting up / Setting up the local machine and source.list file
    • keys, setting up / Setting up your keys
    • ROS packages, installing / Installing the ROS packages
    • rosdep, initializing for ROS / Initializing rosdep for ROS
    • environment, setting / Setting up the environment in BeagleBone Black
  • ROS Hydro, installing with repositories
    • about / Installing ROS Hydro – using repositories
    • Ubuntu repositories, configuring / Configuring your Ubuntu repositories
    • source.list file, setting up / Setting up your source.list file
    • keys, setting up / Setting up your keys
    • ROS, installing / Installing ROS
    • rosdep, initializing / Initializing rosdep
    • environment, setting up / Setting up the environment
    • rosinstall, obtaining / Getting rosinstall
  • ROS image
    • using, with cv_bridge / Using OpenCV and ROS images with cv_bridge
  • ROS image pipeline
    • about / The ROS image pipeline
    • used, for stereo cameras / The image pipeline for stereo cameras
  • rosinstall
    • obtaining, for BeagleBone Black / Getting rosinstall for BeagleBone Black
  • ROS master
    • about / The ROS master
  • rosmsg command-line tool
    • parameters / Messages
  • ROS node
    • creating, for 10 DOF sensor / Creating an ROS node to use data from the 10 DOF sensor
  • ROS nodes
    • working with / Playing with ROS nodes
    • debugging / Debugging ROS nodes
    • debugging, GDB debugger used / Using the GDB debugger with ROS nodes
    • attaching, to GDB debugger / Attaching a node to GDB while launching ROS
    • profiling, with valgrind / Profiling a node with valgrind while launching ROS
    • core dumps, enabling / Enabling core dumps for ROS nodes
    • debug message level, configuring / Configuring the debugging level of a particular node
    • execution, inspecting / Inspecting what is going on
    • listing / Listing nodes, topics, services, and parameters
    • graph, inspecting online with rqt_graph / Inspecting the node's graph online with rqt_graph
    • diagnostics, visualizing / Visualizing node diagnostics
  • rosnode tool
    • commands / Nodes and nodelets
  • ROS package
    • creating / Creating a ROS package and metapackage
    • building / Building an ROS package
  • ROS packages
    • used, for for Computer Vision tasks / ROS packages useful for Computer Vision tasks
    • Visual Servoing / ROS packages useful for Computer Vision tasks
    • Augmented Reality / ROS packages useful for Computer Vision tasks
    • perception and object recognition / ROS packages useful for Computer Vision tasks
    • visual odometry / ROS packages useful for Computer Vision tasks
  • rosparam tool
    • parameters / Parameter Server, Using Parameter Server
  • rosservice tool
    • commands / Services
    • parameters / Learning how to use services
  • rostopic tool
    • parameters / Topics, Learning how to interact with topics
  • ROS user-mailing list
    • about / Understanding the ROS Community level
  • ROS version, for Ångström distribution
    • URL / Installing ROS Hydro in BeagleBone Black (BBB)
  • ROS Wiki
    • about / Understanding the ROS Community level
  • ROS wrapper
    • URL / Perception
  • rqt plugin
    • using / Using the rqt_gui and rqt plugins
  • rqt_console
    • used, for modifying debug message level / Using rqt_console and rqt_logger_level to modify the debugging level on the fly
  • rqt_graph
    • used, for inspecting graph of ROS nodes / Inspecting the node's graph online with rqt_graph
  • rqt_gui plugin
    • using / Using the rqt_gui and rqt plugins
  • rqt_logger_level
    • used, for modifying debug message level / Using rqt_console and rqt_logger_level to modify the debugging level on the fly
  • rqt_plot
    • time series plot, creating / Creating a time series plot with rqt_plot
  • rqt_reconfigure
    • parameters, modifying with / Modifying parameters with rqt_reconfigure
  • rqt_rviz
    • used, for visualizing data in 3D world / Visualizing data in a 3D world using rqt_rviz
  • RViz
    • MoveIt!, integrating / Integration into RViz
  • rviz, for navigation stack
    • setting up / Setting up rviz for the navigation stack
    • 2D pose estimate / The 2D pose estimate
    • 2D nav goal / The 2D nav goal
    • static map / The static map
    • particle cloud / The particle cloud
    • footprint, of robot / The robot's footprint
    • local costmap / The local costmap
    • global costmap / The global costmap
    • global plan / The global plan
    • local plan / The local plan
    • planner plan / The planner plan
    • current goal / The current goal

S

  • scalar data
    • plotting / Plotting scalar data
    • time series plot, creating with rqt_plot / Creating a time series plot with rqt_plot
  • segmentation
    • defining / Segmentation
  • sensor information
    • publishing / Publishing sensor information
    • laser node, creating / Creating the laser node
  • sensors
    • adding, Arduino used / Using Arduino to add more sensors and actuators
  • Serial Clock (SCK)
    • about / Using a low-cost IMU – 10 degrees of freedom
  • Serial Data Line (SDL)
    • about / Using a low-cost IMU – 10 degrees of freedom
  • service (srv) types
    • about / Understanding the ROS Filesystem level
  • services
    • about / Services, Understanding the ROS Computation Graph level, Services, Learning how to use services
    • using / Learning how to use services
    • listing / Listing nodes, topics, services, and parameters
  • servomotors
    • using / Using servomotors – Dynamixel
    • Dynamixel / Using servomotors – Dynamixel
    • example / Creating an example to use the servomotor
  • simulations, in ROS
    • creating / Simulation in ROS
    • URDF 3D model, using in Gazebo / Using our URDF 3D model in Gazebo
    • sensors, adding to Gazebo / Adding sensors to Gazebo
    • map, loading in Gazebo / Loading and using a map in Gazebo
    • map, using in Gazebo / Loading and using a map in Gazebo
    • robot, moving in Gazebo / Moving the robot in Gazebo
  • Singular Value Decomposition (SVD)
    • about / Registration and matching
  • SketchUp
    • about / 3D modeling with SketchUp
  • skid-steer robot / Moving the robot in Gazebo
  • Source space / The workspace
  • srv files
    • creating / Creating msg and srv files, Using the new srv and msg files
  • Stacks
    • about / Understanding the ROS Filesystem level
  • static map / The static map

T

  • TCPROS
    • about / Topics
  • tf (Transform Frames)
    • about / Creating transforms
  • time series plot
    • creating, with rqt_plot / Creating a time series plot with rqt_plot
  • tools, ROS
    • rospack / Packages
    • catkin_create_pkg / Packages
    • catkin_make / Packages
    • rosdep / Packages
    • rqt_dep / Packages
  • topics
    • about / Understanding the ROS Computation Graph level, Topics
    • interacting with / Learning how to interact with topics
    • listing / Listing nodes, topics, services, and parameters
    • and frames, relationship between / The relationship between topics and frames
  • transformation tree
    • observing / Watching the transformation tree
  • transforms
    • creating / Creating transforms
    • broadcaster, creating / Creating a broadcaster
    • listener, creating / Creating a listener
    • transformation tree, observing / Watching the transformation tree
  • Turtlesim
    • about / The workspace

U

  • Ubuntu
    • installing / How to install VirtualBox and Ubuntu
  • Ubuntu, with ROS Hydro
    • URL / Downloading VirtualBox
  • Ubuntu install, of ROS Hydro
    • URL / Configuring your Ubuntu repositories
  • Ubuntu installation, on Bealgebone Black
    • URL / Prerequisites
  • Ubuntu repositories
    • URL / Configuring your Ubuntu repositories
  • UDPROS
    • about / Topics
  • ultrasound range sensor
    • used, with Arduino / Using an ultrasound range sensor with Arduino
  • Unified Robot Description Format (URDF)
    • about / A 3D model of our robot in ROS
  • Universal Transverse Mercator (UTM)
    • about / How GPS sends messages
  • URDF file
    • creating / Creating our first URDF file
    • file format, explaining / Explaining the file format
    • 3D model, viewing on rviz / Watching the 3D model on rviz
    • meshes, loading to models / Loading meshes to our models
    • model, converting to robot / Making our robot model movable
    • collision properties / Physical and collision properties
    • physical properties / Physical and collision properties
  • USB camera driver
    • writing, with OpenCV / Writing your own USB camera driver with OpenCV

V

  • valgrind
    • used, for profiling ROS nodes / Profiling a node with valgrind while launching ROS
    • URL / Profiling a node with valgrind while launching ROS
  • VirtualBox
    • about / How to install VirtualBox and Ubuntu
    • installing / How to install VirtualBox and Ubuntu
    • downloading / Downloading VirtualBox
    • URL, for downloading / Downloading VirtualBox
  • virtual machine
    • creating / Creating the virtual machine
  • viso2
    • URL / Running the viso2 online demo
  • visual odometry
    • about / ROS packages useful for Computer Vision tasks
    • URL / ROS packages useful for Computer Vision tasks
    • references / ROS packages useful for Computer Vision tasks
    • used, with viso2 / Using visual odometry with viso2
    • camera pose calibration / Camera pose calibration
    • viso2 online demo, running / Running the viso2 online demo
    • viso2, running with low-cost stereo camera / Running viso2 with our low-cost stereo camera
    • performing, with RGBD camera / Performing visual odometry with an RGBD camera
  • Visual Servoing Platform (ViSP)
    • about / ROS packages useful for Computer Vision tasks
    • URL / ROS packages useful for Computer Vision tasks

W

  • Wiimote
    • URL / Using the IMU – Xsens MTi
  • workspace
    • about / The workspace
    • Source space / The workspace
    • Build space / The workspace
    • Development (devel) space / The workspace
    • creating / Creating our own workspace

X

  • Xacro
    • about / Xacro – a better way to write our robot models
    • constants, using / Using constants
    • math, using / Using math
    • macros, using / Using macros
    • robot, moving with code / Moving the robot with code
    • 3D modeling, with SketchUp / 3D modeling with SketchUp
  • XML Macros (Xacro)
    • about / Generating a MoveIt! package with the setup assistant
  • XMLRPC
    • about / Parameter Server
  • Xsens MTi
    • about / Using the IMU – Xsens MTi
    • data, sending / How does Xsens send data in ROS?
    • example / Creating an example to use Xsens