Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
ROS Programming: Building Powerful Robots

You're reading from   ROS Programming: Building Powerful Robots Design, build and simulate complex robots using the Robot Operating System

Arrow left icon
Product type Course
Published in Mar 2018
Publisher Packt
ISBN-13 9781788627436
Length
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Authors (5):
Arrow left icon
Anil Mahtani Anil Mahtani
Author Profile Icon Anil Mahtani
Anil Mahtani
Aaron Martinez Aaron Martinez
Author Profile Icon Aaron Martinez
Aaron Martinez
Lentin Joseph Lentin Joseph
Author Profile Icon Lentin Joseph
Lentin Joseph
Enrique Fernandez Perdomo Enrique Fernandez Perdomo
Author Profile Icon Enrique Fernandez Perdomo
Enrique Fernandez Perdomo
Luis S√°nchez Luis S√°nchez
Author Profile Icon Luis S√°nchez
Luis S√°nchez
+1 more Show less
Arrow right icon
View More author details
Toc

Table of Contents (37) Chapters Close

Title page
Copyright and Credits
Packt Upsell
Preface
1. Getting Started with ROS 2. ROS Architecture and Concepts FREE CHAPTER 3. Visualization and Debugging Tools 4. The Navigation Stack - Robot Setups 5. The Navigation Stack - Beyond Setups 6. Manipulation with MoveIt! 7. Using Sensors and Actuators with ROS 8. Computer Vision 9. Point Clouds 10. Working with 3D Robot Modeling in ROS 11. Simulating Robots Using ROS and Gazebo 12. Working with Pluginlib, Nodelets, and Gazebo Plugins 13. Writing ROS Controllers and Visualization Plugins 14. Interfacing I/O Boards, Sensors, and Actuators to ROS 15. Programming Vision Sensors using ROS, Open-CV, and PCL 16. Building and Interfacing Differential Drive Mobile Robot Hardware in ROS 17. Exploring the Advanced Capabilities of ROS-MoveIt! 18. ROS for Industrial Robots 19. Troubleshooting and Best Practices in ROS 20. Face Detection and Tracking Using ROS, OpenCV and Dynamixel Servos 21. Building a Siri-Like Chatbot in ROS 22. Controlling Embedded Boards Using ROS 23. Teleoperate a Robot Using Hand Gestures 24. Object Detection and Recognition 25. Deep Learning Using ROS and TensorFlow 26. ROS on MATLAB and Android 27. Building an Autonomous Mobile Robot 28. Creating a Self-Driving Car Using ROS 29. Teleoperating a Robot Using a VR Headset and Leap Motion 30. Controlling Your Robots over the Web 1. Bibliography
2. Other Books You May Enjoy Index

Index

A

  • ABB-IRB6640 robot
    • MoveIt! IKFast plugin, creating / Creating the MoveIt! IKFast plugin for the ABB-IRB6640 robot
  • ABB robots
    • MoveIt! configuration, working with / Working with MoveIt! configuration of ABB robots
    • visualizing, in RViz / Visualizing the ABB robot model in RViz
  • Accelerometer ADXL 335 / Arduino-ROS, example - AccelerometerADXL 335
  • actuators
    • adding, Arduino used / Using Arduino to add sensors and actuators
  • Adaptive Monte Carlo Localization (AMCL)
    • about / Adaptive Monte Carlo Localization, Configuring the Navigation stack for Chefbot, Mapping and localization
    • reference / Adaptive Monte Carlo Localization
  • ADAS systems
    • reference / Ultrasonic sensors
  • adb command / Building a ROS-VR Android application
  • advanced driving assistance system (ADAS) / Camera
  • AIML (Artificial Intelligence Markup Language) / Building social robots, Getting started with AIML
  • AIML ROS package
    • aiml_server node / The AIML ROS package
    • aiml_client node / The AIML ROS package
    • aiml_tts_client node / The AIML ROS package
    • aiml_speech_recognition_client node / The AIML ROS package
  • AIML tags
    • about / AIML tags
    • aiml / AIML tags
    • category / AIML tags
    • pattern / AIML tags
    • reference / AIML tags
  • algorithms, Point Cloud Library / Algorithms in PCL
  • AlphaGo
    • about / Deep learning for robotics
    • reference / Deep learning for robotics
  • AMCL / Understanding AMCL
  • analog-to-digital converter (ADC) / How to choose an Arduino board for your robot
  • Analog-to-Digital Converter (ADC) / Making your own USB camera driver with OpenCV
  • Android-ROS application
    • code / Code walkthrough
  • Android-ROS publisher-subscriber application / Android-ROS publisher-subscriber application
  • android-sdk
    • installing, from Ubuntu package manager / Installing android-sdk from the Ubuntu package manager
    • installing, from prebuilt binaries / Installing android-sdk from prebuilt binaries
  • Android core libraries
    • reference / Getting started with Android and its ROS interface
  • Android Debug Bridge / Building a ROS-VR Android application
  • Android device
    • ROS master, making / Making the Android device the ROS master
  • Android Package Kit (APK) / Getting started with Android and its ROS interface
  • Android phone
    • used, for teleoperating / Teleoperating using an Android phone
  • APK Editor
    • download link / Troubleshooting
  • Applanix module driver
    • reference / Interfacing GPS with ROS
  • Arduino
    • used, for adding sensors / Using Arduino to add sensors and actuators
    • used, for adding actuators / Using Arduino to add sensors and actuators
    • used, for controlling robot platform / Robot platform controlled by ROS and Arduino
    • robot motors, connecting to ROS / Connecting your robot motors to ROS using Arduino
    • used, for monitoring light / Monitoring light using Arduino and ROS
    • MPU-9250, interfacing with / Interfacing the MPU-9250 with the Arduino and ROS
  • Arduino-compatible boards / Getting started with STM32 and TI Launchpads
  • Arduino-ROS interface
    • about / Understanding the Arduino-ROS interface, What is the Arduino-ROS interface?
    • rosserial package / Understanding the rosserial package in ROS
    • blink LED / Arduino-ROS, example - blink LED and push button
    • push button / Arduino-ROS, example - blink LED and push button
    • Accelerometer ADXL 335 / Arduino-ROS, example - AccelerometerADXL 335
    • ultrasonic distance sensor / Arduino-ROS, example - ultrasonic distance sensor
    • Odometry Publisher / Arduino-ROS, example - Odometry Publisher
    • Non-Arduino boards, interfacing to ROS / Interfacing Non-Arduino boards to ROS
    • setting, on Odroid-C1 and Raspberry Pi 2 / Setting ROS on Odroid-C1 and RaspberryPi 2
    • OS image , installing to Odroid-C1 / How to install an OS image to Odroid-C1 and Raspberry Pi 2
    • Raspberry Pi 2, connecting from PC / Connecting to Odroid-C1 and Raspberry Pi 2 from a PC
    • Odroid-C1, connecting from PC / Connecting to Odroid-C1 and Raspberry Pi 2 from a PC
    • Ethernet hotspot, configuring / Configuring an Ethernet hotspot for Odroid-C1 and Raspberry Pi 2
    • blinking LED / Blinking LED using ROS on Odroid-C1 and Raspberry Pi 2
    • push button + blink LED / Push button + blink LED using ROS on Odroid-C1 and Raspberry Pi 2
  • Arduino boards
    • about / An introduction to Arduino boards
    • selecting, for robot / How to choose an Arduino board for your robot
    • speed / How to choose an Arduino board for your robot
    • GPIO pins / How to choose an Arduino board for your robot
    • voltage levels, working / How to choose an Arduino board for your robot
    • flash memory / How to choose an Arduino board for your robot
    • cost / How to choose an Arduino board for your robot
    • STM32 Launchpad / Getting started with STM32 and TI Launchpads
    • TI Launchpads / Getting started with STM32 and TI Launchpads
    • Tiva C Launchpad / The Tiva C Launchpad
    • reference / The Tiva C Launchpad
    • interfacing, with ROS / Interfacing Arduino with ROS
    • ROS, executing on Raspberry Pi board / Running ROS on Raspberry Pi and Odroid boards
    • ROS, executing on Odroid board / Running ROS on Raspberry Pi and Odroid boards
  • Arduino IDE
    • reference / Installing rosserial packages on Ubuntu 14.04/15.04, Interfacing Arduino with ROS
  • Arduino usage
    • example program, creating for / Creating an example program to use Arduino
  • Artificial Linguistic Internet Computer Entity (A.L.I.C.E.) / Getting started with AIML
  • ARToolkit
    • reference / ROS packages useful for Computer Vision tasks
  • ArUco
    • reference / Perception
  • ASIMOV Robotics
    • reference / Interfacing seven DOF Dynamixel based robotic arm to ROS MoveIt!
  • Astra camera
    • reference / Interfacing robot hardware with ROS
  • Asus Xtion pro / Including other xacro files
  • ATMega328 microcontroller / Using a low-cost IMU - 9 degrees of freedom
  • Auro robotics
    • reference / History of autonomous vehicles
    • about / History of autonomous vehicles
  • autonomous vehicles, history
    • levels of autonomy / Levels of autonomy
  • AX-12A
    • reference / Creating a ROS workspace for dependencies

B

  • bag file
    • about / What is a bag file?
    • data, recording in / Recording data in a bag file with rosbag
    • playing back / Playing back a bag file
    • topics, inspecting in / Inspecting all the topics and messages in a bag file
    • messages, inspecting in / Inspecting all the topics and messages in a bag file
  • bags / Understanding the ROS Computation Graph level, Bags
  • base controller
    • creating / Creating a base controller, Creating our base controller
  • base plate / The base plate
  • basic applications
    • creating, ROS-Android interface used / Creating basic applications using the ROS-Android interface
  • basic ROS functions, MATLAB / Basic ROS functions in MATLAB
  • BeagleBone Black (BBB)
    • about / Installing ROS
    • ROS, installing in / Installing ROS in BeagleBone Black
    • ROS example / Basic ROS example on the BeagleBone Black
  • Berkeley Vision and Learning Centre (BVLC) / Deep learning libraries
  • best practices
    • C++ coding style guide / ROS C++ coding style guide
  • blink LED / Arduino-ROS, example - blink LED and push button
  • block diagram, face_tracker_node
    • Face Haar classifier / Working with the face-tracking ROS package
    • track.yaml / Working with the face-tracking ROS package
    • usb_cam node / Working with the face-tracking ROS package
    • face_tracker_control package / Working with the face-tracking ROS package
  • broadcaster
    • creating / Creating a broadcaster
  • Buddy
    • about / Social robots
    • reference / Social robots
  • build space / The workspace

C

  • Caffe
    • about / Deep learning libraries
    • reference / Deep learning libraries
  • calibration pattern / Camera calibration, How to calibrate a camera
  • camera / Camera
  • camera input images
    • visualizing, with rqt_image_view / Visualizing the camera input images with rqt_image_view
  • camera pose calibration / Camera pose calibration
  • caster wheel design
    • about / The caster wheel design
    • reference / The caster wheel design
  • catkin_lint tool / Dealing with the unexpected
  • centroid / Understanding the face tracker code
  • Chefbot
    • about / Introduction to Chefbot- a DIY mobile robot and its hardware configuration
    • requirements / Introduction to Chefbot- a DIY mobile robot and its hardware configuration
    • hardware configuration / Introduction to Chefbot- a DIY mobile robot and its hardware configuration
    • firmware, flashing with Energia IDE / Flashing Chefbot firmware using Energia IDE
    • Navigation stack, configuring / Configuring the Navigation stack for Chefbot
    • simulating / Simulating Chefbot
    • URDF model, building / Building the URDF model of Chefbot
    • simulation, executing / Running the simulation
    • Gmapping in / Gmapping and localization in Chefbot
    • localization in / Gmapping and localization in Chefbot
  • Chefbot interface packages
    • on ROS / Discussing Chefbot interface packageson ROS
  • Chefbot ROS driver nodes
    • executing / Running Chefbot ROS driver nodes
  • Chefbot simulation
    • working with / Working with Chefbot simulation
    • room, building in Gazebo / Building a room in Gazebo
  • client package, ROS-Industrial robot
    • about / ROS-Industrial robot client package
    • industrial robot client nodes, designing / Designing industrial robot client nodes
  • Code Composer Studio (CCS) / Getting started with STM32 and TI Launchpads
  • coding styles
    • reference / ROS code documentation, Console output
  • COLLADA file, robot
    • creating, for working with OpenRave / Creating the COLLADA file of a robot to work with OpenRave
  • collision object
    • adding, in MoveIT! / Adding a collision object in MoveIt!
    • removing, from planning scene / Removing a collision object from the  planning scene
  • communication
    • to ROS network, from MATLAB / Communicating from MATLAB to a ROS network
  • conditional messages / Conditional and filtered messages
  • Continental ARS 300 radar (ARS)
    • reference / Continental ARS 300 radar (ARS)
  • controller package
    • creating, for cool arm robot / Creating a controller package for COOL arm robot
  • convolution neural network (CNN) / Introducing the Udacity open source self-driving car project
  • COOL arm-5000 / Interfacing seven DOF Dynamixel based robotic arm to ROS MoveIt!
  • COOL arm robot
    • controller package, creating / Creating a controller package for COOL arm robot
    • MoveIt! configuration / MoveIt! configuration of the COOL Arm
  • core dumps
    • enabling, for ROS nodes / Enabling core dumps for ROS nodes
  • costmap
    • configuring / 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
  • cuDNN
    • reference / Installing TensorFlow on Ubuntu 16.04 LTS

D

  • 2D models
    • building, of robot body / Building 2D and 3D models of the robot body
  • 3D meshes
    • object, recognizing / Detecting and recognizing objects from 3D meshes
    • object, detecting / Detecting and recognizing objects from 3D meshes
  • 3D models
    • used, for training object / Training using 3D models of an object
    • captured, from training / Training from captured 3D models
    • building, of robot body / Building 2D and 3D models of the robot body
  • 3D object recognition / Getting started with 3D object recognition
  • 3D object recognition packages
    • in ROS / Introduction to 3D object recognition packages in ROS
  • 3D viewer
    • creating, in web browser / Creating a 3D viewer inside a web browser
  • 3D visualization / 3D visualization
  • 9 Degree of Freedom (DoF) / Using a low-cost IMU - 9 degrees of freedom
  • Dagu encoders / Connecting encoders to your robot
  • DARPA Grand Challenge
    • about / History of autonomous vehicles
    • reference / History of autonomous vehicles
  • data
    • saving / Saving and playing back data
    • playing back / Saving and playing back data
    • recording, in bag file / Recording data in a bag file with rosbag
  • Dataspeed
    • reference / Interfacing a DBW car with ROS
  • DBW car
    • interfacing, with ROS / Interfacing a DBW car with ROS
    • packages, installing / Installing packages
    • self-driving cars, visualizing / Visualizing the self-driving car and sensor data
    • sensor data, visualizing / Visualizing the self-driving car and sensor data
    • communicating, from ROS / Communicating with DBW from ROS
  • DBW methods, of installation
    • reference / Installing packages
  • Debayer algorithm / FireWire IEEE1394 cameras
  • deep learning
    • about / Introduction to deep learning and its applications
    • applications / Introduction to deep learning and its applications
  • deep learning, for robotics
    • deep-learning-based object detector / Deep learning for robotics
    • speech recognition / Deep learning for robotics
    • SLAM and localization / Deep learning for robotics
    • autonomous vehicles / Deep learning for robotics
    • deep reinforcement learning / Deep learning for robotics
  • deep learning, libraries
    • about / Deep learning libraries
    • TensorFlow / Deep learning libraries
    • Theano / Deep learning libraries
    • Torch / Deep learning libraries
    • Caffe / Deep learning libraries
  • degrees of freedom (DOF) / Mathematical model of a differential drive robot
  • Delphi radar
    • reference / Delphi radar
  • Depth Image Occupancy Map Updater / Working with perception using MoveIt! and Gazebo
  • depthimage_to_laserscan
    • reference / OpenNI depth sensor
  • depth sensors
    • used, for executing find_object_2d nodes / Running find_object_2d nodes using depth sensors
  • design values / Design summary
  • development space / The workspace
  • Diagnostic Visualizer
    • reference / Playing with the Leap Motion visualizer tool
  • differential drive mobile robot
    • robot model, creating / Creating a robot model for the differential drive mobile robot
  • differential drive robot
    • mathematical model / Mathematical model of a differential drive robot
  • differential wheeled robot
    • simulating, in Gazebo / Simulating a differential wheeled robot in Gazebo
  • digital motion processor (DMP) / Setting up the project
  • disk dump (dd) / Installation in Linux
  • Disk Dump (DD) / Running ROS on Raspberry Pi and Odroid boards
  • distance measurement indicator (DMI) / GPS, IMU, and wheel encoders
  • Docker
    • about / Using ROS from a Docker image
    • reference / Using ROS from a Docker image
    • installing / Installing Docker
  • Docker hub
    • reference / Getting and using ROS Docker images and containers
  • Docker image
    • Robot Operating System (ROS), using from / Using ROS from a Docker image
  • DOF Dynamixel based robotic arm
    • interfacing, to ROS MoveIt! / Interfacing seven DOF Dynamixel based robotic arm to ROS MoveIt!
  • Doxygen
    • reference / ROS code documentation
  • drive-by-wire (DBW) / Software block diagram of self-driving cars
  • dynamic link libraries (.DLL) / Understanding pluginlib
  • dynamic parameters
    • about / Dynamic parameters
    • setting / Setting dynamic parameters
  • Dynamic Reconfigure utility / Dynamic parameters
  • Dynamixel
    • using / Using servomotors - Dynamixel
    • commands, receiving for movements / How does Dynamixel send and receive commands for the movements?
    • commands, sending for movements / How does Dynamixel send and receive commands for the movements?
    • interfacing, with ROS / Interfacing Dynamixel with ROS
  • Dynamixel actuators
    • interfacing / Interfacing Dynamixel actuators to ROS
    • reference / Interfacing Dynamixel actuators to ROS
  • Dynamixel ROS Servo controllers
    • used, for robot hardware interfacing / Understanding Dynamixel ROS Servo controllers for robot hardware interfacing
    • Dynamixel Servos / The Dynamixel Servos
    • Dynamixel-ROS interface / Dynamixel-ROS interface
  • Dynamixel Servos / The Dynamixel Servos

E

  • Eclipse IDE
    • setting up, on Ubuntu 14.04.3 / Setting up Eclipse IDE on Ubuntu 14.04.3
    • reference / Setting up Eclipse IDE on Ubuntu 14.04.3
    • ROS development environment, setting up / Setting ROS development environment in Eclipse IDE
    • global settings / Global settings in Eclipse IDE
    • ROS compile script / ROS compile script for Eclipse IDE
    • ROS Catkin package, adding / Adding ROS Catkin package to Eclipse
    • run configurations, adding / Adding run configurations to run ROS nodes in Eclipse
  • ELIZA / Getting started with AIML
  • embedded boards
    • used, in robots / Getting started with popular embedded boards
    • Arduino boards / An introduction to Arduino boards
    • Raspberry Pi board / Introducing the Raspberry Pi
    • Odroid board / The Odroid board
  • encoders
    • connecting, to robot / Connecting encoders to your robot
  • end-to-end deep learning
    • reference / Introducing the Udacity open source self-driving car project
  • Energia
    • about / The Tiva C Launchpad
    • reference / The Tiva C Launchpad, Interfacing Tiva C Launchpad boards with ROS using Energia, Programming the Tiva C Launchpad
  • Energia IDE
    • reference / Flashing Chefbot firmware using Energia IDE
    • used, for flashing Chefbot firmware / Flashing Chefbot firmware using Energia IDE
  • evaluation boards / Getting started with STM32 and TI Launchpads
  • Extended Kalman Filter (EKF) / Using robot localization to fuse sensor data in your robot

F

  • face-tracking ROS package
    • working with / Working with the face-tracking ROS package
  • Face Haar classifier / Working with the face-tracking ROS package
  • face tracker project
    • overview / Overview of the project
    • hardware requisites / Hardware and software prerequisites
    • software requisites / Hardware and software prerequisites
    • dependent ROS packages, installing / Installing dependent ROS packages
    • usb_cam ROS package, installing / Installing the usb_cam ROS package
    • ROS workspace, creating for dependencies / Creating a ROS workspace for dependencies
    • webcam, configuring on Ubuntu 16.04 / Creating a ROS workspace for dependencies
    • webcam, interfacing with ROS / Creating a ROS workspace for dependencies
    • Dynamixel servo, configuring with RoboPlus / Creating a ROS workspace for dependencies
    • Dynamixel, connecting to PC / Creating a ROS workspace for dependencies
    • Dynamixel, powering / Creating a ROS workspace for dependencies
    • USB-to-Dynamixel driver, setting up on PC / Creating a ROS workspace for dependencies
    • face_tracker_node, block diagram / Working with the face-tracking ROS package
    • face tracker code / Understanding the face tracker code
    • CMakeLists.txt file / Understanding CMakeLists.txt
    • track.yaml file / The track.yaml file
    • launch files, in ROS / The launch files
    • face tracker node, running / Running the face tracker node
    • face_tracker_control package / The face_tracker_control package
    • start_dynamixel launch file / The start_dynamixel launch file
    • pan controller launch file / The pan controller launch file
    • pan controller configuration file / The pan controller configuration file
    • servo parameters configuration file / The servo parameters configuration file
    • face tracker controller node / The face tracker controller node
    • CMakeLists.txt, creating / Creating CMakeLists.txt
    • face tracker control package, testing / Testing the face tracker control package
    • launch file, viewing / Bringing all the nodes together
    • bracket, fixing / Fixing the bracket and setting up the circuit
    • circuit, setting up / Fixing the bracket and setting up the circuit
    • final run / The final run
  • face tracker ROS packages
    • creating / Creating face tracker ROS packages
  • face_tracker_node
    • block diagram / Working with the face-tracking ROS package
  • FCL (Flexible Collision Library)
    • reference / Collision checking in robot arm using MoveIt!
  • field of view (FOV) / Camera
  • fields, point cloud
    • header / Understanding the PCL
    • points / Understanding the PCL
    • width / Understanding the PCL
    • height / Understanding the PCL
    • is_dense / Understanding the PCL
    • sensor_origin_ / Understanding the PCL
    • sensor_orientation_ / Understanding the PCL
  • filtered messages / Conditional and filtered messages
  • find_object_2d nodes
    • executing, webcams used / Running find_object_2d nodes using webcams
    • executing, depth sensors used / Running find_object_2d nodes using depth sensors
  • find_object_2d package
    • in ROS / The find_object_2d package in ROS
    • reference / The find_object_2d package in ROS
    • installing / Installing find_object_2d
    • installing, from source code / Installing from source code
    • find_object_2d nodes, executing webcams used / Running find_object_2d nodes using webcams
    • find_object_2d nodes, executing, depth sensors used / Running find_object_2d nodes using depth sensors
  • FireWire IEEE1394 cameras / FireWire IEEE1394 cameras
  • first-in-first-out (FIFO) / The Arduino-IMU interfacing code
  • flash memory / How to choose an Arduino board for your robot
  • Flexible Collision Library (FCL) / Collision checking
  • FOURCC format
    • reference / Making your own USB camera driver with OpenCV
  • fovis
    • installing / Installing fovis
    • using, with Kinetic RGBD camera / Using fovis with the Kinect RGBD camera
  • frames / The relationship between topics and frames
  • Frames Per Second (FPS) / Making your own USB camera driver with OpenCV
  • frame transformations
    • visualizing / Visualizing frame transformations
  • FTDI chip
    • reference / Creating a ROS workspace for dependencies
  • full automation / Levels of autonomy
  • full evaluation boards / Getting started with STM32 and TI Launchpads

G

  • gamepad
    • using / Using a joystick or a gamepad
  • Gazebo
    • odometry, creating / How Gazebo creates the odometry
    • used, for creating odometry / Using Gazebo to create the odometry
    • used, for simulating robotic arm / Simulating the robotic arm using Gazebo and ROS
    • Robotic arm simulation model / The Robotic arm simulation model for Gazebo
    • robot joints, moving with ROS controllers / Moving robot joints using ROS controllersin Gazebo
    • differential wheeled robot, simulating / Simulating a differential wheeled robot in Gazebo
    • laser scanner, adding / Adding the laser scanner to Gazebo
    • mobile robot, moving / Moving the mobile robot in Gazebo
    • perception, working with / Working with perception using MoveIt! and Gazebo
    • pick action / Pick and place action in Gazebo and real Robot
    • place action / Pick and place action in Gazebo and real Robot
    • self-driving cars, simulating with sensors / Simulating a self-driving car with sensors in Gazebo
    • interfacing / Working with the ROS-VR application and interfacing with Gazebo
  • Gazebo model folder
    • model files, adding / Adding model files to the Gazebo model folder
  • Gazebo plugins
    • about / Understanding the Gazebo plugins
    • creating / Creating a basic world plugin
    • reference / Creating a basic world plugin
  • GDB debugger
    • using, with ROS nodes / Using the GDB debugger with ROS nodes
  • general purpose input/output (GPIO) / How to choose an Arduino board for your robot
  • general purpose input/output (GPIO) pins / Installing ROS in BeagleBone Black
  • global costmap
    • configuring / Configuring the global costmap
  • Global Positioning System (GPS)
    • about / GPS, IMU, and wheel encoders
    • simulating, in Gazebo / Simulating GPS in Gazebo
    • interfacing, with ROS / Interfacing GPS with ROS
  • global_costmap / Configuring the costmaps - global_costmap and local_costmap
  • gmapping node
    • configuring / Configuring the gmapping node
  • GPS system
    • using / Using a GPS system
    • messages, sending / How GPS sends messages
    • example project, creating / Creating an example project to use GPS
  • graph / Graph

H

  • hand gestures
    • used, for teleoperating / Teleoperating using hand gestures
  • Hard kernel
    • reference / Setting ROS on Odroid-C1 and RaspberryPi 2
  • hardware components, face tracker project
    • purchase link / Hardware and software prerequisites
  • HDL-32E / Simulating the Velodyne LIDAR
  • hector SLAM
    • executing, robotic car used / Running hector SLAM using a robotic car
  • Hidden Markov Model (HMM) / Deep learning for robotics
  • high automation / Levels of autonomy
  • Hokuyo
    • reference / SICK LMS 5xx/1xx and Hokuyo LIDAR
    • about / SICK LMS 5xx/1xx and Hokuyo LIDAR
  • Hokuyo sensors
    • reference / Interfacing laser scanners with ROS
  • Hokuyo URG-04lx
    • using / Using a laser rangefinder - HokuyoURG-04lx
  • holonomic vehicle / Base local planner configuration
  • homography, of images
    • computing / Computing the homography of two images

I

  • iBall Face2Face
    • reference / Creating a ROS workspace for dependencies
  • IEEE 1394
    • reference / Interfacing cameras with ROS
  • IKFast / Kinematics
  • IKFast CPP file
    • generating, for IRB 6640 robot / Generating the IKFast CPP file for the IRB 6640 robot
  • image
    • visualizing / Image visualization, Visualizing a single image
    • publishing, with ImageTransport / Publishing images with ImageTransport
  • ImageNet
    • reference / Deep learning for robotics
  • ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
    • reference / Image recognition using ROS and TensorFlow
  • image pipeline
    • for stereo cameras / Image pipeline for stereo cameras
  • image processing
    • ROS package, creating / Step 1: Creating ROS package for the experiment
    • source files, creating / Step 2: Creating source files
    • code explanation / Step 3: Explanation of the code
  • image recognition
    • with ROS and TensorFlow / Image recognition using ROS and TensorFlow
    • reference / Image recognition using ROS and TensorFlow
    • prerequisites / Prerequisites
    • ROS image recognition node, downloading / The ROS image recognition node
    • ROS image recognition node, executing / Running the ROS image recognition node
  • ImageTransport
    • images, publishing / Publishing images with ImageTransport
  • image_transport
    • reference / The interface between ROS and OpenCV
  • IMU
    • Xsens MTi IMU / Xsens MTi IMU
    • simulating, on Gazebo / Simulating IMU on Gazebo
    • interfacing, with ROS / Interfacing IMUs with ROS
    • references / Interfacing IMUs with ROS
  • IMU data
    • converting, into twist messages / Converting IMU data into twist messages
  • IMU TF
    • visualizing, in Rviz / Visualizing IMU TF in Rviz
  • Inception-v3
    • reference / Image recognition using ROS and TensorFlow
    • download link / Running the ROS image recognition node
  • industrial robot
    • URDF, creating / Creating URDF for an industrial robot
    • MoveIt! configuration, creating / Creating MoveIt! configuration for an industrial robot
    • MoveIt! configuration files, updating / Updating the MoveIt! configuration files
    • MoveIt! configuration, testing / Testing the MoveIt! configuration
  • Inertial Measurement Unit (IMU) / Robot platform controlled by ROS and Arduino
  • inertial measurement unit (IMU) / GPS, IMU, and wheel encoders
  • Inter-Integrated Circuit (I2C)
    • about / How to choose an Arduino board for your robot
    • reference / Setting up the project
  • inter-process communication (IPC) / Software block diagram of self-driving cars
  • IRB 6640 robot
    • IKFast CPP file, creating / Generating the IKFast CPP file for the IRB 6640 robot
    • MoveIt! IKFast plugin, creating / Creating the MoveIt! IKFast plugin
  • Iterative Closest Point (ICP) / Registration and matching
  • Itseez
    • reference / The interface between ROS and OpenCV

J

  • Java Runtime Environment (JRE) / Setting up Eclipse IDE on Ubuntu 14.04.3
  • Jibo
    • about / Social robots
  • joints
    • types / Understanding robot modeling using URDF
  • joint state publishers
    • adding, in launch file / Adding joint state publishers in the launch file
  • joint_state_publisher_js
    • joint state publisher module, including / Including the joint state publisher module
    • joint state publisher object, creating / Creating the joint state publisher object
    • HTML division, creating for sliders / Creating an HTML division for sliders
  • joystick
    • using / Using a joystick or a gamepad
  • joystick data
    • used, for moving robot model / Using joystick data to move our robot model
  • joy_node
    • joystick movement, sending / How does joy_node send joystick movements?
  • jQuery
    • reference / Working of the project
  • JSON
    • reference / rosbridge_suite

K

  • kd-tree / Partitioning point clouds
  • keyboard
    • used, for teleoperating ROS Turtle / Teleoperating ROS Turtle using a keyboard
  • keyboardteleopjs
    • reference / Working of the project, Prerequisites
    • about / Working of the project, Prerequisites
  • Kinect RGBD camera
    • fovis, using with / Using fovis with the Kinect RGBD camera
  • Kinect sensor
    • used, for viewing objects in 3D / Using the Kinect sensor to view objects in 3D
  • Kinematic and Dynamics Library (KDL) / ROS packages for robot modeling
  • kinematics / Kinematics
  • Kinetic
    • data, sending from sensors / How does Kinect send data from the sensors, and how do we see it?
    • example, creating for / Creating an example to use Kinect
  • Kinetic sensor
    • used, for viewing objects in 3D / Using the Kinect sensor to view objects in 3D
  • Kismet / Social robots

L

  • Laser Imaging, Detection, and Ranging (LIDAR) / Creating a robot configuration
  • Laser Measurement System (LMS) / SICK LMS 5xx/1xx and Hokuyo LIDAR
  • laser node
    • creating / Creating the laser node
  • laser rangefinder
    • using / Using a laser rangefinder - HokuyoURG-04lx
    • data, sending in ROS / Understanding how the laser sends data in ROS
  • laser scanners
    • reference / SICK LMS 5xx/1xx and Hokuyo LIDAR
    • simulating / Simulating a laser scanner
    • interfacing, with ROS / Interfacing laser scanners with ROS
  • launch file
    • about / The launch file
    • creating, for navigation stack / Creating a launch file for the navigation stack
    • creating / Creating a launch file
  • Launchpad boards
    • reference / The Tiva C Launchpad
  • Leap Motion
    • about / Getting started with a VR headset and Leap Motion
    • prerequisites / Project prerequisites
    • working / Design and working of the project
    • design / Design and working of the project
  • Leap Motion controller
    • references / Getting started with a VR headset and Leap Motion
    • data, visualizing / Visualizing Leap Motion controller data
    • ROS driver, installing / Installing the ROS driver for the Leap Motion controller
    • used, for creating teleoperation node / Creating a teleoperation node using the Leap Motion controller
  • Leap Motion data
    • visualizing, in Rviz / Visualizing Leap Motion data in Rviz
  • Leap Motion PC Driver/SDK / Design and working of the project
  • Leap Motion ROS driver
    • testing / Testing the Leap Motion ROS driver
  • Leap Motion SDK
    • reference / Project prerequisites
    • installing, on Ubuntu 14.04.5 / Installing the Leap Motion SDK on Ubuntu 14.04.5
    • download link / Installing the Leap Motion SDK on Ubuntu 14.04.5
    • installation link / Installing the Leap Motion SDK on Ubuntu 14.04.5
    • Leap Motion controller, data visualizing / Visualizing Leap Motion controller data
    • Leap Motion visualizer tool, playing / Playing with the Leap Motion visualizer tool
    • ROS driver, installing, for Leap Motion controller / Installing the ROS driver for the Leap Motion controller
  • Leap Motion teleoperation
    • integrating / Integrating ROS-VR application and Leap Motion teleoperation
  • Leap Motion visualizer tool
    • playing / Playing with the Leap Motion visualizer tool
  • leap_client
    • reference link / Visualizing Leap Motion data in Rviz
  • LED blink demo
    • executing, on Raspberry Pi board / Running the LED blink demo on Raspberry Pi and Odroid
    • executing, on Odroid board / Running the LED blink demo on Raspberry Pi and Odroid
  • libfovis
    • reference / ROS packages useful for Computer Vision tasks
  • LibreCAD
    • reference / The top plate
  • libviso2
    • reference / ROS packages useful for Computer Vision tasks
  • light-dependent resistor (LDR) / Monitoring light using Arduino and ROS
  • Light Detection and Ranging (LIDAR)
    • about / LIDAR and RADAR
    • reference / LIDAR and RADAR, SICK LMS 5xx/1xx and Hokuyo LIDAR
    • Velodyne HDL-64 LIDAR / Velodyne HDL-64 LIDAR
    • SICK LMS 5xx/1xx / SICK LMS 5xx/1xx and Hokuyo LIDAR
    • Hokuyo LIDAR / SICK LMS 5xx/1xx and Hokuyo LIDAR
    • Continental ARS 300 radar (ARS) / Continental ARS 300 radar (ARS)
    • Delphi radar / Delphi radar
  • Lightweight Communications and Marshalling (LCM)
    • about / Software block diagram of self-driving cars
    • reference / Software block diagram of self-driving cars
  • LINE-MODE
    • reference / Installing ORK packages in ROS
  • listener
    • creating / Creating a listener
  • local costmap
    • configuring / Configuring the local costmap
  • local_costmap / Configuring the costmaps - global_costmap and local_costmap
  • logging messages
    • about / Logging messages
    • outputting / Outputting logging messages
    • debug message level, setting / Setting the debug message level
    • debugging level, configuring of node / Configuring the debugging level of a particular node
  • low-cost IMU
    • using / Using a low-cost IMU - 9 degrees of freedom
  • low-cost LIDAR sensors
    • Sweep LIDAR / Sweep LIDAR
    • RPLIDAR / RPLIDAR
  • Low-cost VR headset
    • reference / Project prerequisites

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 tool
    • reference / 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 / Understanding the ROS Computation Graph level
  • MATLAB
    • Robotics Toolbox, setting in / Setting Robotics Toolbox in MATLAB
    • basic ROS functions / Basic ROS functions in MATLAB
    • ROS robot, controlling from / Controlling a ROS robot from MATLAB
  • MATLAB ADAS toolbox
    • about / MATLAB ADAS toolbox
    • reference / MATLAB ADAS toolbox
  • MATLAB GUI application
    • designing / Designing the MATLAB GUI application
    • callbacks / Explaining callbacks
    • running / Running the application
  • mbed
    • reference / Getting started with STM32 and TI Launchpads
    • about / Getting started with STM32 and TI Launchpads
    • references / Interfacing STM32 boards to ROS using mbed
  • messages
    • about / Understanding the ROS Filesystem level, Messages, Understanding the ROS Computation Graph level, Messages
    • naming / Giving names to messages
    • conditional messages / Conditional and filtered messages
    • filtered messages / Conditional and filtered messages
    • displaying / Showing messages once, throttling, and other combinations
    • inspecting, in bag file / Inspecting all the topics and messages in a bag file
  • metapackage manifests / Understanding the ROS Filesystem level
  • metapackages / Understanding the ROS Filesystem level, Metapackages
  • MicroStrain 3DM-GX2
    • reference / Interfacing IMUs with ROS
  • middle plate design / Middle plate and top plate design
  • mjpegcanvasjs
    • reference / Prerequisites
    • about / Prerequisites
  • MobileEye
    • reference / Camera
  • model plugin / Understanding the Gazebo plugins
  • mono cameras
    • simulating, in Gazebo / Simulating stereo and mono cameras in Gazebo
  • motion planning
    • about / Motion planning
    • with collisions / Motion planning with collisions
    • with point clouds / Motion planning with point clouds
  • motor
    • interfacing, with Launchpad / Interfacing sensors and motors with the Launchpad
  • motor clamp design / The motor, wheel, and motor clamp design
  • motor RPM
    • calculation / Calculation of motor RPM
  • motor torque
    • computing / Computing motor torque
  • MoveIt!
    • robotic arm, integrating in / Integrating an arm in MoveIt!
    • used, for collision checking in robot arm / Collision checking in robot arm using MoveIt!
    • collision object, adding / Adding a collision object in MoveIt!
    • perception, working with / Working with perception using MoveIt! and Gazebo
    • used, for grasping / Grasping using MoveIt!
    • used, for working with place task / Working with robot pick and place task using MoveIt!
    • used, for working with robot pick / Working with robot pick and place task using MoveIt!
    • Grasp Table, creating / Creating Grasp Table and Grasp Object in MoveIt!
    • Grasp Object , creating / Creating Grasp Table and Grasp Object in MoveIt!
  • MoveIt! APIs
    • used, for checking self collision / Checking self collision using MoveIt! APIs
  • MoveIt! architecture
    • about / The MoveIt! architecture
    • reference / The MoveIt! architecture
    • motion planning / Motion planning
    • planning scene / The planning scene
    • world geometry monitor / World geometry monitor
    • kinematics / Kinematics
    • collision checking / Collision checking
  • MoveIt! C++ APIs
    • used, for motion planning random path / Motion planning a random path using MoveIt! C++ APIs
    • used, for motion planning custom path / Motion planning a custom path using MoveIt! C++ APIs
  • MoveIt! IKFast plugin
    • about / Understanding MoveIt! IKFast plugin, MoveIt! IK Fast
    • creating, for ABB-IRB6640 robot / Creating the MoveIt! IKFast plugin for the ABB-IRB6640 robot
    • developing, prerequisites / Prerequisites for developing the MoveIt!IKFast plugin
    • OpenRave / OpenRave and IK Fast Module
    • installing / Installing MoveIt! IKFast package
    • OpenRave, installing on Ubuntu 14.04.3 / Installing OpenRave on Ubuntu 14.04.3
  • MoveIt! integration
    • into RViz / Integration into RViz
    • into Gazebo / Integration into Gazebo or a real robotic arm
    • into real robotic arm / Integration into Gazebo or a real robotic arm
  • MoveIt! package
    • generating, with Setup Assistant / Generating a MoveIt! package with the Setup Assistant
  • move semantics / The PCL interface for ROS
  • move_group C++ interface
    • motion planning / Motion planning using the move_group C++ interface
  • MPU-9250
    • reference / Teleoperating using hand gestures
    • interfacing, with Arduino / Interfacing the MPU-9250 with the Arduino and ROS
    • interfacing, with ROS / Interfacing the MPU-9250 with the Arduino and ROS
  • MPU series
    • reference / Setting up the project
  • msg file
    • creating / Creating msg and srv files
    • using / Using the new srv and msg files

N

  • National Maritime Electronics Association (NMEA) / Using a GPS system
  • navigation stack
    • about / The navigation stack in ROS
    • launch file, creating for / Creating a launch file for the navigation stack
    • obstacles, avoiding / Avoiding obstacles
    • goals, sending / Sending goals
    • working with / Understanding RViz for working with the Navigation stack
    • used, for obstacle avoidance / Obstacle avoidance using the Navigation stack
    • goal, sending from ROS node / Sending a goal to the Navigation stack from a ROS node
  • Navigation stack packages configuration / Configuring the Navigation stack packages, Common configuration (local_costmap) and (global_costmap), Configuring global costmap parameters, Configuring local costmap parameters, Configuring base local planner parameters, Configuring DWA local planner parameters, Configuring move_base node parameters
  • nodelet manager / Step 7 - Building and running nodelets
  • nodelets / Nodes and nodelets
  • nodes
    • about / Understanding the ROS Computation Graph level, Nodes and nodelets
    • creating / Creating nodes
    • building / Building the node
    • attaching, to GDB on ROS launch / Attaching a node to GDB while launching ROS
    • profiling, with valgrind on ROS launch / Profiling a node with valgrind while launching ROS
  • nodes diagnostics
    • visualizing / Visualizing nodes diagnostics
  • Nvidia
    • reference / History of autonomous vehicles
  • NVIDIA-DGX-1
    • reference / History of autonomous vehicles
    • about / History of autonomous vehicles
  • NVIDIA GPU
    • reference / Installing TensorFlow on Ubuntu 16.04 LTS
  • Ångström / Installing ROS in BeagleBone Black

O

  • object
    • adding, to planning scene / Adding objects to the planning scene
    • removing, from planning scene / Removing objects from the planning scene
    • detecting, from 3D meshes / Detecting and recognizing objects from 3D meshes
    • recognizing, from 3D meshes / Detecting and recognizing objects from 3D meshes
    • 3D models, used for training / Training using 3D models of an object
    • 3D models, captured from training / Training from captured 3D models
    • recognizing / Recognizing objects
  • object detection / Getting started with object detection and recognition
  • object recognition
    • about / Getting started with object detection and recognition
    • reference / Installing ORK packages in ROS
  • Object Recognition Kitchen (ORK)
    • reference / ROS packages useful for Computer Vision tasks
    • about / Introduction to 3D object recognition packages in ROS
    • references / Introduction to 3D object recognition packages in ROS
  • Occupancy Grid Map (OGM) / Visualizing data in a 3D world using rqt_rviz, Creating a map with ROS
  • Occupany Map Updator plugin / Working with perception using MoveIt! and Gazebo
  • OctoMap
    • reference / Collision checking in robot arm using MoveIt!
  • Octomap Updater / Motion planning with point clouds
  • octree / Partitioning point clouds
  • Oculus SDK
    • reference / Troubleshooting the ROS-VR application
  • odometry
    • creating, Gazebo used / Using Gazebo to create the odometry
    • creating / Creating our own odometry
    • computing, from encoder ticks / Computing odometry from encoder ticks
  • odometry information
    • publishing / Publishing odometry information
  • Odroid-C1
    • OS image, installing / How to install an OS image to Odroid-C1 and Raspberry Pi 2
    • Wiring Pi, installing / Installing Wiring Pi on Odroid-C1
    • LED blink, running / Running LED blink in Odroid-C1
    • button handling, running / Running button handling and LED blink in Odroid-C1
    • LED blink / Running button handling and LED blink in Odroid-C1
  • Odroid-ROS images
    • download link / Running ROS on Raspberry Pi and Odroid boards
  • Odroid board
    • about / The Odroid board
    • reference / Interfacing Arduino with ROS
    • ROS, executing / Running ROS on Raspberry Pi and Odroid boards
    • connecting, to PC / Connecting Raspberry Pi and Odroid to PC
  • OMPL
    • reference / Motion planning
  • on-board computer / On-board computer
  • OpenCV
    • USB camera, making / Making your own USB camera driver with OpenCV
    • using, in ROS / OpenCV in ROS, Using OpenCV in ROS
  • OpenCV 3.0
    • installing / Installing OpenCV 3.0
  • Open Source Computer Vision (OpenCV)
    • about / The interface between ROS and OpenCV
    • reference / The interface between ROS and OpenCV
  • Orbbec Astra Pro
    • reference / OpenNI depth sensor
  • ORK packages
    • installing, in ROS / Installing ORK packages in ROS
  • OS image
    • installation, in Windows / Installation in Windows
    • installation, in Linux / Installation in Linux
  • Oxford Technical Solution (OxTS)
    • references / GPS, IMU, and wheel encoders
    • about / GPS, IMU, and wheel encoders

P

  • package manifests / Understanding the ROS Filesystem level
  • packages
    • about / Understanding the ROS Filesystem level, Packages
    • creating / Creating a package
  • parameters
    • modifying, with rqt_reconfigure / Modifying parameters with rqt_reconfigure
  • Parameter Server
    • about / Understanding the ROS Computation Graph level, Parameter Server
    • using / Using Parameter Server
  • parking assistance system (PAS) / Ultrasonic sensors
  • PCL interface
    • for ROS / The PCL interface for ROS
  • PCL program / My first PCL program
  • PCLVisualizer / Visualizing point clouds
  • Pepper
    • about / Social robots
    • reference / Social robots
  • physical and collision properties
    • adding, to URDF model / Adding physical and collision properties to a URDF model
  • pick and place task
    • about / The pick and place task
    • planning scene / The planning scene
    • target object to grasp / 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
  • place task
    • using / Working with robot pick and place task using MoveIt!
  • planning scene
    • objects, adding to / Adding objects to the planning scene
    • objects, removing from / Removing objects from the planning scene
  • pluginlib
    • about / Understanding pluginlib
    • used, for creating plugins for calculator / Creating plugins for the calculator application using pluginlib
  • pluginlib_calculator package
    • working with / Working with pluginlib_calculator package
    • calculator_base header file, creating / Step 1 - Creating calculator_base header file
    • calculator_plugins header file, creating / Step 2 - Creating calculator_plugins header file
    • plugins, exporting with calculator_plugins.cpp / Step 3 - Exporting plugins using calculator_plugins.cpp
    • plugin loader, implementing with calculator_loader.cpp / Step 4 - Implementing plugin loader using calculator_loader.cpp
    • plugin description file, creating / Step 5 - Creating plugin description file: calculator_plugins.xml
    • plugin, registering with ROS package system / Step 6 - Registering plugin with the ROS package system
    • CMakeLists.txt file, editing / Step 7 - Editing the CMakeLists.txt file
    • list of plugins, querying / Step 8: Querying the list of plugins in a package
    • plugin loader, executing / Step 9 - Running the plugin loader
  • plugins
    • creating, for calculator application using pliginlib / Creating plugins for the calculator application using pluginlib
  • point cloud library
    • reference / Understanding ROS - PCL interfacing packages
  • Point Cloud Library
    • about / Understanding the PCL
    • algorithms / Algorithms in PCL
    • registration and matching technique / Registration and matching
  • PointCloud Occupancy Map Updater / Working with perception using MoveIt! and Gazebo
  • point clouds
    • fields / Understanding the PCL
    • types / Different point cloud types
    • creating / Creating point clouds
    • visualizing / Creating point clouds, Visualizing point clouds
    • loading / Loading and saving point clouds to the disk
    • saving, to disk / Loading and saving point clouds to the disk
    • filtering / Filtering and downsampling
    • downsampling / Filtering and downsampling
    • partitioning / Partitioning point clouds
    • segmentation / Segmentation
  • Point Grey camera
    • about / Interfacing cameras with ROS
    • reference / Interfacing cameras with ROS
  • Point Grey Firefly (PGF) / Camera
  • pole / The pole and tube design
  • POS LV modules from Applanix
    • about / GPS, IMU, and wheel encoders
    • reference / GPS, IMU, and wheel encoders
  • pr2_controller_interface package
    • about / pr2_controller_interface package
    • initialization / Initialization of the controller
    • ROS controller, starting / Starting the ROS controller
    • ROS controller, updating / Updating ROS controller
    • ROS controller, stopping / Stopping the controller
  • pr2_mechanism packages
    • about / Understanding pr2_mechanism packages
    • pr2_controller_interface package / pr2_controller_interface package
    • pr2_controller_manager / pr2_controller_manager
  • prebuilt binaries
    • android-sdk, installing from / Installing android-sdk from prebuilt binaries
  • pulse width modulation (PWM) / How to choose an Arduino board for your robot
  • push button / Arduino-ROS, example - blink LED and push button
  • PyAIML
    • installing, on Ubuntu 16.04 LTS / Installing PyAIML on Ubuntu 16.04 LTS
    • working with / Playing with PyAIML
  • PyAIML interpreter / The PyAIML interpreter

R

  • Random Sample Consensus (RANSAC) / Segmentation, Detecting and recognizing objects from 3D meshes
  • Raspberry Pi
    • reference / Setting ROS on Odroid-C1 and RaspberryPi 2
  • Raspberry Pi 2
    • reference / Setting ROS on Odroid-C1 and RaspberryPi 2
    • OS image, installing / How to install an OS image to Odroid-C1 and Raspberry Pi 2
    • Wiring Pi, installing / Installing Wiring Pi on Raspberry Pi 2
    • LED blink, running / Running LED blink in Raspberry Pi 2
  • Raspberry Pi 2 images
    • download link / Running ROS on Raspberry Pi and Odroid boards
  • Raspberry Pi board
    • about / Introducing the Raspberry Pi
    • reference / How to choose a Raspberry Pi board for your robot
    • selecting, for robot / How to choose a Raspberry Pi board for your robot
    • ROS, executing / Running ROS on Raspberry Pi and Odroid boards
    • connecting, to PC / Connecting Raspberry Pi and Odroid to PC
  • Razor
    • data, sending in ROS / How does Razor send data in ROS?
  • Razor IMU ROS library
    • installing / Installing Razor IMU ROS library
  • real-time joint controller
    • package, creating / Step 1 – Creating controller package
    • controller header file, creating / Step 2 – Creating controller header file
    • source file, creating / Step 3 – Creating controller source file
    • source file / Step 4 – Explanation of the controllersource file
    • plugin description file, creating / Step 5 – Creating plugin description file
    • package.xml, updating / Step 6 – Updating package.xml
    • CMakeLists.txt, updating / Step 7 – Updating CMakeLists.txt
    • building / Step 8 – Building controller
    • configuration file, writing / Step 9 – Writing controller configuration file
    • launch file, writing / Step 10 – Writing launch file for the controller
    • executing, along with PR2 simulation in Gazebo / Step 11 – Running controller along with PR2 simulation in Gazebo
  • Real Time Kinematics (RTK) mode / Using a GPS system
  • region of interest (ROI) / Working with the face-tracking ROS package
  • Remote Procedure Call (RPC) protocol / Parameter Server
  • RGBD camera
    • visual odometry, performing with / Performing visual odometry with an RGBD camera
  • RoboEarth
    • reference / ROS packages useful for Computer Vision tasks
  • RoboPlus
    • reference / Creating a ROS workspace for dependencies
    • download link / Creating a ROS workspace for dependencies
  • robot
    • encoders, connecting to / Connecting encoders to your robot
    • specification / Robot specification and design overview
    • design, overview / Robot specification and design overview
    • motors, designing / Designing and selecting the motors and wheels for the robot
    • wheels, designing / Designing and selecting the motors and wheels for the robot
    • motors, selecting / Designing and selecting the motors and wheels for the robot
    • wheels, selecting / Designing and selecting the motors and wheels for the robot
    • motor torque, computing / Computing motor torque
    • motor RPM, calculation / Calculation of motor RPM
    • design values / Design summary
    • hardware, designing / Designing and building actual robot hardware
    • hardware, building / Designing and building actual robot hardware
    • motor driver / Motor and motor driver
    • motor / Motor and motor driver
    • motor encoders / Motor encoders
    • Tiva C Launchpad / Tiva C Launchpad
    • ultrasonic sensor / Ultrasonic sensor
    • MPU 6050 / Ultrasonic sensor
    • OpenNI depth sensor / OpenNI depth sensor
    • Intel NUC / Intel NUC
    • sensor, interfacing with Launchpad / Interfacing sensors and motors with the Launchpad
    • Tiva C Launchpad, programming / Programming the Tiva C Launchpad
  • robot 3D model
    • visualizing, in RViz / Visualizing the robot 3D model in RViz
    • pan joints, interacting with / Interacting with pan and tilt joints
    • tilt joints, interacting with / Interacting with pan and tilt joints
  • robot arm specification
    • about / Arm specification
    • joint types / Type of joints
  • robot body
    • 3D models, building / Building 2D and 3D models of the robot body
    • 2D models, building / Building 2D and 3D models of the robot body
    • base plate / The base plate
    • pole / The pole and tube design
    • tube design / The pole and tube design
    • motor / The motor, wheel, and motor clamp design
    • motor clamp design / The motor, wheel, and motor clamp design
    • wheel / The motor, wheel, and motor clamp design
    • caster wheel design / The caster wheel design
    • top plate design / Middle plate and top plate design, The top plate
    • middle plate design / Middle plate and top plate design
    • 3D modeling / 3D modeling of the robot
  • robot configuration
    • creating / Creating a robot configuration
  • robot description
    • robot arm specification / Arm specification
  • robot hardware
    • interfacing, with ROS / Interfacing robot hardware with ROS
    • Chefbot ROS driver nodes, executing / Running Chefbot ROS driver nodes
  • robot hardware interfacing
    • Dynamixel ROS Servo controllers / Understanding Dynamixel ROS Servo controllers for robot hardware interfacing
  • robotic arm, integration in MoveIt!
    • about / Integrating an arm in MoveIt!
    • packages / What's in the box?
  • robotic arm simulation
    • Xtion Pro, using / Simulating the robotic arm with Xtion Pro
    • 3D sensor data, visualizing / Visualizing the 3D sensor data
  • Robotic arm simulation model, for Gazebo
    • about / The Robotic arm simulation model for Gazebo
    • colors and textures, adding / Adding colors and textures to the Gazebo robot model
    • transmission tags, adding / Adding transmission tags to actuate the model
    • gazebo_ros_control plugin, adding / Adding the gazebo_ros_control plugin
    • 3D vision sensor, adding / Adding a 3D vision sensor to Gazebo
  • robotic car sensor data
    • visualizing / Visualizing robotic car sensor data
  • Robotics Toolbox
    • setting, in MATLAB / Setting Robotics Toolbox in MATLAB
  • ROBOTIS
    • reference / The Dynamixel Servos
  • robot joints
    • controlling, from web browser / Controlling robot joints from a web browser
    • joint_state_publisher_js, installing / Installing joint_state_publisher_js
    • web-based joint state publisher, executing / Running the web-based joint state publisher
  • robot localization
    • used, for fusing sensor data / Using robot localization to fuse sensor data in your robot
  • robot model
    • moving, joystick data used / Using joystick data to move our robot model
    • creating, for differential drive mobile robot / Creating a robot model for the differential drive mobile robot
    • simulating, in Gazebo / Simulating the robot model in Gazebo
  • robot modeling
    • ROS packages / ROS packages for robot modeling
    • urdf package, using / Understanding robot modeling using URDF
    • xacro, using / Understanding robot modeling using xacro
    • properties, using / Using properties
    • math expression, using / Using the math expression
    • macros, using / Using macros
  • Robot Operating System (ROS)
    • Ubuntu repositories, configuring / Configuring your Ubuntu repositories
    • source.list file setup / Setting up your source.list file
    • keys setup / Setting up your keys
    • installing / Installing ROS
    • environment setup / Setting up the environment
    • using, from Docker image / Using ROS from a Docker image
    • navigation stack / The navigation stack in ROS
    • map, creating / Creating a map with ROS
    • PCL interface / The PCL interface for ROS
    • Dynamixel, interfacing with / Interfacing Dynamixel with ROS
    • Arduino boards, interfacing with / Interfacing Arduino with ROS
    • used, for monitoring light / Monitoring light using Arduino and ROS
    • serial server, executing on PC / Running ROS serial server on PC
    • STM32 boards, interfacing mbed used / Interfacing STM32 boards to ROS using mbed
    • Tiva C Launchpad boards, interfacing Energia used / Interfacing Tiva C Launchpad boards with ROS using Energia
    • executing, on Raspberry Pi board / Running ROS on Raspberry Pi and Odroid boards
    • executing, on Odroid board / Running ROS on Raspberry Pi and Odroid boards
    • GPIO pins, controlling from / Controlling GPIO pins from ROS
    • MPU-9250, interfacing with / Interfacing the MPU-9250 with the Arduino and ROS
    • find_object_2d package / The find_object_2d package in ROS
    • 3D object recognition packages / Introduction to 3D object recognition packages in ROS
    • ORK packages, installing / Installing ORK packages in ROS
    • and TensorFlow, used for image recognition / Image recognition using ROS and TensorFlow
    • reference / Image recognition using ROS and TensorFlow
    • Velodyne sensors, interfacing / Interfacing Velodyne sensors with ROS
    • laser scanners, interfacing / Interfacing laser scanners with ROS
    • cameras, interfacing / Interfacing cameras with ROS
    • DBW car, communicating / Communicating with DBW from ROS
  • robot pick
    • working with, MoveIt! used / Working with robot pick and place task using MoveIt!
  • robot platform
    • controlling, ROS used / Robot platform controlled by ROS and Arduino
    • controlling, Arduino used / Robot platform controlled by ROS and Arduino
  • robot stand alone launch file
    • executing, with C++ nodes / Running robot stand alone launch file usingC++ nodes
  • robot teleoperating project
    • setting up / Setting up the project
    • Arduino-IMU interfacing code / The Arduino-IMU interfacing code
    • teleop tool, testing / Integration and final run
  • ROS
    • used, for controlling robot platform / Robot platform controlled by ROS and Arduino
    • OpenCV, using in / OpenCV in ROS, Using OpenCV in ROS
    • used, for simulating robotic arm / Simulating the robotic arm using Gazebo and ROS
    • Arduino Publisher and Subscriber example / ROS - Arduino Publisher and Subscriber example
    • USB webcams, interfacing / Interfacing USB webcams in ROS
    • Chefbot interface packages / Discussing Chefbot interface packageson ROS
    • best practices / Best practices in ROS
    • troubleshooting tips / Important troubleshooting tips in ROS
    • reference / Usage of roswtf
  • ROS-Android applications
    • working with / Playing with ROS-Android applications
    • troubleshooting / Troubleshooting
  • ROS-Android interface
    • installing / Installing the ROS-Android interface
    • used, for creating basic applications / Creating basic applications using the ROS-Android interface
  • ROS-Industrial packages
    • about / Understanding ROS-Industrial packages
    • BSD / Understanding ROS-Industrial packages
    • Apache 2.0 / Understanding ROS-Industrial packages
    • goals / Goals of ROS-Industrial
    • history / ROS-Industrial - a brief history
    • benefits / Benefits of ROS-Industrial
    • installing / Installing ROS-Industrial packages
    • block diagram / Block diagram of ROS-Industrial packages
  • ROS-Industrial robot
    • support packages / Understanding the ROS-Industrial robot support packages
    • driver package / ROS-Industrial robot driver package
  • ROS-MATLAB interface
    • about / Getting started with the ROS-MATLAB interface
    • features / Getting started with the ROS-MATLAB interface
  • ROS - OpenCV
    • interfacing packages / Understanding ROS - OpenCV interfacing packages
  • ROS-OpenCV interface / The interface between ROS and OpenCV
  • ROS - PCL interfacing packages
    • about / Understanding ROS - PCL interfacing packages
    • ROS perception, installing / Installing ROS perception
  • ROS-VR Android application
    • building / Building a ROS-VR Android application
    • working / Working with the ROS-VR application and interfacing with Gazebo
    • troubleshooting / Troubleshooting the ROS-VR application
    • integrating / Integrating ROS-VR application and Leap Motion teleoperation
  • ros2djs
    • reference / roslibjs, ros2djs, and ros3djs
    • about / roslibjs, ros2djs, and ros3djs
  • ros2djs APIs
    • reference / Setting up rosbridge client libraries
  • ros3djs
    • reference / roslibjs, ros2djs, and ros3djs
  • ros3djs APIs
    • reference / Setting up rosbridge client libraries
  • RosActivity / Getting started with Android and its ROS interface
  • ROS Android camera application / The ROS Android camera application
  • rosbag
    • data, recording in bag file / Recording data in a bag file with rosbag
  • rosbridge client libraries
    • setting up / Setting up rosbridge client libraries
  • rosbridge_server
    • connecting / Connecting to rosbridge_server
  • rosbridge_suite
    • about / rosbridge_suite
    • references / rosbridge_suite
    • rosbridge_library / rosbridge_suite
    • rosbridge_server / rosbridge_suite
    • rosapi / rosbridge_suite
    • installing / Installing rosbridge_suite
  • ROS C++ coding style guide
    • standard naming convention / Standard naming conventions used in ROS
    • code license agreement / Code license agreement
    • ROS code formatting / ROS code formatting
    • ROS code documentation / ROS code documentation
    • console output / Console output
  • ROS camera calibration
    • working with / Working with ROS camera calibration
    • about / Converting images between ROS and OpenCV using cv_bridge
    • image processing, using ROS and OpenCV / Image processing using ROS and OpenCV
  • ROS camera drivers support / ROS camera drivers support
  • ROS Cardboard
    • reference / Building a ROS-VR Android application
  • 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 / Nodes and nodelets
    • nodelets / Nodes and nodelets
    • topics / Topics
    • services / Services
    • messages / Messages
    • bags / Bags
    • ROS master / The ROS master
    • Parameter Server / Parameter Server
  • rosconsole
    • reference / Console output
  • ROS controllers
    • used, for moving robot joints / Moving robot joints using ROS controllersin Gazebo
    • ros_control packages / Understanding the ros_control packages
    • types / Different types of ROS controllers and hardware interfaces
    • interacting, with Gazebo / How the ROS controller interacts with Gazebo
    • joint state and joint position controllers, interfacing to arm / Interfacing joint state controllers and joint position controllers to the arm
    • launching, in Gazebo / Launching the ROS controllers with Gazebo
    • robot joints, moving / Moving the robot joints
    • real-time joint controller, writing / Writing a basic real-time joint controller in ROS
  • rosdep
    • initializing / Initializing rosdep
  • ROS Docker containers
    • obtaining / Getting and using ROS Docker images and containers
    • using / Getting and using ROS Docker images and containers
  • ROS Docker images
    • obtaining / Getting and using ROS Docker images and containers
    • using / Getting and using ROS Docker images and containers
  • ROS driver
    • references / Interfacing IMUs with ROS
    • installing, for Leap Motion controller / Installing the ROS driver for the Leap Motion controller
    • Leap Motion ROS driver, testing / Testing the Leap Motion ROS driver
  • ROS Dynamixel packages
    • reference / Interfacing Dynamixel with ROS
  • ROS dynamixel_motor packages
    • installing / Installing the ROS dynamixel_motor packages
  • ROS example
    • on BeagleBone Black / Basic ROS example on the BeagleBone Black
  • ROS Filesystem
    • about / Understanding the ROS Filesystem level
    • workspace / The workspace
    • packages / Packages
    • metapackages / Metapackages
    • messages / Messages
    • services / Services
  • ROS filesystem
    • navigating through / Navigating through the ROS filesystem
  • ROS Fuerte / Understanding the ROS Filesystem level
  • ROS image pipeline / The ROS image pipeline
  • ROS images / ROS images
  • ROS Indigo
    • reference / Interfacing STM32 boards to ROS using mbed, Project prerequisites
  • rosinstall
    • obtaining / Getting rosinstall
  • ROS installation, in BeagleBone Black
    • about / Installing ROS in BeagleBone Black
    • prerequisites / Prerequisites
    • local machine setup / Setting up the local machine and source.list file
    • source.list file setup / Setting up the local machine and source.list file
    • keys setup / Setting up your keys
    • ROS packages, installing / Installing the ROS packages
    • rosdep, initializing / Initializing rosdep for ROS
    • environment setup / Setting up the environment in the BeagleBone Black
    • rosinstall, obtaining / Getting rosinstall for BeagleBone Black
  • ROS Jade
    • reference / Interfacing STM32 boards to ROS using mbed
  • RosJava
    • reference / Getting started with Android and its ROS interface
  • rosjava
    • installing / Installing rosjava
    • installing, from Ubuntu package manager / Installing from the Ubuntu package manager
    • installing, from source code / Installing from source code
  • ROS Kinetic
    • reference / Configuring your Ubuntu repositories, Interfacing STM32 boards to ROS using mbed
    • ROS web packages, setting up on / Setting up ROS web packages on ROS Kinetic
    • tf2_web_republisher package, installing on / Installing tf2_web_republisher on ROS Kinetic
  • roslibjs
    • reference / roslibjs, ros2djs, and ros3djs
    • about / roslibjs, ros2djs, and ros3djs
  • roslibjs APIs
    • reference / Setting up rosbridge client libraries
  • ROS master / The ROS master
  • ROS message
    • listing / Listing ROS nodes, topics, and messages
  • ROS metapackage
    • creating / Creating an ROS package and metapackage
  • ROS network
    • initializing / Initializing a ROS network
  • ROS nodelets
    • about / Understanding ROS nodelets
    • creating / Creating a nodelet
    • package, creating / Step 1 - Creating a package for nodelet
    • hello_world.cpp nodelet / Step 2 - Creating hello_world.cpp nodelet
    • hello_world.cpp / Step 3 - Explanation of hello_world.cpp
    • plugin description file, creating / Step 4 - Creating plugin description file
    • export tag, adding in package.xml / Step 5 - Adding the export tag in package.xml
    • CMakeLists.txt, editing / Step 6 - Editing CMakeLists.txt
    • building / Step 7 - Building and running nodelets
    • running / Step 7 - Building and running nodelets
    • launch files, creating for nodelets / Step 8 - Creating launch files for nodelets
  • ROS nodes
    • working with / Playing with ROS nodes
    • debugging / Debugging ROS nodes
    • GDB debugger, using with / Using the GDB debugger with ROS nodes
    • core dumps, enabling for / Enabling core dumps for ROS nodes
    • creating, for data usage / Creating an ROS node to use data from the 9DoF sensor in our robot
    • listing / Listing ROS nodes, topics, and messages
  • ROS package
    • creating / Creating an ROS package and metapackage
    • building / Building an ROS package
    • robot_model / ROS packages for robot modeling
    • urdf / ROS packages for robot modeling
    • creating, for robot description / Creating the ROS package for the robot description
    • best practices / Best practices in the ROS package
    • creating, for blink demo / Creating a ROS package for the blink demo
  • ROS packages
    • for Computer Vision tasks / ROS packages useful for Computer Vision tasks
  • ROS robot
    • controlling, from MATLAB / Controlling a ROS robot from MATLAB
  • ROS Serial
    • about / Interfacing Arduino with ROS
    • reference / Interfacing Arduino with ROS
  • rosserial package
    • installing, on Ubuntu 14.04/15.04 / Installing rosserial packages on Ubuntu 14.04/15.04
    • ROS node APIs, in Arduino / Understanding ROS node APIs in Arduino
  • ROS teleop node
    • adding / Adding the ROS teleop node
  • ROS topics
    • listing / Listing ROS nodes, topics, and messages
  • ROS Turtle
    • teleoperating, keyboard used / Teleoperating ROS Turtle using a keyboard
  • ROS twist message
    • motor velocities, computing / Computing motor velocities from ROS twist message
  • ROS version, for Ångström distribution
    • installation link / Installing ROS in BeagleBone Black
  • ROS visualization tool (RViz)
    • about / Understanding ROS visualization tool (RViz) and its plugins
    • plugins / Understanding ROS visualization tool (RViz) and its plugins
    • Displays panel / Displays panel
    • RViz toolbar / RViz toolbar
    • views / Views
    • time panel / Time panel
    • dockable panels / Dockable panels
  • ROS web packages
    • about / Getting started with ROS web packages
    • rosbridge_suite / rosbridge_suite
    • roslibjs / roslibjs, ros2djs, and ros3djs
    • ros2djs / roslibjs, ros2djs, and ros3djs
    • ros3djs / roslibjs, ros2djs, and ros3djs
    • tf2_web_republisher package / The tf2_web_republisher package
    • setting up, on ROS Kinetic / Setting up ROS web packages on ROS Kinetic
    • rosbridge_suite, installing / Installing rosbridge_suite
    • rosbridge client libraries, setting up / Setting up rosbridge client libraries
  • ROS web tools
    • reference / Getting started with ROS web packages
  • roswtf
    • reference / Usage of roswtf
  • ros_control packages
    • about / Understanding ros_control packages
    • reference / Understanding ros_control packages
  • rotations per minute (RPM) / Calculation of motor RPM
  • RPLIDAR
    • references / RPLIDAR
  • rqt plugin
    • using / Using the rqt_gui and rqt plugins
  • rqt_console
    • used, for modifying logging level / Using rqt_console and rqt_logger_level to modify the logging level on the fly
  • rqt_graph
    • used, for inspecting node's graph online / Inspecting the node's graph online with rqt_graph
  • rqt_gui plugin
    • using / Using the rqt_gui and rqt plugins
  • rqt_image_view
    • camera input images, visualizing / Visualizing the camera input images with rqt_image_view
  • rqt_logger_level
    • used, for modifying logging level / Using rqt_console and rqt_logger_level to modify the logging 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
  • RT3000 v2 family
    • reference / GPS, IMU, and wheel encoders
  • Rviz
    • IMU TF, visualizing in / Visualizing IMU TF in Rviz
    • Leap Motion data, visualizing / Visualizing Leap Motion data in Rviz
  • RViz
    • robot 3D model, visualizing / Visualizing the robot 3D model in RViz
    • Navigation stack / Understanding RViz for working with the Navigation stack
    • 2D Pose Estimate button / 2D Pose Estimate button
    • particle cloud, visualizing / Visualizing the particle cloud
    • 2D Nav Goal button / The 2D Nav Goal button
    • static map, displaying / Displaying the static map
    • robot footprint, displaying / Displaying the robot footprint
    • global and local cost map, displaying / Displaying the global and local cost map
    • local plan / Displaying the global plan, local plan, and planner plan
    • planner plan / Displaying the global plan, local plan, and planner plan
    • global plan / Displaying the global plan, local plan, and planner plan
    • current goal / The current goal
  • RViz plugin
    • writing, for teleoperation / Writing a RViz plugin for teleoperation
    • building, methodology / Methodology of building RViz plugin
    • package, creating / Step 1 – Creating RViz plugin package
    • header file, creating / Step 2 – Creating RViz plugin header file
    • definition, creating / Step 3 – Creating RViz plugin definition
    • description file, creating / Step 4 – Creating plugin description file
    • export tags, adding in package.xml / Step 5 – Adding export tags in package.xml
    • CMakeLists.txt, editing / Step 6 – Editing CMakeLists.txt
    • loading / Step 7 – Building and loading plugins
    • building / Step 7 – Building and loading plugins
  • rviz setup, for navigation stack
    • about / 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
    • robot's footprint / 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
  • scikit-learn
    • about / Introducing to scikit-learn
    • reference / Introducing to scikit-learn
    • installing, on Ubuntu 16.04 LTS / Installing scikit-learn on Ubuntu 16.04 LTS
  • SciPy
    • reference / Introducing to scikit-learn
  • sdc-live-trainer
    • reference / Introducing the Udacity open source self-driving car project
  • Secure Shell (SSH) / Connecting Raspberry Pi and Odroid to PC
  • segmentation / Segmentation
  • self-driving cars
    • about / Getting started with self-driving cars
    • autonomous vehicles, history / History of autonomous vehicles
    • functional block diagram / Functional block diagram of a typical self-driving car
    • GPS / GPS, IMU, and wheel encoders
    • IMU / GPS, IMU, and wheel encoders
    • wheel encoders / GPS, IMU, and wheel encoders
    • camera / Camera
    • ultrasonic sensors / Ultrasonic sensors
    • Light Detection and Ranging (LIDAR) / LIDAR and RADAR
    • on-board computer / On-board computer
    • software block diagram / Software block diagram of self-driving cars
    • Velodyne LIDAR, simulating / Simulating the Velodyne LIDAR
    • Velodyne sensors, interfacing with ROS / Interfacing Velodyne sensors with ROS
    • laser scanner, simulating / Simulating a laser scanner
    • simulation code, explaining / Explaining the simulation code
    • laser scanners, interfacing with ROS / Interfacing laser scanners with ROS
    • stereo cameras, simulating in Gazebo / Simulating stereo and mono cameras in Gazebo
    • mono cameras, simulating in Gazebo / Simulating stereo and mono cameras in Gazebo
    • cameras, interfacing with ROS / Interfacing cameras with ROS
    • GPS, simulating in Gazebo / Simulating GPS in Gazebo
    • IMU, simulating on Gazebo / Simulating IMU on Gazebo
    • IMU, interfacing with ROS / Interfacing IMUs with ROS
    • ultrasonic sensor, simulating in Gazebo / Simulating an ultrasonic sensor in Gazebo
    • low-cost LIDAR sensors / Low-cost LIDAR sensors
    • simulating, with sensors in Gazebo / Simulating a self-driving car with sensors in Gazebo
    • prerequisites, installing / Installing prerequisites
    • robotic car sensor data, visualizing / Visualizing robotic car sensor data
    • moving, in Gazebo / Moving a self-driving car in Gazebo
    • hector SLAM executing, robotic car used / Running hector SLAM using a robotic car
    • visualizing / Visualizing the self-driving car and sensor data
  • Semantic Description Format (SDF) / Building a room in Gazebo
  • sensor data
    • visualizing / Visualizing the self-driving car and sensor data
  • sensor information
    • publishing / Publishing sensor information
  • sensor plugin / Understanding the Gazebo plugins
  • sensors
    • adding, Arduino used / Using Arduino to add sensors and actuators
  • serial data
    • sending, from LaunchPad to PC / Serial data sending protocol from LaunchPad to PC
    • sending, from PC to LaunchPad / Serial data sending protocol from PC to Launchpad
  • Serial Peripheral Interface (SPI) / How to choose an Arduino board for your robot
  • services
    • about / Understanding the ROS Filesystem level, Understanding the ROS Computation Graph level, Services
    • using / Learning how to use services
  • servometer
    • example, creating for / Creating an example to use the servomotor
  • servomotors
    • using / Using servomotors - Dynamixel
  • session / Session
  • Setup Assistant
    • MoveIt! package, generating / Generating a MoveIt! package with the Setup Assistant
  • seven DOF arm
    • xacro model / Explaining the xacro model of sevenDOF arm
    • viewing, in RViz / Viewing the seven DOF arm in RViz
    • joint state publisher / Understanding joint state publisher
    • robot state publisher / Understanding the robot state publisher
  • seven DOF robot manipulator
    • robot description, creating / Creating the robot description for a seven DOF robot manipulator
  • shared objects (.so) / Understanding pluginlib
  • SICK
    • reference / SICK LMS 5xx/1xx and Hokuyo LIDAR
  • SICK lasers
    • reference / Interfacing laser scanners with ROS
  • simple motion planning
    • about / Simple motion planning
    • single 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
  • simulation, Chefbot
    • mapping / Mapping and localization
    • localization / Mapping and localization
  • simulation code
    • explaining / Explaining the simulation code
  • Simultaneous Localization and Mapping (SLAM) / Mapping and localization
  • Singular Value Decomposition (SVD) / Registration and matching
  • Siri-Like Chatbot project
    • prerequisites / Prerequisites
    • PyAIML interpreter / The PyAIML interpreter
    • PyAIML, installing on Ubuntu 16.04 LTS / Installing PyAIML on Ubuntu 16.04 LTS
    • multiple AIML files, loading / Loading multiple AIML files
    • AIML bot, creating in ROS / Creating an AIML bot in ROS
    • AIML ROS package / The AIML ROS package
    • ROS sound_play package, installing / Installing the ROS sound_play package
  • SLAM
    • reference / Configuring the gmapping node
  • social robots
    • about / Social robots
    • Kismet / Social robots
    • Jibo / Social robots
    • Pepper / Social robots
    • Buddy / Social robots
    • building / Building social robots
  • software block diagram, of self-driving cars
    • sensor interface modules / Software block diagram of self-driving cars
    • perception modules / Software block diagram of self-driving cars
    • navigation modules / Software block diagram of self-driving cars
    • vehicle interface / Software block diagram of self-driving cars
    • user interface / Software block diagram of self-driving cars
    • global services / Software block diagram of self-driving cars
  • software requisites, face tracker project
    • download link / Hardware and software prerequisites
  • sound_play package
    • reference / Installing the ROS sound_play package
    • installing / Installing the dependencies of sound_play, Installing the sound_play ROS package
    • dependencies, installing / Installing the dependencies of sound_play
    • ros_aiml package, creating / Creating the ros_aiml package
    • aiml_server node / The aiml_server node
    • AIML client node / The AIML client node
    • aiml_tts client node / The aiml_tts client node
    • AIML speech recognition node / The AIML speech recognition node
    • start_chat.launch file / start_chat.launch
    • start_tts_chat.launch file / start_tts_chat.launch
    • start_speech_chat.launch file / start_speech_chat.launch
  • source space / The workspace
  • speech recognition system
    • references / Deep learning for robotics
  • speech_commands
    • reference link / Prerequisites
  • srv file
    • creating / Creating msg and srv files
    • using / Using the new srv and msg files
  • steering model
    • references / Introducing the Udacity open source self-driving car project
  • stereo calibration / Stereo calibration
  • stereo camera
    • visual odometry, performing with viso2 / Performing visual odometry with viso2 with a stereo camera
    • simulating in Gazebo / Simulating stereo and mono cameras in Gazebo
  • STM32 Discovery kits / Getting started with STM32 and TI Launchpads
  • STM32 Launchpad
    • about / Getting started with STM32 and TI Launchpads
    • reference / The Tiva C Launchpad
  • STM32 Nucleo boards / Getting started with STM32 and TI Launchpads
  • STM 32 NUCLEO L476RG
    • reference / Interfacing STM32 boards to ROS using mbed
  • STMicroelectronics
    • about / Getting started with STM32 and TI Launchpads
    • reference / Getting started with STM32 and TI Launchpads
  • Support Vector Machine (SVM)
    • about / Introduction to deep learning and its applications, Introducing to scikit-learn, Introducing to SVM and its application in robotics
    • applications, in robotics / Introducing to SVM and its application in robotics
    • SVM-ROS application, implementing / Implementing an SVM-ROS application
  • SVM-ROS application
    • implementing / Implementing an SVM-ROS application
  • SVM Classification (SVC) object / Implementing an SVM-ROS application
  • Sweep LIDAR
    • reference / Sweep LIDAR
    • about / Sweep LIDAR
  • Sweep sensor ROS
    • reference / Sweep LIDAR
  • system
    • inspecting / Inspecting the system
  • system plugin / Understanding the Gazebo plugins

T

  • TCPROS / Topics
  • teleop application / The teleop application
  • teleoperating
    • with hand gestures / Teleoperating using hand gestures
    • with Android phone / Teleoperating using an Android phone
  • teleoperation
    • RViz plugin, writing / Writing a RViz plugin for teleoperation
  • teleoperation node
    • creating, Leap Motion controller used / Creating a teleoperation node using the Leap Motion controller
  • TensorFlow
    • about / Deep learning libraries, Getting started with TensorFlow
    • reference / Deep learning libraries, Getting started with TensorFlow
    • installing, on Ubuntu 16.04 LTS / Installing TensorFlow on Ubuntu 16.04 LTS
    • URL, for Linux installation / Installing TensorFlow on Ubuntu 16.04 LTS
    • concepts / TensorFlow concepts
    • graph / Graph
    • session / Session
    • variables / Variables
    • output, fetching / Fetches
    • feeding / Feeds
    • code, writing / Writing our first code in TensorFlow
    • and ROS, used for image recognition / Image recognition using ROS and TensorFlow
  • Texas Instrument (TI) / Getting started with STM32 and TI Launchpads
  • Texas Instrument (TI) Launchpads / Getting started with STM32 and TI Launchpads
  • text input
    • creating / Creating text input
  • tf2_web_republisher package
    • about / The tf2_web_republisher package
    • reference link / The tf2_web_republisher package
    • installing, on ROS Kinetic / Installing tf2_web_republisher on ROS Kinetic
  • Theano
    • about / Deep learning libraries
    • reference / Deep learning libraries
  • time series plot
    • creating, with rqt_plot / Creating a time series plot with rqt_plot
  • Tiva C Launchpad
    • about / The Tiva C Launchpad
    • reference / The Tiva C Launchpad, Programming the Tiva C Launchpad
  • topics
    • about / Understanding the ROS Computation Graph level, Topics
    • interacting with / Learning how to interact with topics
    • and frames / The relationship between topics and frames
    • inspecting, in bag file / Inspecting all the topics and messages in a bag file
  • top plate design / Middle plate and top plate design, The top plate
  • Torch
    • about / Deep learning libraries
    • reference / Deep learning libraries
  • transformation (TF) / Interfacing the MPU-9250 with the Arduino and ROS
  • transformation tree
    • viewing / Watching the transformation tree
  • Transform Frames (tf) software library / Creating transforms
  • transforms
    • creating / Creating transforms
  • troubleshooting tips
    • roswtf, using / Usage of roswtf
    • about / Usage of roswtf
  • TTL (Transistor-Transistor Logic) / The Dynamixel Servos
  • tube design / The pole and tube design
  • TurtleBot simulation
    • working, in virtual reality (VR) / Working with TurtleBot simulation in VR
  • twist messages
    • IMU data, converting to / Converting IMU data into twist messages

U

  • Ubuntu 14.04.3
    • Eclipse IDE, setting up / Setting up Eclipse IDE on Ubuntu 14.04.3
  • Ubuntu 14.04.5
    • Leap Motion SDK, installing / Installing the Leap Motion SDK on Ubuntu 14.04.5
  • Ubuntu 14.04.5 LTS
    • reference / Project prerequisites
  • Ubuntu 15.10, OSBOXES
    • reference / Downloading VirtualBox
  • Ubuntu 16.04 LTS
    • TensorFlow, installing / Installing TensorFlow on Ubuntu 16.04 LTS
    • scikit-learn, installing / Installing scikit-learn on Ubuntu 16.04 LTS
  • UbuntuARM
    • reference / Prerequisites
  • Ubuntu package manager
    • rosjava, installing from / Installing from the Ubuntu package manager
    • android-sdk, installing from / Installing android-sdk from the Ubuntu package manager
  • Ubuntu repository
    • reference / Configuring your Ubuntu repositories
  • Udacity open source self-driving car project
    • about / Introducing the Udacity open source self-driving car project
    • reference / Introducing the Udacity open source self-driving car project
    • Xsens IMU / Introducing the Udacity open source self-driving car project
    • Point Grey Blackfly cameras / Introducing the Udacity open source self-driving car project
    • Two Velodyne VLP-16 LiDARs / Introducing the Udacity open source self-driving car project
    • Delphi radar / Introducing the Udacity open source self-driving car project
    • 2016 Lincoln MKZ / Introducing the Udacity open source self-driving car project
    • Engine control unit (ECU) / Introducing the Udacity open source self-driving car project
    • MATLAB ADAS toolbox / MATLAB ADAS toolbox
  • UDPROS / Topics
  • ultrasonic distance sensor
    • about / Arduino-ROS, example - ultrasonic distance sensor
    • used, for finding distance / Equations to find distance using the ultrasonic range sensor
  • ultrasonic sensor
    • about / Ultrasonic sensors
    • simulating, in Gazebo / Simulating an ultrasonic sensor in Gazebo
  • Unified Robot Description Format (URDF) / Visualizing data in a 3D world using rqt_rviz
  • Universal Asynchronous Receiver/Transmitter (UART) / How to choose an Arduino board for your robot
  • universal robotic arm
    • ROS-Industrial packages, installing / Installing ROS-Industrial packages of universal robotic arm
    • Moveit! configuration / Understanding the Moveit! configuration of a universal robotic arm
  • Universal Robots
    • reference / Installing ROS-Industrial packages of universal robotic arm
  • universal robots
    • ROS interface, installing / Installing the ROS interface of universal robots
  • Universal Transverse Mercator (UTM) / How GPS sends messages
  • URDF
    • xacro, converting / Conversion of xacro to URDF
  • URDF client
    • creating / Creating a URDF client
  • URDF file
    • describing / Explaining the URDF file
  • URDF model
    • creating / Creating our first URDF model
    • physical and collision properties, adding / Adding physical and collision properties to a URDF model
    • reference / Building the URDF model of Chefbot
  • URDF model, of Chefbot
    • 3D CAD parts, inserting as links / Inserting 3D CAD parts into URDF as links
    • Gazebo controllers, inserting / Inserting Gazebo controllers into URDF
  • urdf package
    • using, in robot modeling / Understanding robot modeling using URDF
  • URDF tag
    • reference / Understanding robot modeling using URDF
  • USB-to-Dynamixel
    • reference / Creating a ROS workspace for dependencies
  • USB camera driver
    • making, with OpenCV / Making your own USB camera driver with OpenCV
  • USB cameras / USB cameras
  • USB web camera
    • reference / Interfacing cameras with ROS
  • USB webcams
    • interfacing, in ROS / Interfacing USB webcams in ROS
  • usb_cam
    • reference / Working with the ROS-VR application and interfacing with Gazebo

V

  • valgrind
    • reference / Profiling a node with valgrind while launching ROS
  • variables / Variables
  • Velodyne
    • reference / Getting started with 3D object recognition
  • Velodyne HDL-32E
    • reference / Interfacing Velodyne sensors with ROS
  • Velodyne LIDAR
    • simulating / Simulating the Velodyne LIDAR
  • Velodyne sensors
    • reference / Velodyne HDL-64 LIDAR
    • interfacing, with ROS / Interfacing Velodyne sensors with ROS
  • Velodyne simulator
    • reference / Simulating the Velodyne LIDAR
  • Video4Linux (V4L) / Installing the usb_cam ROS package
  • VirtualBox
    • about / How to install VirtualBox and Ubuntu
    • downloading / Downloading VirtualBox
  • virtual machine
    • creating / Creating the virtual machine
  • virtual reality (VR)
    • TurtleBot simulation, working / Working with TurtleBot simulation in VR
  • vision-based robot control / ROS packages useful for Computer Vision tasks
  • vision_opencv metapackage
    • cv_bridge package / The interface between ROS and OpenCV
    • image_geometry package / The interface between ROS and OpenCV
  • viso2 online demo
    • running / Running the viso2 online demo
  • visual odometry
    • about / ROS packages useful for Computer Vision tasks, Visual odometry
    • using, with viso2 / Using visual odometry with viso2
    • performing, with RGBD camera / Performing visual odometry with an RGBD camera
  • visual plugin / Understanding the Gazebo plugins
  • Visual Servoing Platform (ViSP)
    • about / ROS packages useful for Computer Vision tasks
    • reference / ROS packages useful for Computer Vision tasks
  • VLP-16 / Simulating the Velodyne LIDAR
  • Voxel Grid Filter / Filtering and downsampling
  • VR headset
    • about / Getting started with a VR headset and Leap Motion
    • prerequisites / Project prerequisites
    • design / Design and working of the project
    • working / Design and working of the project

W

  • web-based joint state publisher
    • executing / Running the web-based joint state publisher
    • prerequisites / Prerequisites
    • prerequisites, installing / Installing prerequisites
    • code, explaining / Explaining the code
    • robot surveillance application, executing / Running the robot surveillance application
  • web-based robot keyboard teleoperation
    • teleoperating, on web browser / Teleoperating and visualizing a robot on a web browser
    • visualizing, on web browser / Teleoperating and visualizing a robot on a web browser
    • working / Working of the project
    • rosbridge_server, connecting / Connecting to rosbridge_server
    • initializing / Initializing the teleop
    • 3D viewer, creating in web browser / Creating a 3D viewer inside a web browser
    • TF client, creating / Creating a TF client
    • URDF client, creating / Creating a URDF client
    • text input, creating / Creating text input
    • executing / Running the web teleop application
  • web-based speech-controlled robot
    • about / Web-based speech-controlled robot
    • prerequisites / Prerequisites
    • speech recognition, enabling / Enabling speech recognition in the web application
    • application, executing / Running a speech-controlled robot application
  • web browser
    • web-based robot keyboard teleoperation, teleoperating on / Teleoperating and visualizing a robot on a web browser
    • web-based robot keyboard teleoperation, visualizing on / Teleoperating and visualizing a robot on a web browser
    • robot joints, controlling from / Controlling robot joints from a web browser
  • webcams
    • used, for executing find_object_2d nodes / Running find_object_2d nodes using webcams
  • WebSockets
    • reference / rosbridge_suite
  • web speech API specification
    • reference / Enabling speech recognition in the web application
  • web_video_server
    • reference / Prerequisites
    • about / Prerequisites
  • wheel velocity
    • controlling / Controlling the wheel velocity
  • Willow Garage
    • reference / The interface between ROS and OpenCV
  • Win32DiskImager
    • reference / Running ROS on Raspberry Pi and Odroid boards
  • Wiring
    • about / An introduction to Arduino boards, Tiva C Launchpad
    • reference / An introduction to Arduino boards, Tiva C Launchpad
  • workspace
    • about / The workspace
    • source space / The workspace
    • build space / The workspace
    • development space / The workspace
    • creating / Creating our own workspace
  • world plugin / Understanding the Gazebo plugins

X

  • xacro
    • used, for robot modeling / Understanding robot modeling using xacro
    • simplify URDF / Understanding robot modeling using xacro
    • programmability / Understanding robot modeling using xacro
    • conversion, to URDF / Conversion of xacro to URDF
  • xacro model, seven DOF arm
    • constants, using / Using constants
    • macros, using / Using macros
    • xacro files, including / Including other xacro files
    • meshes, using / Using meshes in the link
    • robot gripper, working with / Working with the robot gripper
    • viewing, in RViz / Viewing the seven DOF arm in RViz
  • XML Macros (Xacro) format / Generating a MoveIt! package with the Setup Assistant
  • Xsens MTi
    • using / Using the IMU - Xsens MTi
    • data, sending in ROS / How does Xsens send data in ROS?
  • Xsens MTi IMU / Xsens MTi IMU
  • Xtion Pro
    • used, for simulating robotic arm / Simulating the robotic arm with Xtion Pro

Y

  • YUV
    • reference / Interfacing USB webcams in ROS

Z

  • Zhang calibration method
    • reference / How to calibrate a camera
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image