Toma de contacto con ROS

Novas

jadeDespois da chegada de openRov as mans de “Xeopesca” chega o momento de ver as posibilidades do trebello, por iso estanse a facer probas co robot para ver as súas posibilidades e limitacións físicas. Na páxina oficial do robot informan sobre o hardware e software empregado na construción do mesmo, despois de indagar sobre o software empregado din ca ligazón na que falan da integración de ROS con OpenRov .

Pero, que é ROS?

Así comezan a escribir sobre ROS na páxina oficial:” The Robot Operating System (ROS) is a flexible framework for writing robot software”.

Na wikipedia din: “Sistema Operativo Robótico (en inglés Robot Operating System, ROS) é un framework, baseado en Ubuntu, para o desenrolo de software para robots que prove a funcionalidade dun sistema operativo é un cluster heteroxéneo”.

Seguín a indagar sobre a definición, se chega a empregar o termo ‘meta-operating systempara definilo. Segundo indican, a diferenza entre un sistema operativo e un meta sistema operativo sería, que este último, prove os servizos que esperamos dun sistema operativo, incluída a abstracción de hardware, control de dispositivos a baixo nivel, aplicación de funcionalidades xeralmente empregadas, mensaxería entre procesos e manexo de paquetes. Tamén prove ferramentas e librarías para obter, construír, escribir e executar código a través de múltiples computadoras.

O proxecto ROS comezouse a xerar no ano 2007 , baixo licenza BSD 3-Clause License a cal está considerada como licenza de software libre sen copyleft. Este ‘framework’ posibilita que todo o mundo poda achegarse ao mundo da robótica, e chega a nos a través de GNU/LINUX, como non, isto sinala de novo ao software libre como ferramenta seguidora de principios Kantianos, educación universal, educación para todo o mundo.

Sapere aude‘, atrévete a saber.
GNU/LINUX é para xente que quere saber porque algo funcionan.
Mac é para xente que non quere saber porque algo funciona.
DOS é para xente que quere saber porque algo non funciona.
Windows e para xente que non quere saber porque algo non funciona.

ROS foi desenvolvéndose no tempo, as distribucións son: Box Turtle (2010), C Turtle (2010), Daimondback (2011), Electric Emys (2011), Fuerte (2012) , Groovy Galapagos (2012), Hydro Medusa (2013), Indigo Igloo (2014) e Jade (2015). Cada unha delas corresponde a unha distribución existentes de Ubuntu. Como podemos apreciar é unha tecnoloxía nova, aínda que a xestación empezou no 2007 a primeira distribución trata do 2010.

Para instalar unha distribución de ROS, previamente debemos saber con que distribución de Ubuntu contamos, identificamos na páxina oficial a distribución correspondente e seguimos os pasos de instalación. Podemos facer unha instalación nunha máquina virtual para aprender o funcionamento pero isto imposibilita que accedamos ao hardware real.

Una vez feita a instalación, como a web oficial proporcionan varios tutoriais, podemos empezar co nivel de iniciación. Desde #projectCoSys ofrécennos unha presentación magnífica de ROS, ver primeiramente a presentación e seguir o tutorial, tendo presente esta documentación, axuda moito a consolidar os coñecementos. Os programas de ROS están escritos en C++, Python, Java e Lisp, nos manuais limítanse a C++ e Python. O principal obxectivo de ROS a reutilización de código na investigación e desenvolvemento da robótica..

Ao mesmo tempo, existen varios libros que tratan sobre ROS. No meu caso, conseguín un libro que trata a distribución ‘Fuerte’ con código escrito en Python, no computador teño a distribución Ubuntu 14.04 e a distribución Indigo de ROS que lle corresponde. A primeira distribución de ROS foi ‘Box Turtle’, hoxe en día é unha chave conceptual para ROS. Ao seguir o tutorial de iniciación executaredes unha aplicación que mostra unha tartaruga, aplicaredes movemento sobre ela desde o teclado para ver como funciona ROS internamente (chave conceptual Box Turtle). No libro existe unha practica para comprender como un nodo recibe os movementos dun ‘joystick’ e como usar o mesmo para mover a tartaruga da aplicación que menciono anteriormente.

Foi doado atopar as instrucións das práctica pola rede para a versión ‘Indigo’: practica1 e practica 2. Na casa tiña un ‘joystick’ que non empegaba fai 15 anos (o mesmo que empregan neste video, segundo 52), baixei os ‘drivers’ que proporciona ROS para ‘ joysticks’, en 10 minutos tiña executada a práctica.

Unha vez finalizado o tutorial de inicación danse indicacións de como instalar unha simulación dun robot (lingazón1 e ligazón2), polo cal non é necesario contar cun robot real para aprender a manexar ROS.

Até aquí cheguei na toma de contacto con ROS, espero seguir avanzando e contando.

Un saúdo.

Autor do artigo: Jose Luis Villaverde Balsa

Dúbidas, suxerencias: jlvbalsa@mundo-r.com

Esta actividade forma parte das actividades que a asociación Xeopesca realiza no marco do convenio de colaboración asinado coa Axencia para a Modernización Tecnolóxica de Galicia (AMTEGA), e incluídas no Plan de Acción de Software Libre 2015 da Xunta de Galicia.