Robotbesturingssysteem - Robot Operating System
|
Logo van robotbesturingssysteem
| |
|
Kar duwen simulatie in RVIZ
| |
| Oorspronkelijke auteur(s) |
Willow Garage Stanford Kunstmatige Intelligentie Laboratorium Open Robotica |
|---|---|
| Eerste uitgave | 2007 |
| Stabiele vrijlating | Galactische Geochelone (ROS 2) / 23 mei 2021
|
| Preview-release | Rollende Ridley (ROS 2)
|
| Opslagplaats | |
| Geschreven in | C++ , Python of Lisp |
| Besturingssysteem | Linux , MacOS (experimenteel), Windows 10 (experimenteel) |
| Type | Robotica-suite , besturingssysteem , bibliotheek |
| Vergunning | Apache-licentie 2.0 |
| Website | www |
Robot Operating System ( ROS of ros ) is een open-source middleware- suite voor robotica . Hoewel ROS geen besturingssysteem is, maar een verzameling softwareframeworks voor de ontwikkeling van robotsoftware , biedt het diensten die zijn ontworpen voor een heterogeen computercluster , zoals hardware-abstractie , apparaatbesturing op laag niveau , implementatie van veelgebruikte functionaliteit, het doorgeven van berichten tussen processen , en pakketbeheer. Lopende sets van op ROS gebaseerde processen worden weergegeven in een grafische architectuur waar verwerking plaatsvindt in knooppunten die sensorgegevens, besturing, status, planning, actuator en andere berichten kunnen ontvangen, posten en multiplexen. Ondanks het belang van reactiviteit en lage latentie in robotbesturing ROS zelf is niet een real-time besturingssysteem (RTOS). Het is echter mogelijk om ROS te integreren met realtime code. Het gebrek aan ondersteuning voor real-time systemen is aangepakt bij de creatie van ROS 2, een ingrijpende herziening van de ROS API die gebruik zal maken van moderne bibliotheken en technologieën voor de belangrijkste ROS-functionaliteit en ondersteuning zal toevoegen voor real-time code en embedded hardware .
Software in het ROS Ecosysteem kan worden onderverdeeld in drie groepen:
- taal- en platformonafhankelijke tools die worden gebruikt voor het bouwen en distribueren van op ROS gebaseerde software;
- ROS-clientbibliotheekimplementaties zoals roscpp, rospy en roslisp;
- pakketten met toepassingsgerelateerde code die een of meer ROS-clientbibliotheken gebruikt.
Zowel de taalonafhankelijke tools als de belangrijkste clientbibliotheken ( C++ , Python en Lisp ) worden vrijgegeven onder de voorwaarden van de BSD-licentie en zijn als zodanig open-sourcesoftware en gratis voor zowel commercieel als onderzoeksgebruik. De meeste andere pakketten zijn gelicentieerd onder verschillende open-sourcelicenties . Deze andere pakketten implementeren veelgebruikte functionaliteit en toepassingen zoals hardwaredrivers, robotmodellen, datatypes, planning, perceptie , gelijktijdige lokalisatie en mapping , simulatietools en andere algoritmen.
De belangrijkste ROS-clientbibliotheken zijn gericht op een Unix-achtig systeem, voornamelijk vanwege hun afhankelijkheid van grote verzamelingen open-sourcesoftwareafhankelijkheden. Voor deze clientbibliotheken wordt Ubuntu Linux vermeld als "Ondersteund", terwijl andere varianten zoals Fedora Linux , macOS en Microsoft Windows worden aangeduid als "experimenteel" en worden ondersteund door de gemeenschap. De native Java ROS-clientbibliotheek, rosjava, deelt deze beperkingen echter niet en heeft het mogelijk gemaakt om op ROS gebaseerde software voor het Android-besturingssysteem te schrijven . rosjava heeft er ook voor gezorgd dat ROS kan worden geïntegreerd in een officieel ondersteunde MATLAB- toolbox die kan worden gebruikt op Linux , macOS en Microsoft Windows. Er is ook een JavaScript- clientbibliotheek, roslibjs, ontwikkeld die integratie van software in een ROS-systeem mogelijk maakt via elke standaard-compatibele webbrowser.
Geschiedenis
Vroege dagen op Stanford (2007 en eerder)
Ergens vóór 2007 begonnen de eerste stukjes van wat uiteindelijk ROS zou worden, samen te komen aan de Stanford University . Eric Berger en Keenan Wyrobek , promovendi die werkzaam waren in het roboticalaboratorium van Kenneth Salisbury in Stanford, leidden het Personal Robotics Program. Terwijl ze aan robots werkten om manipulatietaken in menselijke omgevingen uit te voeren, merkten de twee studenten dat veel van hun collega's werden gehinderd door de uiteenlopende aard van robotica: een uitstekende softwareontwikkelaar heeft misschien niet de vereiste hardwarekennis, iemand die een state-of-the-art pad ontwikkelt planning weet misschien niet hoe de vereiste computervisie moet worden uitgevoerd. In een poging om deze situatie te verhelpen, gingen de twee studenten op zoek naar een basissysteem dat een startpunt zou zijn voor anderen in de academische wereld om op voort te bouwen. In de woorden van Eric Berger, "iets dat niet zuigt, in al die verschillende dimensies".
In hun eerste stappen op weg naar dit verenigende systeem bouwden de twee de PR1 als een hardware-prototype en begonnen ze aan software te werken, waarbij ze de beste praktijken leenden van andere vroege open-source robotsoftwareframeworks, met name switchyard, een systeem dat Morgan Quigley, een andere Stanford-promovendus, had gewerkt ter ondersteuning van de STAIR (STanford Artificial Intelligence Robot) van het Stanford Artificial Intelligence Laboratory . Vroege financiering van US $ 50.000 werd verstrekt door Joanna Hoffman en Alain Rossmann , die de ontwikkeling van de PR1 ondersteunden. Terwijl ze op zoek waren naar financiering voor verdere ontwikkeling, ontmoetten Eric Berger en Keenan Wyrobek Scott Hassan , de oprichter van Willow Garage , een technologie-incubator die werkte aan een autonome SUV en een autonome boot op zonne-energie. Hassan deelde Berger en Wyrobek's visie van een "Linux voor robotica", en nodigde hen uit om bij Willow Garage te komen werken. Willow Garage is gestart in januari 2007 en de eerste vastlegging van ROS-code is gedaan op SourceForge op 7 november 2007.
Wilgengarage (2007-2013)
Willow Garage begon met de ontwikkeling van de PR2- robot als vervolg op de PR1 en ROS als de software om hem uit te voeren. Groepen van meer dan twintig instellingen droegen bij aan ROS, zowel de kernsoftware als het groeiend aantal pakketten dat met ROS samenwerkte om een groter software-ecosysteem te vormen. Het feit dat mensen buiten Willow bijdroegen aan ROS (vooral van Stanfords STAIR-project) betekende dat ROS vanaf het begin een multi-robotplatform was. Terwijl Willow Garage oorspronkelijk andere projecten had lopen, werden ze geschrapt ten gunste van het Personal Robotics Program: gericht op het produceren van de PR2 als onderzoeksplatform voor de academische wereld en ROS als de open-source robotica-stack die ten grondslag zou liggen aan zowel academisch onderzoek als technologie startups, net zoals de LAMP-stack deed voor webgebaseerde startups.
In december 2008 bereikte Willow Garage de eerste van hun drie interne mijlpalen: continue navigatie voor de PR2 over een periode van twee dagen en een afstand van pi-kilometers. Kort daarna werd een vroege versie van ROS (0.4 Mango Tango) uitgebracht, gevolgd door de eerste RVIZ-documentatie en het eerste artikel over ROS. In de vroege zomer werd de tweede interne mijlpaal bereikt: de PR2 door het kantoor laten navigeren, deuren openen en zichzelf aansluiten. In augustus volgde de start van de website ROS.org. Vroege tutorials over ROS werden in december geplaatst, ter voorbereiding op de release van ROS 1.0 in januari 2010. Dit was mijlpaal 3: het produceren van tonnen documentatie en tutorials voor de enorme mogelijkheden die de ingenieurs van Willow Garage in de voorgaande 3 jaar hadden ontwikkeld.
Hierna bereikte Willow Garage een van de langst gekoesterde doelen: 10 PR2-robots weggeven aan waardige academische instellingen. Dit was al lang een doel van de oprichters, omdat ze van mening waren dat de PR2 het onderzoek naar robotica over de hele wereld zou kunnen stimuleren. Ze hebben uiteindelijk elf PR2's toegekend aan verschillende instellingen, waaronder University of Freiburg (Duitsland) , Bosch , Georgia Tech , KU Leuven (België) , MIT , Stanford , TU München (Duitsland) , UC Berkeley , U Penn , USC en University of Tokio (Japan) . Dit, in combinatie met het zeer succesvolle stageprogramma van Willow Garage (van 2008 tot 2010 uitgevoerd door Melonee Wise ), hielp om het woord over ROS in de roboticawereld te verspreiden. De eerste officiële ROS-distributie-release: ROS Box Turtle, werd uitgebracht op 2 maart 2010, wat de eerste keer was dat ROS officieel werd gedistribueerd met een set versiepakketten voor openbaar gebruik. Deze ontwikkelingen leidden tot de eerste drone met ROS, de eerste autonome auto met ROS en de aanpassing van ROS voor Lego Mindstorms . Met het PR2 Beta-programma in volle gang, werd de PR2-robot op 9 september 2010 officieel vrijgegeven voor commerciële aankoop.
2011 was een topjaar voor ROS met de lancering van ROS Answers, een Q/A-forum voor ROS-gebruikers, op 15 februari; de introductie van de zeer succesvolle TurtleBot-robotkit op 18 april; en het totale aantal ROS-repositories dat op 5 mei de 100 passeerde. Willow Garage begon 2012 met de oprichting van de Open Source Robotics Foundation (OSRF) in april. De OSRF kreeg onmiddellijk een softwarecontract toegewezen door de Defense Advanced Research Projects Agency (DARPA). Later dat jaar werd de eerste ROSCon gehouden in St. Paul, Minnesota, het eerste boek over ROS, ROS By example , werd gepubliceerd en Baxter , de eerste commerciële robot die ROS bestuurde, werd aangekondigd door Rethink Robotics . Kort na het vijfjarig bestaan in november, begon ROS op 3 december 2012 op elk continent te draaien.
In februari 2013 werd OSRF de belangrijkste software-onderhouders voor ROS, wat een voorbode was van de aankondiging in augustus dat Willow Garage zou worden overgenomen door de oprichters, Suitable Technologies . Op dat moment had ROS zeven hoofdversies uitgebracht (tot ROS Groovy) en had het gebruikers over de hele wereld. Dit hoofdstuk van de ROS-ontwikkeling zou worden afgerond wanneer Clearpath Robotics begin 2014 de ondersteunende verantwoordelijkheden voor de PR2 overnam.
OSRF en Open Robotica (2013-heden)
In de jaren sinds OSRF de primaire ontwikkeling van ROS overnam, is er elk jaar een nieuwe versie uitgebracht, terwijl de interesse in ROS blijft groeien. ROSCons hebben sinds 2012 elk jaar plaatsgevonden, samen met ICRA of IROS , twee vlaggenschipconferenties over robotica. Er zijn bijeenkomsten van ROS-ontwikkelaars georganiseerd in verschillende landen, er zijn een aantal ROS-boeken gepubliceerd en er zijn veel educatieve programma's gestart. Op 1 september 2014 kondigde NASA de eerste robot aan die ROS in de ruimte zou uitvoeren: Robotnaut 2 , op het internationale ruimtestation . In 2017 veranderde de OSRF haar naam in Open Robotics . Techreuzen Amazon en Microsoft begonnen in deze tijd interesse te krijgen in ROS, waarbij Microsoft in september 2018 kern-ROS naar Windows overdroeg, gevolgd door Amazon Web Services die RoboMaker in november 2018 uitbracht.
Misschien wel de belangrijkste ontwikkeling van de OSRF/Open Robotics-jaren tot nu toe (om niet te vergeten de explosie van robotplatforms die ROS begonnen te ondersteunen of de enorme verbeteringen in elke ROS-versie) was het voorstel van ROS 2, een significante API-wijziging in ROS die bedoeld is om realtime-programmering , een grotere verscheidenheid aan computeromgevingen te ondersteunen en modernere technologie te gebruiken. ROS 2 werd aangekondigd op ROSCon 2014, de eerste toezeggingen aan de ros2-repository werden gedaan in februari 2015, gevolgd door alfa-releases in augustus 2015. De eerste distributie-release van ROS 2, Ardent Apalone, werd uitgebracht op 8 december 2017, en luidde een nieuw tijdperk van ROS-ontwikkeling van de volgende generatie.
Ontwerp
Filosofie
ROS is ontworpen met open source in gedachten, met de bedoeling dat gebruikers de configuratie van tools en bibliotheken kunnen kiezen die in wisselwerking staan met de kern van ROS, zodat gebruikers hun softwarestacks kunnen aanpassen aan hun robot en toepassingsgebied. Als zodanig is er maar heel weinig dat de kern is van ROS, buiten de algemene structuur waarbinnen programma's moeten bestaan en communiceren. In zekere zin is ROS het onderliggende loodgieterswerk achter knooppunten en het doorgeven van berichten. In werkelijkheid is ROS echter niet alleen dat loodgieterswerk, maar een rijke en volwassen set tools, een brede reeks robotonafhankelijke mogelijkheden die worden geboden door pakketten, en een groter ecosysteem van toevoegingen aan ROS.
Berekeningsgrafiekmodel
ROS-processen worden weergegeven als knooppunten in een grafiekstructuur, verbonden door randen die onderwerpen worden genoemd. ROS-knooppunten kunnen berichten aan elkaar doorgeven via onderwerpen, serviceaanroepen doen naar andere knooppunten, een service leveren voor andere knooppunten of gedeelde gegevens instellen of ophalen uit een gemeenschappelijke database, de parameterserver. Een proces dat de ROS Master wordt genoemd, maakt dit allemaal mogelijk door knooppunten voor zichzelf te registreren, knooppunt-naar-knooppuntcommunicatie voor onderwerpen in te stellen en parameterserver-updates te regelen. Berichten en service-oproepen gaan niet via de master, maar de master zet peer-to-peer-communicatie op tussen alle knooppuntprocessen nadat ze zichzelf bij de master hebben geregistreerd. Deze gedecentraliseerde architectuur leent zich goed voor robots, die vaak bestaan uit een subset van computerhardware in een netwerk, en die kunnen communiceren met externe computers voor zware berekeningen of opdrachten.
Knooppunten
Een knooppunt vertegenwoordigt een enkel proces dat de ROS-grafiek uitvoert. Elk knooppunt heeft een naam, die het registreert bij de ROS-master voordat het andere acties kan ondernemen. Meerdere knooppunten met verschillende namen kunnen bestaan onder verschillende naamruimten , of een knooppunt kan als anoniem worden gedefinieerd, in welk geval het willekeurig een extra identifier zal genereren om aan de opgegeven naam toe te voegen. Knooppunten vormen het centrum van ROS-programmering, aangezien de meeste ROS-clientcode de vorm heeft van een ROS-knooppunt dat acties onderneemt op basis van informatie die van andere knooppunten is ontvangen, informatie naar andere knooppunten verzendt of verzoeken om acties van en naar andere knooppunten verzendt en ontvangt. knooppunten.
Onderwerpen
Onderwerpen worden bussen genoemd waarover knooppunten berichten verzenden en ontvangen. Onderwerpnamen moeten ook uniek zijn binnen hun naamruimte. Om berichten naar een onderwerp te verzenden, moet een knooppunt naar dat onderwerp publiceren, terwijl het zich moet abonneren om berichten te ontvangen. Het publish/subscribe-model is anoniem: geen enkel knooppunt weet welke knooppunten verzenden of ontvangen over een onderwerp, alleen dat het over dat onderwerp verzendt/ontvangt. De soorten berichten die over een onderwerp worden doorgegeven, lopen sterk uiteen en kunnen door de gebruiker worden gedefinieerd. De inhoud van deze berichten kan sensorgegevens, motorbesturingscommando's, statusinformatie, actuatorcommando's of iets anders zijn.
Diensten
Een knooppunt kan ook diensten adverteren. Een service vertegenwoordigt een actie die een knooppunt kan uitvoeren met één resultaat. Als zodanig worden services vaak gebruikt voor acties met een gedefinieerd begin en einde, zoals het vastleggen van een enkelvoudig beeld, in plaats van snelheidscommando's naar een wielmotor of kilometertellergegevens van een wielencoder te verwerken. Nodes adverteren services en belservices van elkaar.
Parameterserver
De parameterserver is een database die wordt gedeeld tussen knooppunten en die gemeenschappelijke toegang tot statische of semi-statische informatie mogelijk maakt. Gegevens die niet vaak veranderen en als zodanig niet vaak worden geraadpleegd, zoals de afstand tussen twee vaste punten in de omgeving of het gewicht van de robot, zijn goede kandidaten voor opslag in de parameterserver.
Gereedschap
De kernfunctionaliteit van ROS wordt aangevuld met een verscheidenheid aan tools waarmee ontwikkelaars gegevens kunnen visualiseren en vastleggen, gemakkelijk door de ROS-pakketstructuren kunnen navigeren en scripts kunnen maken die complexe configuratie- en instellingsprocessen automatiseren. De toevoeging van deze tools vergroot de mogelijkheden van systemen die ROS gebruiken aanzienlijk door vereenvoudiging en het bieden van oplossingen voor een aantal veelvoorkomende ontwikkelingsproblemen van robotica. Deze tools worden geleverd in pakketten zoals elk ander algoritme, maar in plaats van implementaties van hardwarestuurprogramma's of algoritmen voor verschillende robottaken, bieden deze pakketten taak- en robotonafhankelijke tools die worden geleverd met de kern van de meeste moderne ROS-installaties.
rviz
rviz is een driedimensionale visualizer die wordt gebruikt om robots, de omgevingen waarin ze werken en sensorgegevens te visualiseren. Het is een zeer configureerbare tool, met veel verschillende soorten visualisaties en plug-ins.
rosbag
rosbag is een opdrachtregelprogramma dat wordt gebruikt om ROS-berichtgegevens op te nemen en af te spelen. rosbag gebruikt een bestandsformaat genaamd bags, dat ROS-berichten logt door naar onderwerpen te luisteren en berichten op te nemen zodra ze binnenkomen. Het afspelen van berichten uit een bag is grotendeels hetzelfde als het hebben van de originele nodes die de gegevens in de ROS-berekeningsgrafiek produceerden, waardoor tassen een handig hulpmiddel voor het vastleggen van gegevens die in latere ontwikkeling kunnen worden gebruikt. Hoewel rosbag alleen een tool voor de opdrachtregel is, biedt rqt_bag een GUI-interface voor rosbag.
katje
catkin is het ROS-buildsysteem, dat rosbuild heeft vervangen vanaf ROS Groovy. catkin is gebaseerd op CMake en is eveneens platformonafhankelijk, open-source en taalonafhankelijk.
rosbash
Het rosbash-pakket biedt een reeks tools die de functionaliteit van de bash-shell vergroten . Deze tools omvatten rosls, roscd en roscp, die respectievelijk de functionaliteiten van ls , cd en cp repliceren . Met de ROS-versies van deze tools kunnen gebruikers ros-pakketnamen gebruiken in plaats van het bestandspad waar het pakket zich bevindt. Het pakket voegt ook tab-completie toe aan de meeste ROS-hulpprogramma's en omvat rosed, dat een bepaald bestand bewerkt met de gekozen standaard teksteditor, evenals rosrun, dat uitvoerbare bestanden in ROS-pakketten uitvoert. rosbash ondersteunt dezelfde functionaliteiten voor zsh en tcsh , in mindere mate.
roslaunch
roslaunch is een tool die wordt gebruikt om meerdere ROS-knooppunten zowel lokaal als op afstand te starten, en om parameters in te stellen op de ROS-parameterserver. roslaunch-configuratiebestanden, die met XML zijn geschreven, kunnen een complex opstart- en configuratieproces eenvoudig automatiseren in één enkele opdracht. roslaunch-scripts kunnen andere roslaunch-scripts bevatten, knooppunten op specifieke machines starten en zelfs processen herstarten die tijdens de uitvoering afsterven.
Let op!
ROS bevat veel open-source implementaties van veelgebruikte robotica-functionaliteit en algoritmen. Deze open-source implementaties zijn georganiseerd in pakketten. Veel pakketten zijn opgenomen als onderdeel van ROS-distributies, terwijl andere door individuen kunnen worden ontwikkeld en worden gedistribueerd via sites voor het delen van codes, zoals github. Enkele belangrijke pakketten zijn:
Systemen en tools
- actionlib biedt een gestandaardiseerde interface voor interfacing met verwijderbare taken.
- nodelet biedt een manier om meerdere algoritmen in één proces uit te voeren.
- rosbridge biedt een JSON API voor ROS-functionaliteiten voor niet-ROS-programma's.
In kaart brengen en lokaliseren
- slam toolbox biedt een volledig 2D SLAM- en lokalisatiesysteem.
- gmapping biedt een wrapper voor het Gmapping- algoritme van OpenSlam voor gelijktijdige lokalisatie en mapping .
- cartograaf biedt realtime 2D- en 3D-SLAM-algoritmen die door Google zijn ontwikkeld .
- amcl biedt een implementatie van adaptieve Monte-Carlo-lokalisatie.
- navigatie biedt de mogelijkheid om een mobiele robot in een vlakke omgeving te navigeren.
Perceptie
- vision_opencv is een metapakket dat pakketten biedt voor het integreren van ROS met OpenCV .
Coördinatenframe weergave
- tf leverde een systeem voor het weergeven, volgen en transformeren van coördinaatframes tot ROS Hydro, toen het werd afgeschaft ten gunste van tf2.
- tf2 is de tweede generatie van de tf-bibliotheek en biedt dezelfde mogelijkheden voor ROS-versies na Hydro.
Simulatie
- gazebo_ros_pkgs is een metapakket dat pakketten biedt voor het integreren van ROS met de Gazebo- simulator.
- stage biedt een interface voor de 2D Stage- simulator.
Versies en releases
ROS-releases kunnen incompatibel zijn met andere releases en worden vaak aangeduid met de codenaam in plaats van met het versienummer. ROS brengt momenteel elk jaar in mei een versie uit, volgend op de release van Ubuntu LTS-versies. ROS 2 brengt momenteel elk half jaar (in december en juli) een nieuwe versie uit. Deze releases worden één jaar ondersteund. Er zijn momenteel twee actieve hoofdversies die worden uitgebracht: ROS 1 en ROS 2. Daarnaast is er het ROS-Industrial of ROS-I afgeleide project sinds ten minste 2012.
ROS 1
ROS 2
| Verdeling | Datum van publicatie | Poster | EOL-datum | Ondersteuningsduur | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rolling Ridley (rollende release met de nieuwste functies) |
vordert sinds juni 2020 |
(onbekend) | Nvt | Nvt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (J Schildpad) | mei 2024 | nog niet bekend | EST. mei 2029 | 5 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (ik schildpad) | mei 2023 | nog niet bekend | EST. november, 2024 | 1,5 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nederige karetschildpad | mei 2022 | nog niet bekend | EST. mei 2027 | 5 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Galactische Geochelone | 23 mei 2021 |
|
november 2022 | 1,5 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Foxy Fitzroy | 5 juni 2020 |
|
mei 2023 | 2 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Welsprekende Elusor | 22 nov 2019 |
|
november 2020 | 1 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Onstuimige Diademata | 31 mei 2019 |
|
mei 2021 | 2 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Crystal Clemmys | 14 december 2018 |
|
december 2019 | 1 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bouncy Bolson | 2 juli 2018 |
|
juli 2019 | 1 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Vurige Apalone | 8 december 2017 |
|
december 2018 | 1 jaar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta3 | 13 september 2017 | Nvt | december 2017 | 4 maanden | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| beta2 | 5 juli 2017 | Nvt | september 2017 | 2 maanden | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (ROS 2 realtime voorstel) | 7 januari 2016 | Nvt | Nvt | Nvt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| bèta1 | 19 december 2016 | Nvt | juli 2017 | 7 maanden | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| alpha1 (Anker) - alpha8 (Hook-and-Loop) |
31 augustus 2015 - 5 oktober 2016 |
Nvt | december 2016 | totaal: 16 maanden | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ("Waarom ROS 2?") | 20 juli 2015 | Nvt | Nvt | Nvt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (batch CI-taken voor ROS 2 en http://design.ros2.org ) |
waarnaar wordt verwezen in Q&A 6 mei 2015 |
Nvt | Nvt | Nvt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (eerst commit naar ROS 2-repository) |
februari 2015 | Nvt | Nvt | Nvt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ROSCon 2014: "Next-generation ROS: voortbouwen op DDS", "ROS 2.0: Developer preview" |
12 september 2014 | Nvt | Nvt | Nvt | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Oude versie
Oudere versie, nog steeds onderhouden
Laatste versie
Toekomstige release
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ROS-Industrieel
ROS-Industrial is een open-source project (BSD (legacy)/Apache 2.0 (preferred) licentie) dat de geavanceerde mogelijkheden van ROS uitbreidt naar productieautomatisering en robotica. In de industriële omgeving zijn er twee verschillende benaderingen voor het programmeren van een robot: ofwel via een externe eigen controller, meestal geïmplementeerd met behulp van ROS. Of via de respectievelijke native programmeertaal van de robot. ROS kan daarom worden gezien als de op software gebaseerde benadering om industriële robots te programmeren in plaats van de klassieke op robotbesturing gebaseerde benadering.
De ROS-Industrial repository bevat interfaces voor veelvoorkomende industriële manipulatoren, grijpers, sensoren en apparaatnetwerken. Het biedt ook softwarebibliotheken voor automatische 2D/3D-sensorkalibratie, procespad-/bewegingsplanning, toepassingen zoals Scan-N-Plan, ontwikkelaarstools zoals de Qt Creator ROS-plug-in en trainingscurriculum dat specifiek is voor de behoeften van fabrikanten. ROS-I wordt ondersteund door een internationaal consortium van leden uit de industrie en het onderzoek. Het project begon als een samenwerking tussen Yaskawa Motoman Robotics, Southwest Research Institute en Willow Garage om het gebruik van ROS voor productieautomatisering te ondersteunen, waarbij de GitHub-repository in januari 2012 werd opgericht door Shaun Edwards (SwRI). Momenteel is het Consortium verdeeld in drie groepen; het ROS-Industrial Consortium Americas (geleid door SwRI en gevestigd in San Antonio, Texas), het ROS-Industrial Consortium Europe (geleid door Fraunhofer IPA en gevestigd in Stuttgart, Duitsland) en het ROS-Industrial Consortium Asia Pacific (geleid door Advanced Remanufacturing and Technology Center (ARTC) en Nanyang Technological University (NTU) en gevestigd in Singapore).
De Consortia ondersteunt de wereldwijde ROS-industriële gemeenschap door ROS-I-trainingen te geven, technische ondersteuning te bieden en de toekomstige routekaart voor ROS-I op te stellen, evenals pre-competitieve gezamenlijke industriële projecten uit te voeren om nieuwe ROS-I-mogelijkheden te ontwikkelen.
ROS-compatibele robots en hardware
Robots
- ABB , Adept, Fanuc , Motoman en Universal Robots worden ondersteund door ROS-Industrial .
- Baxter bij Rethink Robotics , Inc.
- CK-9: robotica-ontwikkelingskit van Centauri Robotics, ondersteunt ROS.
- HERB is ontwikkeld aan de Carnegie Mellon University in het persoonlijke roboticaprogramma van Intel
- Husky A200: robot ontwikkeld (en geïntegreerd in ROS) door Clearpath Robotics
- PR1: persoonlijke robot ontwikkeld in het laboratorium van Ken Salisbury in Stanford
- PR2: persoonlijke robot in ontwikkeling bij Willow Garage
- Raven II chirurgisch robotonderzoeksplatform
- Shadow Robot Hand: een volledig behendige humanoïde hand.
- STAIR I en II: robots ontwikkeld in het laboratorium van Andrew Ng in Stanford
- SummitXL: mobiele robot ontwikkeld door Robotnik , een ingenieursbureau gespecialiseerd in mobiele robots, robotarmen en industriële oplossingen met ROS-architectuur.
- Nao humanoid: het Humanoid Robots Lab van de Universiteit van Freiburg ontwikkelde een ROS-integratie voor de Nao humanoid op basis van een eerste port door Brown University
- UBR1: ontwikkeld door Unbounded Robotics, een spin-off van Willow Garage.
- ROSbot: autonoom robotplatform van Husarion
- Webots : robotsimulator die een complete ROS-programmeerinterface integreert.
- GoPiGo3: op Raspberry Pi gebaseerde educatieve robot, ondersteunt ROS.
SBC's en hardware
- BeagleBoard: het robotica-lab van de Katholieke Universiteit Leuven , België heeft ROS overgezet naar het Beagleboard .
- Sitara ARM-processors hebben ondersteuning voor het ROS-pakket als onderdeel van de officiële Linux SDK.
- Raspberry Pi: afbeelding van Ubuntu Mate met ROS door Ubiquity Robotics; installatiehandleiding voor Raspbian.
Zie ook
- Hardware openen
- Robotica-middleware
- Open source software
- Lijst met gratis en open-source softwarepakketten
Referenties
- Opmerkingen:
- TRAP: Het STanford Artificial Intelligence Robot-project, Andrew Y. Ng , Stephen Gould, Morgan Quigley, Ashutosh Saxena , Eric Berger. Sneeuwvogel, 2008.
Gerelateerde projecten
- RT-middleware - Standaard/implementaties van robotmiddleware. RT-component wordt besproken/gedefinieerd door de Object Management Group .