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

Index
Preface
Who Should Read This Book? Who Should Not Read This Book? What You’ll Learn Prerequisites Conventions Used in This Book Using Code Examples Safari® Books Online How to Contact Us Acknowledgments
I. Fundamentals 1. Introduction
Brief History Philosophy Installation Summary
2. Preliminaries
The ROS Graph roscore catkin, Workspaces, and ROS Packages
catkin Workspaces ROS Packages
rosrun Names, Namespaces, and Remapping roslaunch The Tab Key tf: Coordinate Transforms
Poses, Positions, and Orientations tf
Summary
3. Topics
Publishing to a Topic
Checking That Everything Works as Expected
Subscribing to a Topic
Checking That Everything Works as Expected
Latched Topics Defining Your Own Message Types
Defining a New Message Using Your New Message When Should You Make a New Message Type?
Mixing Publishers and Subscribers Summary
4. Services
Defining a Service Implementing a Service
Checking That Everything Works as Expected Other Ways of Returning Values from a Service
Using a Service
Checking That Everything Works as Expected Other Ways to Call Services
Summary
5. Actions
Defining an Action Implementing a Basic Action Server
Checking That Everything Works as Expected
Using an Action
Checking That Everything Works as Expected
Implementing a More Sophisticated Action Server Using the More Sophisticated Action
Checking That Everything Works as Expected
Summary
6. Robots and Simulators
Subsystems
Actuation: Mobile Platform Actuation: Manipulator Arm Sensors
Visual cameras Depth cameras Laser scanners Shaft encoders
Computation
Complete Robots
PR2 Fetch Robonaut 2 TurtleBot
Simulators
Stage Gazebo Other Simulators
Summary
7. Wander-bot
Creating a Package Reading Sensor Data Sensing and Actuation: Wander-bot! Summary
II. Moving Around Using ROS 8. Teleop-bot
Development Pattern Keyboard Driver Motion Generator Parameter Server Velocity Ramps Let’s Drive! rviz Summary
9. Building Maps of the World
Maps in ROS Recording Data with rosbag Building Maps Starting a Map Server and Looking at a Map Summary
10. Navigating About the World
Localizing the Robot in a Map
Getting a Good Initial Localization What’s Going on Behind the Scenes Tips for Setting a Better Initial Pose
Using the ROS Navigation Stack
The ROS Navigation Stack Navigating in rviz Seeing What’s Going On
Navigating in Code Summary
11. Chess-bot
Joints, Links, and Kinematic Chains
Joint Space Inverse Kinematics
The Key to Success Installing and Running a Simulated R2 Moving R2 from the Command Line Moving R2 Around a Chessboard Operating the Hand Modeling a Chessboard Playing Back a Famous Chess Game Summary
III. Perception and Behavior 12. Follow-bot
Acquiring Images Detecting the Line Following the Line Summary
13. On Patrol
Simple Patrolling State Machines
State Machines in ROS
Defining State Machines with smach
A Slightly More Relevant Example Defining State Machines Procedurally
Patrolling with State Machines
A Better Way to Patrol
Summary
14. Stockroom-bot
Stockroom Simulation Driving to Bins Picking Up the Item Summary
IV. Bringing Your Own Stuff into ROS 15. Your Own Sensors and Actuators
Adding Your Own Sensors
A (Fake) Sensor Designing the ROS Wrapper Design 1: Periodic Measurements over a Topic Design 2: Streaming Measurements over a Topic Design 3: Streaming Measurements Published at a Fixed Rate Design 4: Sensor Measurements on Demand
Adding Your Own Actuators
A (Fake) Actuator Designing the ROS Wrapper Design 1: Continuous Actuation Design 2: Infrequent, Instantaneous Actuation Design 3: Infrequent, Extended Actuation
Summary
16. Your Own Mobile Robot
TortoiseBot ROS Message Interface Hardware Driver Modeling the Robot: URDF Simulation in Gazebo Summary
17. Your Own Mobile Robot: Part 2
Verifying Transforms Adding a Laser Sensor Configuring the Navigation Stack Using rviz to Localize and Command a Navigating Robot Summary
18. Your Own Robot Arm
CougarBot ROS Message Interface Hardware Driver Modeling the Robot: URDF Simulation in Gazebo Verifying Transforms Configuring MoveIt Using rviz to Send Goals Summary
19. Adding a Software Library
Make Your Robot Talk: pyttsx
Action Interface Parameters Event Loops The Speech Server The Speech Client Checking That Everything Works as Expected
Summary
V. Tips and Tricks 20. Tools
The Master and Friends: roscore Parameters: rosparam Navigating the Filesystem: roscd Starting a Node: rosrun Starting Many Nodes: roslaunch Testing a Many-Node System: rostest Introspection: rosnode, rostopic, rosmsg, rosservice, and rossrv Summary
21. Debugging Robot Behavior
Log Messages: /rosout and rqt_console
Generating Log Messages: /rosout Logger Levels Reading Log Messages: rqt_console /rosout Versus /rosout_agg
Nodes, Topics, and Connections: rqt_graph and rosnode
Visualizing the Graph: rqt_graph Problem: Mismatched Topic Names Problem: Mismatched Topic Types and/or Checksums Problem: Incorrect Network Settings
Sensor Fusion: rviz Plotting Data: rqt_plot Data Logging and Analysis: rosbag and rqt_bag
Logging and Playing Back Data: rosbag Visualizing Bags: rqt_bag Analyzing ROS Bags with Other Tools: rostopic echo -b
Summary
22. The ROS Community: Online Resources
Etiquette The ROS Wiki ROS Answers Trackers (Bugs and Feature Requests) Mailing Lists and Special Interest Groups Finding and Sharing Code Summary
23. Using C++ in ROS
When Should You Use C (or Some Other Language)? Building C++ with catkin
package.xml CMakeLists.txt catkin_make
Translating from Python to C++ (and Back Again)
A Simple Node Topics Services
Summary
Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

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

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