Implementación de tareas robóticas en la plataforma KUKA youBot, parte 1

Estimados lectores de Geektimes, son bienvenidos por la Oficina de Diseño de Estudiantes (departamento de ingeniería de robótica o RED) del Departamento de MIS de la Universidad ITMO. Ya hemos sido escritos en el blog de nuestra universidad.

En el marco del programa de desarrollo universitario, RED persigue varios objetivos, y uno de ellos es la participación en la robótica competitiva de los estudiantes a nivel internacional. Como plataforma de lanzamiento, se seleccionaron las populares competiciones internacionales de RoboCup . Hay varios tipos de competencias en RoboCup, desde robofootball hasta competencias de robots con orientación social, que se han celebrado en diferentes países desde 1997. Los equipos rusos también participaron en competiciones y ganaron premios.

Basado en el equipo técnico de RED y el análisis del entorno competitivo, una de las posibles categorías de competencias fue RoboCup @ Work , donde muchos manipuladores industriales compiten en la realización de sus tareas típicas. Esta elección se debe en gran parte al hecho de que el departamento tiene un par de robots industriales YouBot creados por KUKA. youBot es una plataforma móvil omnidireccional en la que se instala un manipulador con cinco grados de libertad, con un agarre de dos dedos. El paquete incluye: telémetro láser URG-04LX-UG01 de Hokuyo Automatic Co. con un rango de medición de 5600 mm a 240 °, con el cual puede implementar localización y mapeo; Dispositivo de reconocimiento de movimiento ASUS Xtion, similar a Microsoft Kinect. Los creadores presentan el robot perfectamente adecuado para el campo de la educación.





Puede instalar un sistema operativo a bordo del controlador youBot (en nuestro caso, Ubuntu 12.04), que le permite iniciar el control de inmediato en una computadora integrada en el robot. La comunicación con el robot se realiza a través de un módulo Wi-Fi.

Trabajar con ustedBot es una gran oportunidad para conocer a los manipuladores industriales. Pero primero, necesitamos ponernos a prueba a nosotros mismos y a usted.

Se decidió implementar en usted una tarea obvia para este tipo de manipuladores móviles: encontrar y capturar el objeto de destino. El algoritmo del programa es el siguiente:
  1. Localización y mapeo: determinar la ubicación del sitio objetivo en el que se encuentra el objeto, entre los obstáculos (los obstáculos son tablas bajas - "paredes") con el enfoque posterior del sitio.
  2. : , , .
  3. .

El problema de localización se resuelve usando el telémetro láser anterior, y la tarea de reconocimiento se resuelve usando ASUS Xtion. Todo lo que necesitamos hacer es escribir programas que procesen datos de estos sensores (el beneficio es que hay bibliotecas abiertas ya preparadas para estos fines), así como implementar de alguna manera la captura de objetos. Además, debe combinar las tres partes de la tarea en un solo sistema.

Decidimos controlarlo, procesar datos y comunicarse entre los sensores y el robot utilizando el sistema operativo del robot. Ya había artículos sobre Habr sobre ROS y sobre robots que trabajan con su ayuda. Por ejemplo, aquí se dice sobre la maravillosa robot realización-hexápodo, a partir del análisis de hierro y el modelo de diseño para unir a todos los nodos bajo el control de ROS.

Por si acaso, recordamos que ROS es un marco para trabajar con robots que facilita el desarrollo e integración de varios componentes de software. ROS se utiliza tanto en proyectos educativos y de aficionados, como para el desarrollo de programas de robots industriales. Vale la pena señalar que la segunda versión de ROS se está desarrollando actualmente , que promete incluir aún más funciones para desarrollar robots.

ROS proporciona muchos de los servicios de un sistema operativo estándar: abstracción de hardware, control de dispositivos de bajo nivel, transmisión de mensajes entre procesos y gestión de paquetes. ROS consta de dos partes: el núcleo del software ros eny ros-pkg , un conjunto de paquetes ( paquete), dentro de la cual contiene datos, bibliotecas, ejecutables y configuraciones, combinados lógicamente en un módulo útil.

Los conceptos básicos de los componentes de la comunicación en los ROS son nodos ( nodos ), mensaje ( mensaje ) y temas ( tema) Un nodo es un proceso en ejecución que puede comunicarse con otros procesos. Tema: una tubería con nombre que conecta varios nodos. ROS se basa en la arquitectura gráfica, donde el procesamiento de datos se realiza en nodos que pueden recibir y transmitir mensajes entre ellos. Estos mensajes se publican en temas que dividen los mensajes en grupos de interés. Cuando un determinado nodo necesita recibir mensajes con ciertos datos, este nodo se suscribe a un tema específico. Debido a esto existe una relación entre los nodos "abonado editor» ( editor-suscriptor ).

En nuestro caso, el kernel ROS se ejecuta en el controlador youBot, y allí se organiza un gráfico de procesamiento de datos entre tres nodos del programa (localización, reconocimiento de objetos y captura). Estos nodos publican datos sobre su trabajo en los temas apropiados, ya sea información sobre el robot que llega a la plataforma objetivo o las coordenadas del objeto. Para tres temas, se firma el nodo de control principal, que supervisa el trabajo de los otros tres, y publica los comandos en un tema especial, al que se suscriben los nodos gestionados. Por lo tanto, el gráfico de control se ve así:



para acelerar el trabajo, nos dividimos en tres equipos, cada uno de los cuales tuvo que implementar uno de los tres nodos.

En el próximo artículo, diremos cómo logramos implementar la localización y qué utilizamos para esto.
Quédate con nosotros

Source: https://habr.com/ru/post/es392419/


All Articles