ROS is an open-source robot operating system that provides services like hardware abstraction, messaging, and package management. It aims to promote sharing of robotics knowledge and software. ROS uses a distributed architecture with nodes that communicate asynchronously via published topics. It has a large user community with over 2000 packages and is primarily used with Linux, but also supports Windows and ARM platforms. ROS emphasizes software reuse over creation to facilitate integration of complex robotics systems.
1. Platform Overview
Seminario para el grupo MAPIR Marzo 2012
Pablo Iñigo Blasco
Grupo de Investigación RTCAR
Robotica y Tecnología de Computadores
Universidad de Sevilla
2.
3. Contents
● Overview
● ROS Principles
● ROS History
● Applications
● Community and Software Federation
● Pros and Cons
4. ROS Overview
“ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating
system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-
passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and
running code across multiple computers”
● As technology it can be sen as:
●
Robotic Development Platform
●
Integration Software Framework for complex robotics systems
● Even Further “It is a initiative or to promote Robotics”
●
Technology
●
Conveys and Data Standardization
● Open Community
–
8. The PR2 Robot
● Fold Towels
● Open Doors
● Opening Drawers
● Fetch Beers
● Plug In
● Recycling trash
● Play Hannoy Towers
● Cart Pushing
9. ROS Overview (III) Main Features
● Distributed Components
● Main operative System: Linux, MacOS, (low support
for windows)
● Programming Languages
● High Support for C++, python
● Lower Support Lisp, Java, Octave, others.
● Platforms: X86 y ARM
● Integrating popular packages: OpenCV, Eigen, Bullet,
OROCOS (KDL, BFL), OpenSLAM, OpenRave, Stage and
Gazebo, PCL, ¿¿MRPT??
10. ROS History (I) Background
● Willow Garage
● Origin - Stanford University and Research Institute
● Spin-off
● Silicon – Valley Area
● Some Researchers
● Gary Bradski
● Kurt Konolige
● Brian P. Gerkey
● Radu Bogdan Rusu
11. ROS History (II) - Evolution
Gracias por los contenidos Creative Commons de la web de ROS y de las transparencias creadas por "Radu Bogdan Rusu" para el evento: "
12. Robotic Software Repository
Federation
Stats (March 2012):
● 2363+ Documented Packages
● 100+ Federated Repositories (90+ Institutions)
● Main repositories maintained by Willow Garage
● Other important institutions with repositories:
● CMU, TUM, MIT, PENN ...
● Unified WIKI and Documentation at
http://www.ros.org
14. Examples of Package Contents
● Meta Information (manifest)
● Components (Nodes or launch)
● Libraries
● Tools (every kind)
● Datasets
● Third Party Adapters
● Message Definitions
● Service Definitions
15. Advantages
● For developers and research groups: visibility
● Many people know how to use your packages
● Focus effort on research → don't reinvent the wheel
● Learn robotics by example
● Checking others code
● Reading others doc
● Promotes conveys, methodologies for general robotic
software development
16. Disadvantages
● Change the development philosophy:
● Forget the “reinvent the wheel” - go to The Integration Paradigm
● But The integration cost is not zero
– Read packages documentation
– Check third party code
● In Spite of everything → Development Bazaar
● Many development groups
● Non-Uniform development methodologies
● Too Linux system focused (little support for windows or RT systems)
● Not very good for real time applications (custom solutions are needed)
● Several package alternatives for the same development target
● You have to learn a lot of usefulness stuff for very single projects
17. References
(1) Quigley, Morgan, Brian Gerkey, Ken Conley, Josh Faust, Tully Foote, Jeremy Leibs, Eric Berger, Rob Wheeler, and
Andrew Ng. 2009. ROS: an open-source Robot Operating System. In Open-Source Software workshop of the
International Conference on Robotics and Automation (ICRA).
(2) Iñigo-Blasco, Pablo, Fernando Diaz-del-Rio, Ma Carmen Romero-Ternero, Daniel Cagigas-Muñiz, and Saturnino
Vicente-Diaz. 2012. “Robotics software frameworks for multi-agent robotic systems development” Robotics and
Autonomous Systems (February).
(3) ROS WIKI - www.ros.org
(4) CoTeSys-ROS Fall School on Cognition-enabled Mobile Manipulation.