Programación de JUS con ROS.

ROS

En The Robot Academy somos firmes defensores del uso de ROS, el software de robótica por excelencia, por lo que os animamos a instalarlo y a aprender cómo utilizarlo siguiendo nuestros cursos y tutoriales.

¿Por qué instalar ROS? ¿De qué me sirve?

Aprender a usar ROS tiene infinidad de ventajas:

  • Trabajarás con el software estándar en la industria de la robótica.
  • Te pondrás al día en la tecnología mundial actual (y en la futura) que se extenderá por España en los próximos años.
  • Podrás crear robots complejos (como un robot que localice objetos y los lleve a un lugar) uniendo módulos (nodos, que es como se llaman en ROS) tan simples como los scripts incluidos en el repositorio Maestro.
  • Serás capaz de comunicar varios robots entre sí, recibiendo datos los unos de los otros.

Instalación de ROS

Si os hemos convencido, podéis instalar ROS siguiendo los siguientes pasos:

  • Para empezar, deberemos tener un sistema operativo en base Linux (en el caso del robot JUS, usaremos Ubuntu Mate 16.04-2. Para instalarlo, puedes seguir nuestro tutorial)
  • Ejecuta los siguientes comandos:

¡¡IMPORTANTE!!: INSTALAR LA VERSIÓN DESKTOP (ros-kinetic-desktop). AUNQUE ES MÁS PESADA, NOS VA A PERMITIR UN MEJOR APRENDIZAJE DE ROS.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu xenial main" > /etc/apt/sources.list.d/ros-latest.list'

# Instala tus claves de ROS para la instalación
wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
####### En wiki.ros.org el comando para la obtención de la clave ha cambiado
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

sudo apt-get update

#### Versión DESKTOP (1,078 Mb): ROS, rqt, rviz, and robot-generic libraries
sudo apt-get install ros-kinetic-desktop

Inicializar Rosdep

No ejecutar desde ROOT, pues no se ejecuta correctamente:

sudo rosdep init
rosdep update

Si lo hacemos desde ROOT, debemos salir al usuario normal y correr las 2 líneas siguientes para arreglarlo:

sudo rosdep fix-permissions
rosdep update

Configuración del entorno

Es conveniente que las variables de entorno de ROS se añadan automáticamente cuando se abre un terminal, de lo contrario, habría que añadirlas manualmente cada vez que se abre uno:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Instalación de ROSINSTALL

sudo apt-get -y install python-rosinstall

Inicializar el espacio de trabajo (WORKSPACE)

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
catkin_init_workspace
cd ..
sudo apt-get install build-essential -y # Ejecutar por si no se localiza el compilador de C++
catkin_make
source ~/catkin_ws/devel/setup.bash

Para alimentar automáticamente la configuración de espacio de trabajo, añadir la siguiente línea al final del fichero ~/.bashrc :

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

Y para tener como editor por defecto nano:

echo "export EDITOR=nano" >> ~/.bashrc

Paquete para lanzar nodos individualmente

Instala ROSBASH para que puedas usar el comando rosrun <nombre_del_nodo>:
sudo apt-get install ros-kinetic-rosbash

Troubleshooting

Si aún tienes problemas con ROS, asegúrate de que el entorno está configurado correctamente. Una buena forma de comprobarlo es chequear que existen las variables de entorno de ROS como ROS_ROOT y ROS_PACKAGE_PATH:
printenv | grep ROS

Hecho esto, ya estamos listos para adentrarnos en el mundo de la robótica más novedosa: comencemos por el robot jus_follower o robot mascota.