Vous êtes sur la page 1sur 5

Robótica - 2018 - I - Laboratorio 1

Laboratorio 1 - Parte 2: Introducción ROS


1. Objetivos:
Efectuar una instalación apropiada de ROS Kinetic
Realizar una introducción a los conceptos básicos de ROS (Rootic Operative System).
Conocer los comandos fundamentales de ROS.
Conectar nodos de ROS con Matlab.
2. Requisitos:
Ubuntu versión 16.xx preferible 16.04 LTS (Sirve en máquina virtual aunque se recomienda una
instalación limpia).
Tutorial para instalar ROS Kinetic: https://www.youtube.com/watch?v=Vq5fvsd896M.
MATLAB 2015b o superior instalado en el equipo.
Robotics toolbox de matworks (Disponible desde la versión 2015 en adelante).
Tutoriales de ROS (Son excelente fuente de ayuda).
3. Ejercicio en el laboratorio:
a) Familiarizarse con los comandos de mayor uso para la consola de Linux (veáse http://www.
informit.com/blogs/blog.aspx?uk=The-10-Most-Important-Linux-Commands).
b) Identificación de nodos, tópicos y mensajes:
Procedimiento:
Tener una instalación de ROS completa según el tutorial provisto.
Con Linux operando lanzar 3 terminales. En la primera terminal escribir el comando roscore
para iniciar el nodo maestro.

Figura 1: 3 terminales en Linux.


Robótica - 2018 - I - Laboratorio 1

Figura 2: Ejecución de roscore.

En la segunda terminal escribir rosrun turtlesim turtlesim node.

Figura 3: Ejecución de turtle sim.


Robótica - 2018 - I - Laboratorio 1

En la tercera terminal identificar los nodos activos y los tópicos activos (revise los comandos
rosnode y rostopic).
Limpie la tercera terminal y ejecute el comando rqt graph. Anexe una imagen del resultado.
Qué información se proporciona?, Es equivalente listar los nodos y tópicos a ejecutar rqt?.
Establezca definiciones claras de Nodo, Mensaje y Tópico.
c) Publicadores y subscriptores:
Procedimiento:
Con Linux operando lanzar 4 terminales. En la primera terminal escribir el comando roscore
para iniciar el nodo maestro.
En la segunda terminal escribir rosrun turtlesim turtlesim node.
En la tercera terminal escribir rosrun turtlesim turtle teleop key, la cual permite mover la
tortuga mediante las flechas del teclado.

Figura 4: Ejecución de turtle teleop key.

En la cuarta terminal escribir rostopic echo /turtle1/pos, regresar a la terminal de operación


por teclas y observar cómo varı́an los valores de posición y orientación de la tortuga.
En la cuarta terminal finalizar la operación con la combinación control + c, repetir proce-
dimiento del item anterior pero ejecutando rostopic echo /turtle1/cmd vel.
Finalizar operación de la cuarta terminal. En ésta ejecutar rostopic pub -1 /turtle1/cmd vel
geometry msgs/Twist ”linear: x: 2.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”. Observar los
cambios al modificar las variables linear.x y otras, ası́ como angular.x y otras.
Revise las opciones asociadas a los comandos rostopic echo y rostopic pub.
Robótica - 2018 - I - Laboratorio 1

Establezca una definición clara de Subscriptor y Publicador.


Conexión con Matlab:
Procedimiento:
ˆ Con Linux operando lanzar 2 terminales. En la primera terminal escribir el comando
roscore para iniciar el nodo maestro.
ˆ En la segunda terminal escribir rosrun turtlesim turtlesim node.
ˆ Lanzar una instancia de Matlab para Linux (es imperativo que tenga el toolbox de robótica
de Mathworks).
ˆ Crear un script con el siguiente código:
%%
rosinit; %Conexión con nodo maestro
%%
velPub = rospublisher(’/turtle1/cmd_vel’,’geometry_msgs/Twist’); %Creación publicador
velMsg = rosmessage(velPub); %Creación de mensaje
%%
velMsg.Linear.X = 1; %Valor del mensaje
send(velPub,velMsg); %Envio
pause(1)
ˆ Ejecutar las tres secciones del script y observar los resultados con la pose de la tortuga.

Figura 5: Conexión con Matlab.

ˆ Crear un script en Matlab que permita suscribirse al tópico de pose de la simulación de


Robótica - 2018 - I - Laboratorio 1

turtle1.
ˆ Crear un script en Matlab que permita enviar todos los valores asociados a la pose de
turtle1.
ˆ Consultar de qué manera se finaliza el nodo maestro en Matlab.

Observaciones:

a) Entrega: 09/03/2018
b) El informe deberá en presentarse en .tex y PDF. Se debe subir al Moodle dentro de las fechas
programadas.
c) Forma de trabajo: Grupos de laboratorio.
d ) Los puntos que requieran implementación de funciones deberán tener comentarios de cómo se
utilizan y adjuntar archivos .m.

Referencias
[1] Martinez, A., Fernandez E. Leaning ROS for robotics programming, PackT Publishing. 2015.

Vous aimerez peut-être aussi