La robotik är ett växande område. Allt fler AI och robotar ersätter fler människors arbete. De är nuet och framtiden, så det är viktigt att utbilda sig inom den här typen av fält för att veta hur de fungerar och vilka verktyg och system du har till ditt förfogande för dina robotprojekt. Och i den här artikeln kommer du att se vad är ROS och allt du behöver veta om det.
Vad är ROS?
ROS står för Robot Operating System, eller robotoperativsystem. Det är ett mellanprogram för robotik, det vill säga en samling ramverk avsedda att underlätta utvecklingen av mjukvara för robotar. För närvarande används det flitigt i välkända robotar, eftersom det är ett av de bästa verktygen som finns tillgängliga idag, helt gratis, skriven i C och Python och under en BSD-licens för öppen källkod.
ROS utvecklades ursprungligen 2007, inom Stanford Artificiell Intelligens Laboratory, och under kodnamnet Switchyard. Till en början skulle det vara för robotprojektet STAIR2. Efter detta beslutades att öppna.
En fråga som många ofta får är, om det inte är ett operativsystem, varför heter det så? Tja, även om det är en svit av bibliotek för utveckling, är sanningen att den tillhandahåller en del av viktiga funktioner i ett OS, såsom ett abstraktionslager av hårdvaran så att utvecklarna bara oroar sig för mjukvaran, styrning av robotens olika komponenter på låg nivå, kapacitet för hantering och kommunikation av processer, underhåll av paket osv.
Biblioteket är inriktat på UNIX-system, som Linux (i flera distros, även om det bästa stödet är för Ubuntu) och macOS, även om det också fungerar i andra operativsystem som Microsoft Windows.
Det är också viktigt att skilja på delar från ROS:
- gnawed: är den del som fungerar som operativsystemet, basen. Detta är den BSD-licensierade mjukvarudelen. Detta inkluderar huvudkoordinationsnoden, dataflöden (bilder, stereo, laser, styrning, ställdon, kontakt, ...), informationsmultiplex, skapande och förstörelse av noder, inloggning, etc.
- ros-pkg: är den svit av paket som skapats av användare och som implementerar funktioner som planering, perception, simulering, kartläggning, plats, etc. Dessa andra komponenter är licensierade i en mängd olika licenser.
den verktyg ingår i ROS är de:
- rviz: för simulering och 3D-visualisering.
- rosbag: för att spela in och spela upp kommunikationsmeddelanden.
- hänge- Byggverktyg, baserat på CMake.
- rosbash- Paket med verktyg för att utöka funktionaliteten hos bash-skalet.
- roslaunch: för att köra ROS-noder lokalt eller på distans.
ROS-applikationer
ROS är ett projekt i ständig utveckling, och varje gång kan det användas fler applikationer inom området AI och robotik, och gör varje gång sitt jobb bättre:
- Artificiella perceptionssystem.
- Identifiering av föremål och artificiell syn.
- Ansiktsigenkänning, gester osv.
- Objektspårning.
- Visuell odometri.
- Förståelse för rörelser.
- Stereovision.
- Robotrörlighet.
- Kontrollera.
- Planera.
- Gripande föremål.
- Samordning.
- Testning.
- Annat
Exempel på robotar som använder ROS
Det finns många, och det skulle vara svårt att lista dem alla, eftersom ROS nästan har blivit en "standard" för många av dem. Men några av den mest kända ljud:
- PR1: personlig robot utvecklad av Ken Salisbury-laboratoriet i Stanford.
- PR2: personlig robot som utvecklas av Willow Garage.
- Baxter: robot från Rethink Robotics, Inc.
- Shadows robot: en robothand från företaget Shadow Robot, i samarbete med Pierre and Marie Curie University of Paris och Carlos III University of Madrid. Utvecklad inom en europeisk ram.
- ÖRT: skapad på CMU inom det personliga robotprogrammet för Intel-företaget.
- Aldebaran Nao- En humanoid robot skapad av Humanoid Robots Labs och University of Freiburg.
- Husky UGV: ett markfordon och öppen källkod.
Varför ska du lära dig med ROS?
Robotar är komplexa system och robotteknik är svår att förstå. Däremot att ha verktyg som t.ex ROS gör det mycket lättare att utveckla från grunden, påskynda skapandet av dina egna projekt på mycket kortare tid och utan så mycket kunskap som om du inte hade det.
Med andra ord, fördelarna med ROS är att underlätta för utvecklare, med en mängd gratis och öppen källkodstillägg, så att du har allt du behöver. Dessutom får du lära dig mer än robotik, även elektronik, mekanik och programmering:
- Använd språk som C++ och Python för att utveckla appar.
- Administration av nätverk och system för att installera och underhålla ROS.
- Grundläggande robotikkoncept som kartläggning, AI, lokalisering, invers kinematik etc., att kunna sätta sensorer, ställdon, styrenheter etc i kontakt.
Oavsett robotens komplexitet, med ROS är allt mycket enklare. Den är inte heller begränsad till en typ av robot, den kan användas från husdjursrobotar, till humanoida robotar, till robotarmar för industrin ...
Mer information om ROS - Officiell webbplats