Robot Operating System
| Robot Operating System | |
|---|---|
| | |
| Maintainer | Open Source Robotics Foundation |
| Aktuelle Version | Kinetic Kame[1] (23. Mai 2016) |
| Betriebssystem | Cross-platform |
| Programmiersprache | C++, Python |
| Kategorie | Roboter-Software-Framework |
| Lizenz | BSD-Lizenz |
| http://ros.org | |
Robot Operating System (ROS) ist ein Software-Framework für persönliche Roboter. Die Entwicklung begann 2007 am Stanford Artificial Intelligence Laboratory im Rahmen des Stanford-AI-Robot-Projektes (STAIR) und wurde ab 2009 hauptsächlich am Robotikinstitut Willow Garage weiterentwickelt [2]. Seit April 2012 wird ROS von der neu gegründeten, gemeinnützigen Organisation Open Source Robotics Foundation (OSRF) unterstützt [3] und seit Beendigung der operativen Tätigkeit von Willow Garage 2013 [4] von dieser koordiniert, gepflegt und weiterentwickelt. Seit 2013 beschäftigt sich das ROS Industrial Consortium mit der Förderung und Unterstützung von ROS für Anwendungen in der Industrierobotik. In Europa koordiniert das Fraunhofer IPA die Aktivitäten des ROS Industrial Consortium Europe. [5]
Inhaltsverzeichnis
Software[Bearbeiten | Quelltext bearbeiten]
Die Bibliotheken von ROS setzen auf Betriebssysteme wie Linux, Mac OS X oder Windows auf.
Die Hauptbestandteile und -aufgaben von ROS sind
- Hardwareabstraktion
- Gerätetreiber
- Oft wiederverwendete Funktionalität
- Nachrichtenaustausch zwischen Programmen bzw. Programmteilen
- Paketverwaltung
- Programmbibliotheken zum Verwalten und Betreiben der Software auf mehreren Computern
Das System ist aufgeteilt in das eigentliche Betriebssystem ros und ros-pkg, eine Auswahl an Zusatzpaketen, die das Basissystem um (meist einzelne) Fähigkeiten erweitern. Dabei wird eine Serviceorientierte Architektur eingesetzt, um die Kommunikation zwischen den einzelnen Komponenten zu ermöglichen.
ROS wird unter der BSD-Lizenz veröffentlicht und ist somit der Open-Source-Szene zuzuordnen.
Bis April 2012 wurden für ROS 3699 Pakete veröffentlicht, um einzelne Funktionalitäten abzubilden.
ROS 1.x ist nicht echtzeitfähig, kann jedoch mit echtzeitfähigen Komponenten zusammenarbeiten.[6] Ein Ziel von ROS ab der Version 2.0 ist u.a., echtzeitfähig zu sein. [7]
Seit Beginn der Entwicklung von ROS 2.0 wird zwischen ROS 1 und ROS 2 unterschieden. Die beiden Hauptversionen sind nicht miteinander kompatibel, jedoch interoperabel und können parallel ausgeführt werden. Die Motivation hinter der Entwicklung von ROS 2 ist, zu bewahren, was gut an ROS 1 ist und die Bereiche zu verbessern, die Nachteile mit sich bringen. Dazu zählen z.B. die Echtzeitfähigkeit, die Zertifizierbarkeit für (Sicherheits-)kritische Anwendungen in Endprodukten und die Ausführbarkeit auf kleinen Prozessoren, wie etwa Microcontrollern. Als wesentlicher Unterschied von ROS 2 im Vergleich zu ROS 1 ist der Ersatz der zuvor eigens entwickelten Middleware durch den Standard Data Distribution Service zu nennen. [8]
Hardware[Bearbeiten | Quelltext bearbeiten]
- PR2 ist ein von der Willow Garage entwickelter persönlicher Roboter.
- PR1 ist ein von Ken Salisbury an der Universität Stanford entwickelter persönlicher Roboter.
- Robotic Busboy wurde an der CMU im Rahmen von Intels Programm für persönliche Roboter entwickelt.
- STAIR I and II ist ein von Andrew Ng an der Universität Stanford entwickelter persönlicher Roboter.
- ROS-On-Beagleboard ist eine an der Katholischen Universität Leuven, Belgien entwickelte Adaption von ROS für den kostengünstigen Einplatinencomputer BeagleBoard.
Entwicklungsgeschichte[Bearbeiten | Quelltext bearbeiten]
| Version | Veröffentlichung | Weblink | Anmerkungen | |
|---|---|---|---|---|
| Box Turtle (Dosenschildkröte) |
2. März 2010 | wiki.ros.org/boxturtle | ||
| C Turtle (Meeresschildkröte/Sea turtle) |
2. August 2010 | wiki.ros.org/cturtle | ||
| Diamondback (Diamantschildkröte) |
2. März 2011 | wiki.ros.org/diamondback | ||
| Electric Emys (elektrische Emys) |
30. August 2011 | wiki.ros.org/electric | ||
| Fuerte Turtle („starke Schildkröte“) |
23. April 2012 | wiki.ros.org/fuerte | ||
| Groovy Galapagos (pfundige Galápagos-Riesenschildkröte) |
31. Dezember 2012 | wiki.ros.org/groovy | Die zur Organisation von Paketen verwendeten Stacks werden von Metapaketen abgelöst. Das ROS-eigene Build-System Catkin, welches intern das Meta-Build-System CMake verwendet, löst das frühere Rosbuild ab. | |
| Hydro Medusa | 4. September 2013 | wiki.ros.org/hydro | ||
| Indigo Igloo | 22. Juli 2014 | wiki.ros.org/indigo | Diese Version hat Long Term Support (LTS) bis April 2019.[9] | |
| Jade Turtle | 23. Mai 2015 | wiki.ros.org/jade | ||
| Kinetic Kame Kame japanisch für Schildkröte |
23. Mai 2016 | wiki.ros.org/kinetic | Diese Version hat Long Term Support (LTS) bis April 2021.[10] | |
| Lunar Loggerhead | Mai 2017 | wiki.ros.org/Distributions | ||
| Legende: Ältere Version; nicht mehr unterstützt Ältere Version; noch unterstützt Aktuelle Version Zukünftige Version | ||||
Weblinks[Bearbeiten | Quelltext bearbeiten]
- ROS.org Wiki zur Dokumentation, Pakete-Übersicht uvm.
- Willow Garage
- Videokanal von Willow Garage auf YouTube
- Open Source Robotics Foundation
Einzelnachweise[Bearbeiten | Quelltext bearbeiten]
- ↑ ROS Kinetic Kame. Wiki.ros.org. Abgerufen am 14. Januar 2017.
- ↑ http://www.willowgarage.com/blog/2009/02/10/ros-04-release
- ↑ http://www.willowgarage.com/blog/2012/04/16/open-source-robotics-foundation
- ↑ http://www.willowgarage.com/blog/2013/08/21/willow-garage-employees-join-suitable-technologies
- ↑ http://rosindustrial.org/briefhistory/
- ↑ de/ROS/Introduction - ROS Wiki. Open Source Robotics Foundation; abgerufen am 24. April 2017.
- ↑ http://design.ros2.org/articles/realtime_proposal.html
- ↑ http://design.ros2.org/
- ↑ http://www.ros.org/news/2014/07/ros-indigo-igloo-released.html
- ↑ http://wiki.ros.org/Distributions#Release_Schedule

