Books & Videos

Table of Contents

  1. Fundamentals

    1. Chapter 1 Introduction

      1. Brief History
      2. Philosophy
      3. Installation
      4. Summary
    2. Chapter 2 Preliminaries

      1. The ROS Graph
      2. roscore
      3. catkin, Workspaces, and ROS Packages
      4. rosrun
      5. Names, Namespaces, and Remapping
      6. roslaunch
      7. The Tab Key
      8. tf: Coordinate Transforms
      9. Summary
    3. Chapter 3 Topics

      1. Publishing to a Topic
      2. Subscribing to a Topic
      3. Latched Topics
      4. Defining Your Own Message Types
      5. Mixing Publishers and Subscribers
      6. Summary
    4. Chapter 4 Services

      1. Defining a Service
      2. Implementing a Service
      3. Using a Service
      4. Summary
    5. Chapter 5 Actions

      1. Defining an Action
      2. Implementing a Basic Action Server
      3. Using an Action
      4. Implementing a More Sophisticated Action Server
      5. Using the More Sophisticated Action
      6. Summary
    6. Chapter 6 Robots and Simulators

      1. Subsystems
      2. Complete Robots
      3. Simulators
      4. Summary
    7. Chapter 7 Wander-bot

      1. Creating a Package
      2. Reading Sensor Data
      3. Sensing and Actuation: Wander-bot!
      4. Summary
  2. Moving Around Using ROS

    1. Chapter 8 Teleop-bot

      1. Development Pattern
      2. Keyboard Driver
      3. Motion Generator
      4. Parameter Server
      5. Velocity Ramps
      6. Let’s Drive!
      7. rviz
      8. Summary
    2. Chapter 9 Building Maps of the World

      1. Maps in ROS
      2. Recording Data with rosbag
      3. Building Maps
      4. Starting a Map Server and Looking at a Map
      5. Summary
    3. Chapter 10 Navigating About the World

      1. Localizing the Robot in a Map
      2. Using the ROS Navigation Stack
      3. Navigating in Code
      4. Summary
    4. Chapter 11 Chess-bot

      1. Joints, Links, and Kinematic Chains
      2. The Key to Success
      3. Installing and Running a Simulated R2
      4. Moving R2 from the Command Line
      5. Moving R2 Around a Chessboard
      6. Operating the Hand
      7. Modeling a Chessboard
      8. Playing Back a Famous Chess Game
      9. Summary
  3. Perception and Behavior

    1. Chapter 12 Follow-bot

      1. Acquiring Images
      2. Detecting the Line
      3. Following the Line
      4. Summary
    2. Chapter 13 On Patrol

      1. Simple Patrolling
      2. State Machines
      3. Defining State Machines with smach
      4. Patrolling with State Machines
      5. Summary
    3. Chapter 14 Stockroom-bot

      1. Stockroom Simulation
      2. Driving to Bins
      3. Picking Up the Item
      4. Summary
  4. Bringing Your Own Stuff into ROS

    1. Chapter 15 Your Own Sensors and Actuators

      1. Adding Your Own Sensors
      2. Adding Your Own Actuators
      3. Summary
    2. Chapter 16 Your Own Mobile Robot

      1. TortoiseBot
      2. ROS Message Interface
      3. Hardware Driver
      4. Modeling the Robot: URDF
      5. Simulation in Gazebo
      6. Summary
    3. Chapter 17 Your Own Mobile Robot: Part 2

      1. Verifying Transforms
      2. Adding a Laser Sensor
      3. Configuring the Navigation Stack
      4. Using rviz to Localize and Command a Navigating Robot
      5. Summary
    4. Chapter 18 Your Own Robot Arm

      1. CougarBot
      2. ROS Message Interface
      3. Hardware Driver
      4. Modeling the Robot: URDF
      5. Simulation in Gazebo
      6. Verifying Transforms
      7. Configuring MoveIt
      8. Using rviz to Send Goals
      9. Summary
    5. Chapter 19 Adding a Software Library

      1. Make Your Robot Talk: pyttsx
      2. Summary
  5. Tips and Tricks

    1. Chapter 20 Tools

      1. The Master and Friends: roscore
      2. Parameters: rosparam
      3. Navigating the Filesystem: roscd
      4. Starting a Node: rosrun
      5. Starting Many Nodes: roslaunch
      6. Testing a Many-Node System: rostest
      7. Introspection: rosnode, rostopic, rosmsg, rosservice, and rossrv
      8. Summary
    2. Chapter 21 Debugging Robot Behavior

      1. Log Messages: /rosout and rqt_console
      2. Nodes, Topics, and Connections: rqt_graph and rosnode
      3. Sensor Fusion: rviz
      4. Plotting Data: rqt_plot
      5. Data Logging and Analysis: rosbag and rqt_bag
      6. Summary
    3. Chapter 22 The ROS Community: Online Resources

      1. Etiquette
      2. The ROS Wiki
      3. ROS Answers
      4. Trackers (Bugs and Feature Requests)
      5. Mailing Lists and Special Interest Groups
      6. Finding and Sharing Code
      7. Summary
    4. Chapter 23 Using C++ in ROS

      1. When Should You Use C (or Some Other Language)?
      2. Building C++ with catkin
      3. Translating from Python to C++ (and Back Again)
      4. Summary