A presentation based on
"ROS - an open-source Robot Operating System" by Willow Garage.
Available at http://www.willowgarage.com/sites/default/files/icraoss09-ROS.pdf
1. ROS
An open-source
Robot Operating System
Islam, Pahlwan Rabiul
20-91680-1
By
Morgan Quigley, Brian Gerkey, Ken Conley, Josh Faust,Tully
Foote, Jeremy Leibs, Eric Berger, RobWheeler, Andrew Ng
2. Introduction
• Difficulties of writing robot software
• Varying hardware
• Large size of code
• Beyond capabilities of a single researcher
• Design Goals & Use Cases of ROS
6. Tools-based
• Microkernel design
• Example task of the tools
• Navigate the source code tree
• Get and set configuration parameters
• Visualize the peer-to-peer connection topology
• Measure bandwidth utilization
• Graphically plot message data
• Auto-generate documentation
7. Thin
• Reusability of drivers & algorithms
• Standalone libraries for drivers & algorithms
• Example libraries
• Navigation system
• Vision algorithms
• Planning algorithms
8. Free & Open-source
• ROS is publicly available
• BSD License
• Allows non-commercial and commercial projects
9. Nomenclature
• Nodes
• Nodes are processes that perform computation
• Messages
• Nodes communicate with each other by passing messages
• Topics
• A node sends a message by publishing it to a given topic
• Services
• Request / reply is done via a service
11. Debugging a Single Node
• Designed to minimize the difficulty of debugging
• Node graph can be dynamically modified
• Ease of inserting and removing nodes from a running ROS-based system
12. Logging & Playback
• Generic logging and playback functionality
• Command line library support
13. Package Subsystems
• Out of the box algorithms for mature research fields
• Easy set-up and tear-down of large distributed systems