Qué es ROS (Robot Operating System)
¿Te quieres iniciar a ROS? Te contamos qué es ROS y empieza a crear software para Robots
Os hablamos de Turtlesim, un simulador que permite aprender los conceptos básicos de ROS (Robotic Operating System) de una forma sencilla.
Tabla de contenidos
Turtlesim es un simulador que nos permite de forma simple aprender los conceptos básicos de ROS (Robotic Operating System) ya que es un paquete que forma parte de la instalación de ROS.
El simulador es una ventana gráfica que muestra un robot en forma de tortuga, los robots utilizados en Turtlesim se llaman turtlebots. Esta tortuga recibe mensajes del tipo “Twist” que es el tipo de mensajes estándar que se utiliza para controlar un robot.
Para comenzar abrimos la terminal y escribimos:
roscore
presionamos Enter, esto lo hacemos para utilizar ROS, por lo que es necesario que esté corriendo el roscore.
Luego para abrir el simulador de turtlesim ejecutamos el siguiente comando:
rosrun turtlesim turtlesim_node
Se nos debe abrir el simulador con un turtlebot en la mitad de la pantalla del simulador.
Para ver los tópicos abiertos, se ejecuta en otra terminal el siguiente comando:
rostopic list –v
Por cada turtlebot que tiene el simulador hay tres tópicos distintos que son:
/turtle1/cmd_vel
: recibe comandos de velocidad para mover el turtlebot./turtle1/color_sensor
: componente RGB del fondo del simulador./turtle1/pose
: posición que tiene en la imagen.Los tópicos comienzan por el nombre del turtlebot que en este caso es turtle1.
A través del tópico cmd_vel pasamos el siguiente comando que enviará un mensaje de tipo Twist al turtlebot, de esta forma el turtlebot va a avanzar con un pequeño giro hacia la izquierda:
rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0,0.0,0.0]' '[0.0,0.0,0.3]'
Para darle un movimiento continuo al turtlebot podemos ejecutar:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0,0.0,0.0]' '[0.0,0.0,1.0]'
Como tiene una frecuencia de 1 el turtlebot no dejará de moverse.
Para obtener una lista de los servicios disponibles utilizamos el comando:
rosservice list
Para llamar los servicios utilizamos el comando:
rosservice call
Por ejemplo para llamar el servicio spawn pasándole como parámetros las coordenadas y un nombre podemos añadir un turtlebot adicional al simulador, escribiendo el siguiente comando:
rosservice call /spawn 2 2 0.5 "turtle2"
Para eliminar un turtlebot por su nombre podemos ejecutar el siguiente comando:
rosservice call /kill "turtle2"
Turtlesim tiene un nodo que permite mover el turtlebot con las flechas de dirección del teclado, para ello escribimos en la terminal el siguiente comando:
rosrun turtlesim turtle_teleop_key
Artículo desarrollado a partir del vídeo por Jhuly Acosta.
También te puede interesar
¿Te quieres iniciar a ROS? Te contamos qué es ROS y empieza a crear software para Robots
Introdúcete en el mundo de la robótica usando ROS: Robot Operating System. Aprenderás a programar tus propios robots...