Sistem de operare robot - Robot Operating System

Sistem de operare robot
Logo-ul sistemului de operare robot
Logo-ul sistemului de operare robot
Coșul împingând rviz holonomic.jpg
Simulare de împingere a căruciorului în RVIZ
Autori originali Willow Garage
Stanford Artificial Intelligence Laboratory
Open Robotics
Eliberarea inițială 2007 ; Acum 14 ani ( 2007 )
Versiune stabila
Galactic Geochelone (ROS 2) / 23 mai 2021 ; acum 3 luni ( 2021-05-23 )
Previzualizare lansare
Rolling Ridley (ROS 2)
Repertoriu
Scris in C ++ , Python sau Lisp
Sistem de operare Linux , MacOS (experimental), Windows 10 (experimental)
Tip Suită de robotică , sistem de operare , bibliotecă
Licență Licență Apache 2.0
Site-ul web www .ros .org

Sistemul de operare robot ( ROS sau ros ) este o suită open-source de robotică middleware . Deși ROS nu este un sistem de operare, ci o colecție de cadre software pentru dezvoltarea de software robot , acesta oferă servicii concepute pentru un cluster de calcul eterogen, cum ar fi abstractizarea hardware , controlul dispozitivelor la nivel scăzut , implementarea funcționalității utilizate în mod obișnuit, transmiterea mesajelor între procese , și gestionarea pachetelor. Seturile de rulare de procese bazate pe ROS sunt reprezentate într-o arhitectură grafică în care procesarea are loc în noduri care pot primi, posta și multiplexa datele senzorului, controlul, starea, planificarea, actuatorul și alte mesaje. În ciuda importanței reactivității și a latenței scăzute în controlul robotului, ROS în sine nu este un sistem de operare în timp real (RTOS). Cu toate acestea, este posibil să se integreze ROS cu cod în timp real. Lipsa suportului pentru sistemele în timp real a fost abordată în crearea ROS 2, o revizuire majoră a API-ului ROS, care va profita de bibliotecile și tehnologiile moderne pentru funcționalitatea de bază ROS și va adăuga suport pentru cod în timp real și hardware încorporat .

Software-ul din ecosistemul ROS poate fi separat în trei grupuri:

  • instrumente independente de limbă și platformă utilizate pentru construirea și distribuirea de software bazat pe ROS;
  • Implementări de bibliotecă client ROS, cum ar fi roscpp, rospy și roslisp;
  • pachete care conțin cod legat de aplicație care utilizează una sau mai multe biblioteci client ROS.

Atât instrumentele independente de limbă, cât și principalele biblioteci de clienți ( C ++ , Python și Lisp ) sunt eliberate în condițiile licenței BSD și, ca atare, sunt programe open-source și gratuite atât pentru utilizare comercială, cât și pentru cercetare. Majoritatea celorlalte pachete sunt licențiate sub o varietate de licențe open-source . Aceste alte pachete implementează funcționalități și aplicații utilizate în mod obișnuit, cum ar fi drivere hardware, modele de roboți, tipuri de date, planificare, percepție , localizare și mapare simultană , instrumente de simulare și alți algoritmi.

Principalele biblioteci de clienți ROS sunt orientate către un sistem asemănător Unix , în principal datorită dependenței lor de colecții mari de dependențe de software open-source. Pentru aceste biblioteci client, Ubuntu Linux este listat ca „Suportat”, în timp ce alte variante precum Fedora Linux , macOS și Microsoft Windows sunt desemnate „experimentale” și sunt acceptate de comunitate. Biblioteca nativă client Java ROS, rosjava, nu împărtășește însă aceste limitări și a permis ca software-ul bazat pe ROS să fie scris pentru sistemul de operare Android . rosjava a permis, de asemenea, integrarea ROS într-o cutie de instrumente MATLAB acceptată oficial, care poate fi utilizată pe Linux , MacOS și Microsoft Windows. O bibliotecă client JavaScript , roslibjs a fost, de asemenea, dezvoltată, care permite integrarea software-ului într-un sistem ROS prin orice browser web conform standardelor.

Istorie

Primele zile la Stanford (2007 și mai devreme)

Cu ceva timp înainte de 2007, primele piese din ceea ce în cele din urmă avea să devină ROS începeau să se reunească la Universitatea Stanford . Eric Berger și Keenan Wyrobek , doctoranzi care lucrează în laboratorul de robotică al lui Kenneth Salisbury la Stanford, conduceau programul de robotică personală. În timp ce lucrau la roboți pentru a efectua sarcini de manipulare în mediile umane, cei doi studenți au observat că mulți dintre colegii lor au fost împiedicați de natura diversă a roboticii: un excelent dezvoltator de software ar putea să nu aibă cunoștințele hardware necesare, cineva care dezvoltă o cale de ultimă generație. planificarea ar putea să nu știe cum să facă viziunea pe computer necesară. În încercarea de a remedia această situație, cei doi studenți și-au propus să creeze un sistem de bază care să ofere un loc de plecare pentru alții din mediul academic. În cuvintele lui Eric Berger, „ceva care nu a supt, în toate aceste dimensiuni diferite”.

În primii lor pași către acest sistem de unificare, cei doi au construit PR1 ca prototip hardware și au început să lucreze la software de la acesta, împrumutând cele mai bune practici din alte cadre software de tip robot open-source, în special switchyard, un sistem pe care Morgan Quigley, un alt doctorand Stanford lucrase la sprijinul STAIR (STanford Artificial Intelligence Robot) de către Laboratorul de Inteligență Artificială Stanford . Finanțarea timpurie de 50.000 USD a fost asigurată de Joanna Hoffman și Alain Rossmann , care au sprijinit dezvoltarea PR1. În timp ce căutau finanțare pentru dezvoltarea ulterioară, Eric Berger și Keenan Wyrobek l-au întâlnit pe Scott Hassan , fondatorul Willow Garage , un incubator de tehnologie care lucra la un SUV autonom și la o barcă autonomă solară. Hassan a împărtășit viziunea lui Berger și Wyrobek despre un „Linux pentru robotică” și i-a invitat să vină să lucreze la Willow Garage. Willow Garage a fost început în ianuarie 2007, iar prima confirmare a codului ROS a fost făcută la SourceForge pe 7 noiembrie 2007.

Willow Garage (2007-2013)

Willow Garage a început să dezvolte robotul PR2 ca urmare a PR1, iar ROS ca software pentru al rula. Grupuri din peste douăzeci de instituții au contribuit la ROS, atât software-ul de bază, cât și numărul tot mai mare de pachete care au lucrat cu ROS pentru a forma un ecosistem software mai mare. Faptul că oamenii din afara Willow au contribuit la ROS (în special din proiectul STAIR al lui Stanford) a însemnat că ROS a fost o platformă multi-robot de la început. În timp ce Willow Garage a avut inițial alte proiecte în desfășurare, acestea au fost abandonate în favoarea Programului de Robotică Personală: axat pe producerea PR2 ca platformă de cercetare pentru mediul academic și ROS ca stiva de robotică open-source care ar sta la baza atât cercetării academice, cât și tehnologiei. startup-uri, la fel cum a făcut stiva LAMP pentru startup-urile web.

În decembrie 2008, Willow Garage a îndeplinit primul dintre cele trei etape interne: navigarea continuă pentru PR2 pe o perioadă de două zile și o distanță de pi kilometri. La scurt timp, a fost lansată o versiune timpurie a ROS (0.4 Mango Tango), urmată de prima documentație RVIZ și prima lucrare despre ROS. La începutul verii, s-a ajuns la a doua etapă internă: ca PR2 să navigheze la birou, să deschidă ușile și să îl conecteze, a fost atins. Aceasta a fost urmată în august de inițierea site-ului ROS.org. Tutorialele timpurii despre ROS au fost postate în decembrie, pregătindu-se pentru lansarea ROS 1.0, în ianuarie 2010. Acesta a fost Etapa 3: producerea de tone de documentație și tutoriale pentru capacitățile enorme pe care inginerii Willow Garage le dezvoltaseră în ultimii 3 ani.

Ulterior, Willow Garage și-a atins unul dintre cele mai îndelungate obiective: oferirea a 10 roboți PR2 către instituții academice demne. Acesta a fost mult timp un obiectiv al fondatorilor, deoarece au simțit că PR2 ar putea iniția cercetarea robotică din întreaga lume. Au ajuns să acorde unsprezece PR2 la diferite instituții, inclusiv la Universitatea din Freiburg (Germania) , Bosch , Georgia Tech , KU Leuven (Belgia) , MIT , Stanford , TU München (Germania) , UC Berkeley , U Penn , USC și Universitatea din Tokyo (Japonia) . Acest lucru, combinat cu programul de stagii de mare succes al lui Willow Garage (derulat din 2008 până în 2010 de Melonee Wise ), a ajutat la răspândirea cuvântului despre ROS în întreaga lume a roboticii. Prima versiune oficială de distribuție ROS: ROS Box Turtle, a fost lansată pe 2 martie 2010, marcând pentru prima dată când ROS a fost distribuit oficial cu un set de pachete versionate pentru uz public. Aceste evoluții au condus la prima dronă care funcționează ROS, prima mașină autonomă care funcționează ROS și la adaptarea ROS pentru Lego Mindstorms . Cu programul PR2 Beta în plină desfășurare, robotul PR2 a fost lansat oficial pentru achiziții comerciale pe 9 septembrie 2010.

Image
O imagine a sistemului de operare robot (ROS) care rulează în Antarctica.

2011 a fost un an banner pentru ROS odată cu lansarea ROS Answers, un forum Q / A pentru utilizatorii ROS, pe 15 februarie; introducerea kitului de robot TurtleBot de mare succes pe 18 aprilie; și numărul total de depozite ROS care trec 100 la 5 mai. Willow Garage a început 2012 prin crearea Open Source Robotics Foundation (OSRF) în aprilie. OSRF a primit imediat un contract software de către Agenția de Proiecte de Cercetare Avansată în Apărare (DARPA). Mai târziu în acel an, primul ROSCon a avut loc la St. Paul, Minnesota, a fost publicată prima carte despre ROS, ROS By Example , iar Baxter , primul robot comercial care a rulat ROS, a fost anunțat de Rethink Robotics . La scurt timp după ce a trecut cea de-a cincea aniversare în noiembrie, ROS a început să ruleze pe fiecare continent pe 3 decembrie 2012.

În februarie 2013, OSRF a devenit principalele întreținători de software pentru ROS, prefigurând anunțul din august că Willow Garage va fi absorbit de fondatorii săi, Suitable Technologies . În acest moment, ROS a lansat șapte versiuni majore (până la ROS Groovy) și avea utilizatori pe tot globul. Acest capitol al dezvoltării ROS va fi finalizat atunci când Clearpath Robotics a preluat responsabilități de sprijin pentru PR2 la începutul anului 2014.

OSRF și Open Robotics (2013 – prezent)

În anii de când OSRF a preluat dezvoltarea primară a ROS, o nouă versiune a fost lansată în fiecare an, în timp ce interesul pentru ROS continuă să crească. ROSCons au avut loc în fiecare an din 2012, împreună cu ICRA sau IROS , două conferințe emblematice de robotică. Au fost organizate întâlniri de dezvoltatori ROS în diferite țări, au fost publicate mai multe cărți ROS și au fost inițiate multe programe educaționale. La 1 septembrie 2014, NASA a anunțat primul robot care rulează ROS în spațiu: Robotnaut 2 , pe Stația Spațială Internațională . În 2017, OSRF și-a schimbat numele în Open Robotics . Gigantii tehnici Amazon și Microsoft au început să se intereseze de ROS în acest timp, Microsoft portând ROS de bază în Windows în septembrie 2018, urmat de Amazon Web Services lansând RoboMaker în noiembrie 2018.

Poate că cea mai importantă dezvoltare a anilor OSRF / Open Robotics până acum (pentru a nu ignora explozia platformelor robotice care au început să sprijine ROS sau îmbunătățirile enorme din fiecare versiune ROS) a fost propunerea ROS 2, o schimbare semnificativă a API-ului la ROS care este destinat să susțină programarea în timp real , o varietate mai largă de medii de calcul și să utilizeze o tehnologie mai modernă. ROS 2 a fost anunțat la ROSCon 2014, primele versiuni pentru depozitul ros2 au fost făcute în februarie 2015, urmate de versiuni alfa în august 2015. Prima versiune de distribuție a ROS 2, Ardent Apalone, a fost lansată pe 8 decembrie 2017, introducând un noua eră a dezvoltării ROS a generației următoare.

Proiecta

Filozofie

O imagine care descrie ecuația ROS: Instalare + Instrumente + Capacități + Ecosistem = ROS!
O imagine care descrie ecuația ROS: Instalare + Instrumente + Capacități + Ecosistem = ROS!

ROS a fost proiectat cu open source în minte, intenționând ca utilizatorii să poată alege configurația instrumentelor și bibliotecilor care interacționează cu nucleul ROS, astfel încât utilizatorii să își poată schimba stivele de software pentru a se potrivi cu robotul și zona de aplicații. Ca atare, există foarte puțin care este de fapt nucleul ROS, dincolo de structura generală în cadrul căreia programele trebuie să existe și să comunice. Într-un sens, ROS este instalația de bază din spatele nodurilor și transmiterea mesajelor. Cu toate acestea, în realitate, ROS nu este doar acea instalație sanitară, ci un set bogat și matur de instrumente, un set larg de capabilități robot-agnostice furnizate de pachete și un ecosistem mai mare de adăugiri la ROS.

Model de grafic de calcul

Procesele ROS sunt reprezentate ca noduri într-o structură grafică, conectate prin margini numite subiecte. Nodurile ROS pot transmite mesaje unii către alții prin subiecte, pot efectua apeluri de serviciu către alte noduri, pot furniza un serviciu pentru alte noduri sau pot seta sau prelua date partajate dintr-o bază de date comună numită server de parametri. Un proces numit ROS Master face ca toate acestea să fie posibile prin înregistrarea nodurilor la sine, configurarea comunicării nod-la-nod pentru subiecte și controlul actualizărilor serverului de parametri. Mesajele și apelurile de serviciu nu trec prin master, mai degrabă masterul configurează comunicarea peer-to-peer între toate procesele nodului după ce se înregistrează la master. Această arhitectură descentralizată se împrumută bine roboților, care adesea constau dintr-un subset de hardware de computer în rețea și pot comunica cu computerele off-board pentru calcule grele sau comenzi.

Noduri

Un nod reprezintă un singur proces care rulează graficul ROS. Fiecare nod are un nume, pe care îl înregistrează la masterul ROS înainte de a putea face orice alte acțiuni. Mai multe noduri cu nume diferite pot exista sub spații de nume diferite , sau un nod poate fi definit ca anonim, caz în care va genera aleatoriu un identificator suplimentar pe care să îl adăugați la numele său dat. Nodurile se află în centrul programării ROS, deoarece majoritatea codului client ROS este sub forma unui nod ROS care efectuează acțiuni pe baza informațiilor primite de la alte noduri, trimite informații către alte noduri sau trimite și primește cereri de acțiuni către și de la alte noduri.

Subiecte

Subiectele sunt denumite autobuze pe care nodurile trimit și primesc mesaje. Numele subiectelor trebuie să fie unice și în spațiul lor de nume. Pentru a trimite mesaje către un subiect, un nod trebuie să publice subiectul respectiv, în timp ce pentru a primi mesaje trebuie să se aboneze. Modelul de publicare / abonare este anonim: niciun nod nu știe ce noduri trimit sau primesc pe un subiect, doar că trimite / primește pe acel subiect. Tipurile de mesaje transmise pe un subiect variază foarte mult și pot fi definite de utilizator. Conținutul acestor mesaje poate fi datele senzorilor, comenzile de control al motorului, informațiile de stare, comenzile actuatorului sau orice altceva.

Servicii

Un nod poate, de asemenea, să promoveze servicii. Un serviciu reprezintă o acțiune pe care o poate face un nod care va avea un singur rezultat. Ca atare, serviciile sunt adesea folosite pentru acțiuni care au un început și un sfârșit definite, cum ar fi captarea unei imagini cu un singur cadru, mai degrabă decât procesarea comenzilor de viteză la un motor de roată sau date de kilometraj de la un codificator de roată. Nodurile promovează servicii și servicii de apel reciproc.

Server parametru

Serverul de parametri este o bază de date partajată între noduri, care permite accesul comun la informații statice sau semi-statice. Datele care nu se schimbă frecvent și ca atare vor fi accesate rar, cum ar fi distanța dintre două puncte fixe din mediu sau greutatea robotului, sunt candidați buni pentru stocare în serverul de parametri.

Instrumente

Funcționalitatea de bază a ROS este mărită de o varietate de instrumente care permit dezvoltatorilor să vizualizeze și să înregistreze date, să navigheze cu ușurință în structurile pachetelor ROS și să creeze scripturi care automatizează procesele complexe de configurare și configurare. Adăugarea acestor instrumente mărește foarte mult capacitățile sistemelor care utilizează ROS prin simplificarea și furnizarea de soluții la o serie de probleme comune de dezvoltare a roboticii. Aceste instrumente sunt furnizate în pachete ca orice alt algoritm, dar mai degrabă decât să furnizeze implementări de drivere hardware sau algoritmi pentru diferite sarcini robotizate, aceste pachete oferă instrumente de sarcină și robot-agnostice care vin cu nucleul celor mai moderne instalații ROS.

rviz

rviz este un vizualizator tridimensional folosit pentru a vizualiza roboții, mediile în care lucrează și datele senzorilor. Este un instrument extrem de configurabil, cu multe tipuri diferite de vizualizări și pluginuri.

rosbag

rosbag este un instrument de linie de comandă utilizat pentru înregistrarea și redarea datelor mesajelor ROS. rosbag folosește un format de fișier numit bags, care înregistrează mesajele ROS ascultând subiecte și înregistrând mesaje pe măsură ce intră. Redarea mesajelor dintr-o pungă este în mare parte aceeași cu a avea nodurile originale care au produs datele în graficul de calcul ROS, făcând pune la dispoziție un instrument util pentru înregistrarea datelor pentru a fi utilizate în dezvoltarea ulterioară. În timp ce rosbag este un instrument numai pentru linia de comandă, rqt_bag oferă o interfață GUI pentru rosbag.

mâţişor

catkin este sistemul de construcție ROS, după ce a înlocuit rosbuild începând cu ROS Groovy. catkin se bazează pe CMake și este similar pe mai multe platforme, open-source și independent de limbă.

rosbash

Pachetul rosbash oferă o suită de instrumente care sporesc funcționalitatea shell-ului bash . Aceste instrumente includ rosls, roscd și roscp, care reproduc funcționalitățile ls , cd și, respectiv, cp . Versiunile ROS ale acestor instrumente permit utilizatorilor să utilizeze numele pachetelor ros în locul căii fișierului în care se află pachetul. Pachetul adaugă, de asemenea, completarea tab-urilor la majoritatea utilităților ROS și include rosed, care editează un fișier dat cu editorul de text implicit ales, precum și rosrun, care rulează executabile în pachetele ROS. rosbash acceptă aceleași funcționalități pentru zsh și tcsh , într-o măsură mai mică.

rozlaunch

roslaunch este un instrument utilizat pentru lansarea mai multor noduri ROS atât local, cât și de la distanță, precum și setarea parametrilor pe serverul de parametri ROS. fișierele de configurare roslaunch, care sunt scrise utilizând XML pot automatiza cu ușurință un proces complex de pornire și configurare într-o singură comandă. scripturile roslaunch pot include alte scripturi roslaunch, lansează noduri pe anumite mașini și chiar repornesc procesele care mor în timpul execuției.

Pachete de note

ROS conține multe implementări open-source de funcționalități și algoritmi de robotică obișnuiți. Aceste implementări open-source sunt organizate în pachete. Multe pachete sunt incluse ca parte a distribuțiilor ROS, în timp ce altele pot fi dezvoltate de persoane fizice și distribuite prin site-uri de partajare a codului, cum ar fi github. Unele pachete de note includ:

Sisteme și instrumente

  • actionlib oferă o interfață standardizată pentru interfața cu sarcini preentenabile.
  • nodelet oferă o modalitate de a rula mai mulți algoritmi într-un singur proces.
  • rosbridge oferă o funcționalitate API JSON către ROS pentru programele non-ROS.

Cartografiere și localizare

Navigare

  • navigarea oferă capacitatea de a naviga pe un robot mobil într-un mediu plan.

Percepţie

  • vision_opencv este un meta-pachet care oferă pachete pentru integrarea ROS cu OpenCV .

Reprezentarea cadrului coordonat

  • tf a furnizat un sistem pentru reprezentarea, urmărirea și transformarea cadrelor de coordonate până la ROS Hydro, când a fost depreciat în favoarea tf2.
  • tf2 este a doua generație a bibliotecii tf și oferă aceleași capacități pentru versiunile ROS după Hydro.

Simulare

  • gazebo_ros_pkgs este un meta-pachet care oferă pachete pentru integrarea ROS cu simulatorul Gazebo .
  • stage oferă o interfață pentru simulatorul 2D Stage .

Versiuni și versiuni

Versiunile ROS pot fi incompatibile cu alte versiuni și sunt adesea menționate mai degrabă prin numele de cod decât numărul versiunii. ROS lansează în prezent o versiune în fiecare an în luna mai, după lansarea versiunilor Ubuntu LTS. ROS 2 lansează în prezent o nouă versiune la fiecare șase luni (în decembrie și iulie). Aceste versiuni sunt acceptate pentru un singur an. În prezent, există două versiuni majore active care văd lansări: ROS 1 și ROS 2. În afară de aceasta, există proiectul derivat ROS-Industrial sau ROS-I din cel puțin 2012.

ROS 1

Lansări de distribuție ROS 1
Distribuție Data de lansare Poster Data EOL Durata suportului
Noetic Ninjemys
(ultima versiune ROS 1)
23 mai 2020 Noetic.png Versiune stabilă curentă: Mai 2025 5 ani
Morenia melodică 23 mai 2018 Melenia Morenia.png Versiune mai veche, dar încă menținută: 2023-05-30 5 ani
Lunar Loggerhead 23 mai 2017 ROS Lunar Loggerhead.png Versiune veche, care nu mai este menținută: 30.05.2019 2 ani
Kinetic Kame 23 mai 2016 Kinetic.png Versiune veche, care nu mai este menținută: 2021-05-30 5 ani
Țestoasa de Jad 23 mai 2015 ROS jade logo.png Versiune veche, care nu mai este menținută: 30.05.2017 2 ani
Igloo Indigo 22 iulie 2014 Indigoigloo 600.png Versiune veche, care nu mai este menținută: 2019-04-30 5 ani
Hydro Medusa 4 septembrie 2013 ROS Hydro logo.png Versiune veche, care nu mai este menținută: 31.05.2014 0,5 ani
Groovy Galapagos 31 decembrie 2012 ROS Groovy logo.jpg Versiune veche, care nu mai este menținută: 31.07.2014 2 ani
Furtte Turtle 23 aprilie 2012 ROS Fuerte logo.jpg Versiune veche, care nu mai este menținută: -
Emys electrice 30 august 2011 ROS Electric logo.png Versiune veche, care nu mai este menținută: -
Diamondback 2 martie 2011 ROS Diamondback logo.jpg Versiune veche, care nu mai este menținută: -
C Broasca testoasa 2 august 2010 Logo-ul ROS C.jpg Versiune veche, care nu mai este menținută: -
Broasca testoasa 2 martie 2010 Logo ROS Box.png Versiune veche, care nu mai este menținută: -
(Lansare inițială) 2007 n / A Versiune veche, care nu mai este menținută: - n / A
Legendă:
Versiune veche
Versiune mai veche, încă menținută
Ultima versiune
Ultima versiune de previzualizare
Lansare viitoare

ROS 2

Lansări de distribuție ROS 2
Distribuție Data de lansare Poster Data EOL Durata suportului
Rolling Ridley
(lansare cu cele mai recente caracteristici)
progresează din
iunie 2020
(necunoscut) N / A N / A
(J Turtle) Mai 2024 tbd Lansare viitoare:EST. Mai 2029 5 ani
(I Turtle) Mai 2023 tbd Lansare viitoare:EST. Noiembrie 2024 1,5 ani
Humble Hawksbill Mai 2022 tbd Lansare viitoare:EST. Mai 2027 5 ani
Geochelone Galactic 23 mai 2021 Afișul de lansare pentru ROS 2 Galactic Geochelone. Versiune stabilă curentă: Noiembrie 2022 1,5 ani
Foxy Fitzroy 5 iunie 2020 Logo-ul pentru ROS 2 lansează Foxy Fitzroy. Versiune mai veche, dar încă menținută: Mai 2023 2 ani
Elusor Elusor 22 noiembrie 2019 Sigla pentru ROS 2 lansează Eloquent Elusor. Versiune veche, care nu mai este menținută: Noiembrie 2020 1 an
Diademă Dashing 31 mai 2019 Logo-ul pentru lansarea ROS 2 Dashing Diademata. Versiune veche, care nu mai este menținută: Mai 2021 2 ani
Crystal Clemmys 14 decembrie 2018 Logo-ul pentru lansarea ROS 2 Crystal Clemmys. Versiune veche, care nu mai este menținută: Decembrie 2019 1 an
Bouncy Bolson 2 iulie 2018 Logo-ul pentru lansarea ROS 2 Bouncy Bolson. Versiune veche, care nu mai este menținută: Iulie 2019 1 an
Ardent Apalone 8 decembrie 2017 Logo-ul pentru ROS 2 lansează Ardent Apalone. Versiune veche, care nu mai este menținută: Decembrie 2018 1 an
beta3 13 septembrie 2017 N / A Versiune veche, care nu mai este menținută: Decembrie 2017 4 luni
beta2 5 iulie 2017 N / A Versiune veche, care nu mai este menținută: Septembrie 2017 2 luni
(Propunere ROS 2 în timp real) 7 ianuarie 2016 N / A N / A N / A
beta1 19 decembrie 2016 N / A Versiune veche, care nu mai este menținută: Iulie 2017 7 luni
alpha1 (Ancoră) -
alpha8 (Hook-and-Loop)
31 august 2015 -
5 octombrie 2016
N / A Versiune veche, care nu mai este menținută: Decembrie 2016 total: 16 luni
(„De ce ROS 2?”) 20 iulie 2015 N / A N / A N / A
(joburi de lot CI pentru ROS 2
și http://design.ros2.org )
la care se face referire în Întrebări și răspunsuri
6 mai 2015
N / A N / A N / A
(se angajează mai întâi la
depozitul ROS 2)
Februarie 2015 N / A N / A N / A
ROSCon 2014:
„Următoarea generație ROS: Construind pe DDS”,
„ROS 2.0: Previzualizare dezvoltator”
12 septembrie 2014 N / A N / A N / A
Legendă:
Versiune veche
Versiune mai veche, încă menținută
Ultima versiune
Ultima versiune de previzualizare
Lansare viitoare

ROS-Industrial

ROS-Industrial este un proiect open-source (licență BSD (moștenită) / Apache 2.0 (preferată)) care extinde capacitățile avansate ale ROS la automatizarea producției și robotică. În mediul industrial, există două abordări diferite pentru programarea unui robot: fie printr-un controler extern proprietar, implementat de obicei folosind ROS. Sau prin intermediul limbajului de programare nativ al robotului. Prin urmare, ROS poate fi văzut ca abordarea bazată pe software pentru programarea roboților industriali, în loc de abordarea clasică bazată pe controlerul robotului.

Depozitul ROS-Industrial include interfețe pentru manipulatoare industriale obișnuite, dispozitive de prindere, senzori și rețele de dispozitive. De asemenea, oferă biblioteci de software pentru calibrarea automată a senzorilor 2D / 3D, calea procesului / planificarea mișcării, aplicații precum Scan-N-Plan, instrumente pentru dezvoltatori precum Qt Creator ROS Plugin și program de instruire specific nevoilor producătorilor. ROS-I este susținut de un consorțiu internațional de membri ai industriei și cercetării. Proiectul a început ca un efort de colaborare între Yaskawa Motoman Robotics, Southwest Research Institute și Willow Garage pentru a sprijini utilizarea ROS pentru automatizarea producției, depozitul GitHub fiind fondat în ianuarie 2012 de Shaun Edwards (SwRI). În prezent, Consorțiul este împărțit în trei grupuri; ROS-Industrial Consortium Americas (condus de SwRI și situat în San Antonio, Texas), ROS-Industrial Consortium Europe (condus de Fraunhofer IPA și situat în Stuttgart, Germania) și ROS-Industrial Consortium Asia Pacific (condus de Advanced Remanufacturing and Technology Center (ARTC) și Nanyang Technological University (NTU) și situate în Singapore).

Consorțiile sprijină comunitatea globală ROS-Industrial prin desfășurarea de formare ROS-I, oferind asistență tehnică și stabilirea viitoarei foi de parcurs pentru ROS-I, precum și desfășurarea de proiecte comune din industrie precompetitive pentru dezvoltarea de noi capacități ROS-I.

Roboți și hardware compatibili cu ROS

Roboți

  • Roboții ABB , Adept, Fanuc , Motoman și Universal sunt susținuți de ROS-Industrial .
  • Baxter la Rethink Robotics , Inc.
  • CK-9: kit de dezvoltare robotică de la Centauri Robotics, acceptă ROS.
  • HERB s-a dezvoltat la Universitatea Carnegie Mellon în programul personal de robotică Intel
  • Husky A200: robot dezvoltat (și integrat în ROS) de Clearpath Robotics
  • PR1: robot personal dezvoltat în laboratorul lui Ken Salisbury de la Stanford
  • PR2: robot personal dezvoltat la Willow Garage
  • Platforma de cercetare robotică chirurgicală Raven II
  • Mână Robot Shadow: o mână umanoidă complet dexteră.
  • STAIR I și II: roboți dezvoltați în laboratorul lui Andrew Ng de la Stanford
  • SummitXL: robot mobil dezvoltat de Robotnik , o companie de inginerie specializată în roboți mobili, brațe robotizate și soluții industriale cu arhitectură ROS.
  • Nao humanoid: Universitatea din Freiburg , Humanoid Robots Lab a dezvoltat o integrare ROS pentru Nao umanoid bazat pe un port inițial de la Brown University
  • UBR1: dezvoltat de Unbounded Robotics, un spin-off al Willow Garage.
  • ROSbot: platformă robot autonomă de Husarion
  • Webots : simulator robot care integrează o interfață completă de programare ROS.
  • GoPiGo3: robot educațional bazat pe Raspberry Pi, acceptă ROS.

SBC-uri și hardware

Vezi si

Referințe

Note
  • STAIR: Proiectul STanford Artificial Intelligence Robot, Andrew Y. Ng , Stephen Gould, Morgan Quigley, Ashutosh Saxena , Eric Berger. Snowbird, 2008.

Proiecte asociate

linkuri externe