ROS: el sistema operatiu per a robòtica

ROS, Robòtica

La robòtica és un camp en expansió. Cada cop la IA i els robots substitueixen el treball de més persones. Són el present i el futur, per això és important formar-se en aquest tipus de camps per saber com funcionen aquests i quines eines i sistemes tens a la teva disposició per als teus projectes de robòtica. I, en aquest article, podràs veure què és ROS i tot el que has de saber sobre ell.

Què és ROS?

enginyeria robòtica

ROS són les sigles de Robot Operating System, o sistema operatiu robot. És un middleware per a robòtica, és a dir, una col·lecció de frameworks destinats a facilitar el desenvolupament de programari per a robots. Actualment, és molt emprat en robots coneguts, sent una de les millors eines existents actualment, totalment gratuïta, escrit en C i Python, i sota llicència de codi obert BSD.

ROS va ser desenvolupat originalment el 2007, dins del Laboratori d'Intel·ligència Artificial de Stanford, i sota el nom clau Switchyard. En un inici seria per al projecte del robot STAIR2. Després, es va decidir obrir.

Una pregunta que se solen fer molts és, si no és un sistema operatiu, per què es diu així. Doncs bé, encara que es tracta d'una suite de biblioteques per al desenvolupament, el cert és que n'aporta algunes de les funcions essencials d'un SO, com pot ser una capa d'abstracció del maquinari perquè els desenvolupadors només es preocupin del programari, control dels diferents components del robot a baix nivell, capacitat de gestió i comunicació de processos, manteniment de paquets, etc.

La biblioteca està orientada a sistemes UNIX, com Linux (en múltiples distros, encara que el millor suport està per a Ubuntu) i macOS, encara que també funciona en altres sistemes operatius com Microsoft Windows.

És important també diferenciar entre les contradictori de ROS:

  • ros: és la part que actua com a sistema operatiu, la base. Aquesta és la part de programari sota llicència BSD. Aquí s'hi inclouen el node principal de coordinació, fluxos de dades (imatges, estèreo, làser, cotnrol, actuadors, contacte, …), multiplexat d'informació, creació i destrucció de nodes, login, etc.
  • ros-pkg: és la suite de paquets creats pels usuaris i que implementen funcionalitats com a planificació, percepció, simulació, mapeig, localització, etc. Aquests altres components estan llicenciats en llicències molt variades.

Els eines incloses a ROS són:

  • rviz: per a simulació i visualització 3D.
  • rosbag: per gravar i reproduir missatges de comunicació.
  • ament: eina de compilació, basada en CMake.
  • rosbash: paquet amb eines per ampliar les funcions de l'intèrpret d'ordres bash.
  • roslaunch: per executar nodes ROS de manera local o remota.

Documentació del projecte aquí

Aplicacions de ROS

robots, estudiants ROS

ROS és un projecte en constant desenvolupament, i cada vegada es pot emprar per més aplicacions dins del camp de la IA i la robòtica, i cada cop realitza la seva feina millor:

  • Sistemes de percepció artificial.
  • Identificació dobjectes i visió artificial.
  • Reconeixement facial, de gestos, etc.
  • Seguiment dobjectes.
  • Odometria visual.
  • Comprensió de moviments.
  • Visió estèreo.
  • Mobilitat dels robots.
  • Control.
  • Planificació.
  • Agafeu objectes.
  • Coordinació.
  • Testeig.
  • Etc...

Exemples de robots que fan servir ROS

Són molts, i seria complicat llistar-los a tots, ja que ROS s'ha transformat en gairebé un «estàndard» per a molts. Però alguns de els més coneguts són:

  • PR1: robot personal desenvolupat pel laboratori Ken Salisbury a Stanford.
  • PR2: robot personal que està sent desenvolupat per Willow Garage.
  • Baxter:  robot de Rethink Robotics, Inc.
  • Robot de Shadow: una mà robòtica de la companyia Shadow Robot, en col·laboració amb la Universitat Pierre i Marie Curie de París i la Universitat Carlos III de Madrid. Desenvolupada dins un marc europeu.
  • HERBA: creat a CMU dins del programa de robòtica personal de la corporació Intel.
  • Aldebaran Nao: un robot humanoide creat per Humanoid Robots Labs i la Universitat de Freiburg.
  • Husky UGV: un vehicle de terra i codi obert.

Per què hauria d'aprendre amb ROS?

enginyeria robòtica, braç robot industrial

Els robots són sistemes complexos i la robòtica és complicada de comprendre. Tot i això, disposar d'eines com ROS facilita molt el desenvolupament des de zero, accelerant la creació dels teus propis projectes en molt menys temps i sense tants coneixements com si no en disposessis.

És a dir, els avantatges de ROS és facilitar el camí als desenvolupadors, amb multitud de complements gratuïts i de codi obert, de manera que disposaràs de tot allò necessari. A més, aprendràs alguna cosa més que robòtica, també electrònica, mecànica i programació:

  • Emprar llenguatges com C++ i Python per desenvolupar apps.
  • Administració de xarxes i sistemes per instal·lar i mantenir ROS.
  • Conceptes bàsics de robòtica com el mapeig, IA, localització, cinemàtica inversa, etc., podent posar en contacte els sensors, actuadors, controladors, etc.

No importa la complexitat del robot, amb ROS és tot molt més senzill. Tampoc limita a un tipus de robot, pot servir des de robots mascotes, fins a robots humanoides, passant per braços robòtics per a indústria…

Més informació de ROS – Web oficial


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.