Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Controle el TurtleBot con teleoperación

Este ejemplo muestra el control de teclado del TurtleBot® a través del uso de la clase.ExampleHelperTurtleBotCommunicator Las instrucciones describen cómo configurar el objeto y cómo iniciar el control de teclado. Cuando se inicia la función, se muestran instrucciones sobre cómo utilizar el control de teclado. Para cambiar los parámetros de la función, edite la función o la clase.exampleHelperTurtleBotKeyboardControlExampleHelperTurtleBotKeyInput Para obtener una introducción al uso del TurtleBot con MATLAB®, consulte los ejemplos de iniciación (o)Empezar con un real TurtleBotEmpiece con gazebo y un TurtleBot simulado

Requisitos previos:Comuníquese con el TurtleBotExplore el comportamiento básico de la TurtleBot

Paquete de soporte de hardware para TurtleBot

Este ejemplo proporciona una visión general de trabajar con un TurtleBot utilizando su interfaz ROS nativa. El paquete de soporte de Robotics System Toolbox™ para robots basados en® de TurtleBot proporciona una interfaz más optimizada para TurtleBot. Le permite:

  • Adquiera datos de sensores y envíe comandos de control sin llamar explícitamente a los comandos ROS

  • Comunicarse de forma transparente con un robot simulado en gazebo o con un TurtleBot físico

Para instalar el paquete de soporte, ábralo en la pestaña MATLAB y seleccione "robots basados en TurtleBot".Add-Ons > Get Hardware Support PackagesHome Alternativamente, utilice el comando.roboticsAddons

Conéctese a la TurtleBot

Asegúrese de que tiene un TurtleBot ejecutándose ya sea en la simulación a través de Gazebo® o en hardware real. Consulte o para el procedimiento de inicio.Empiece con gazebo y un TurtleBot simuladoEmpezar con un real TurtleBot Si está utilizando la simulación, es bueno para explorar.Gazebo TurtleBot World

Inicializar ROS. Conéctese al TurtleBot reemplazando con la dirección IP del TurtleBotipaddress

ipaddress = '192.168.203.129'; rosinit(ipaddress)
Initializing global node /matlab_global_node_40274 with NodeURI http://192.168.203.1:55960/ 

Si está trabajando con hardware real de TurtleBot, asegúrese de iniciar la cámara de Kinect®. El comando es:

roslaunch turtlebot_bringup 3dsensor.launch

Ejecute esto en un terminal en el TurtleBot.

Suscríbase a los temas de odometría y escaneo láser y asegúrese de que puede recibir mensajes sobre estos temas

handles.odomSub = rossubscriber('/odom', 'BufferSize', 25); receive(handles.odomSub,3); handles.laserSub = rossubscriber('/scan', 'BufferSize', 5); receive(handles.laserSub,3);

Cree un publicador para controlar la velocidad del robot

handles.velPub = rospublisher('/mobile_base/commands/velocity');

Controle el robot

Ejecute la función, que le permite controlar el TurtleBot con el teclado.exampleHelperTurtleBotKeyboardControl Marque el ejemplo de código insertado como código (resalte y pulse ' Alt + Intro ') para ejecutar realmente la función.

exampleHelperTurtleBotKeyboardControl(handles); 

A continuación se muestran las muestras de la ventana de comandos, la trama mundial, y el mundo gazebo después de alguna teleoperación del teclado por el usuario:

Si mueves el TurtleBot demasiado rápido, el trazado de obstáculos puede volverse desordenado debido a las inexactitudes relativas en el tema de la odometría a altas velocidades. Aquí hay un ejemplo de una trama de mundo desordenado:

Se muestra una gráfica de muestra de un TurtleBot real que se mueve alrededor de un espacio de oficina:

Desconectar del robot

Una vez que haya salido de la función presionando, borre los editores y suscriptores en el host.q

clear

Utilice una vez que haya terminado de trabajar con la red de ROS.rosshutdown Apague el nodo global y desconéctese del TurtleBot.

rosshutdown
Shutting down global node /matlab_global_node_40274 with NodeURI http://192.168.203.1:55960/ 

Próximos pasos