Tabla de contenido:

Brazo robótico ROS MoveIt: 4 pasos
Brazo robótico ROS MoveIt: 4 pasos

Video: Brazo robótico ROS MoveIt: 4 pasos

Video: Brazo robótico ROS MoveIt: 4 pasos
Video: Robotic Arm assembly. 3D printed Robot arm. #engineering #actuators #robot #roboticarm #robotics 2024, Mes de julio
Anonim
Image
Image

Esta será una serie de artículos sobre cómo hacer un brazo robótico controlado con ROS (Sistema Operativo Robótico) y MoveIt. Si te gusta la robótica, ROS es un gran marco que te ayudará a construir mejores robots más rápido. Le permite reutilizar paquetes para diferentes sistemas de robots (visión por computadora, cinemática, planificación de rutas, SLAM, etc.) que otras personas crearon. ROS es genial, pero desafortunadamente tiene una curva de aprendizaje empinada.

Entonces, este tutorial es una guía paso a paso para hacer su primer brazo robótico con planificación de movimiento, dirigido a niveles intermedios y principiantes superiores. Supongo que no tiene conocimiento de ROS, pero tiene algunos conocimientos básicos de Linux y Python, habilidades de programación de Arduino.

Paso 1: Prepare su entorno

Mi entorno de desarrollo es Ubuntu 16.04 LTS que se ejecuta en una caja virtual (máquina host de Windows 10). Si desea ejecutar Ubuntu en VM, está bien, puedo confirmar que ROS Kinetic funciona, aunque con algunas peculiaridades (en particular, aceleración 3D y compatibilidad con USB). Si tiene una instalación regular de Ubuntu, funcionaría mejor.

Nota: Puede instalar ROS en Raspberry Pi, pero desafortunadamente no es lo suficientemente potente como para ejecutar las simulaciones en Rviz, y mucho menos en Gazebo.

1) Instale ROS Kinetic. Siga esta guía sobre cómo instalar ROS Kinetic en Ubuntu 16.04.

2) Instale MoveIt. ¡Muévelo! es un paquete de ROS para manipulación móvil, es decir, brazos robóticos.

3) Compruebe si todo funciona. Correr

roslaunch panda_moveit_config demo.launch rviz_tutorial: = true

si quieres, sigue el tutorial básico de moveit

4) También necesitará instalar el paquete urdf_tutorial, lo usaremos para visualizar nuestro trabajo en progreso.

sudo apt-get install ros-kinetic-urdf-tutorial

Paso 2: crear un archivo Urdf

Crear archivo Urdf
Crear archivo Urdf
Crear archivo Urdf
Crear archivo Urdf

Si siguió el tutorial de inicio rápido de MoveIt, debería haber creado un espacio de trabajo catkin en su directorio de inicio (el nombre del espacio de trabajo puede ser diferente, el predeterminado del tutorial de moveit es ws_moveit). Vaya a ~ ws_moveit / src y clone mi repositorio de github allí.

github.com/AIWintermuteAI/ros-moveit-arm.git

Si está utilizando el mismo brazo robótico que yo o simplemente quiere practicar, puede dejar el archivo urdf sin cambios; de lo contrario, deberá cambiarlo para que corresponda con el modelo de brazo que tiene.

Aquí hay una breve explicación del archivo urdf, mirando mi ejemplo y el modelo de robot en rviz lo ayudará a comprenderlo mejor y solicitar la escritura de su propio archivo urdf

los enlaces son las partes del robot, como una muñeca o una plataforma. Tienen las siguientes propiedades:

utilizado para la representación visual en rviz y gazebo. Utiliza mallas de alta calidad

utilizado para la comprobación de colisiones durante la planificación de la ruta. Se recomienda usar mallas de baja calidad, pero para el tutorial estoy usando lo mismo que para visual.

Las articulaciones en urdf son conexiones entre enlaces que describen cómo se colocan entre sí y cómo se mueven. Tienen las siguientes propiedades:

la dirección de rotación de la articulación (a lo largo del eje x, yoz)

grado mínimo y máximo de la articulación en radianes. Solo aplicable a juntas de tipo "revoluta" (las juntas "continuas" no tienen límites, ya que, bueno, rotan continuamente)

la posición de la articulación en relación con el origen

describe qué dos eslabones están conectados con la articulación

Si está utilizando el mismo brazo robótico que yo, deberá copiar las mallas 3D del brazo en la carpeta del paquete urdf_tutorial. Hazlo con este comando

sudo cp / opt / ros / kinetic / share / urdf_tutorial / meshes /

Si está utilizando sus propias mallas, asegúrese de que estén centradas alrededor del origen (xyz 000 en su software de modelado 3D favorito) antes de exportarlas a formato stl binario (!).

Ahora puede iniciar rviz para visualizar los resultados con este comando

roslaunch urdf_tutorial display.launch modelo: = arm.urdf

(ejecútelo desde la carpeta con el archivo urdf que acaba de crear)

Verifique las uniones y los eslabones, asegúrese de que estén girando y colocados exactamente como se supone que deben hacerlo. Si todo está bien, continúe con el siguiente paso.

Paso 3: Cree la configuración del robot con el asistente de configuración MoveIt

Cree la configuración del robot con el asistente de configuración MoveIt
Cree la configuración del robot con el asistente de configuración MoveIt

Ahora, cuando su archivo urdf esté listo, es hora de convertirlo en un paquete de configuración de robot.

Inicie MoveIt Setup Assistant con el siguiente comando

roslaunch moveit_setup_assistant setup_assistant.launch

El proceso está muy bien descrito en el tutorial oficial de MoveIt, que puedes encontrar aquí.

Después de crear el paquete de configuración, vaya a la carpeta de su espacio de trabajo catkin y ejecute

hacer amento

para construir el paquete. Ahora puedes ejecutarlo con el siguiente comando

roslaunch my_arm_xacro demo.launch rviz_tutorial: = true

donde deberá cambiar "my_arm_xacro" por el nombre de su paquete.

Paso 4: ¡Listo

¡Hecho!
¡Hecho!
¡Hecho!
¡Hecho!

Si lanzó con éxito el paquete, verá su modelo de robot con marcadores interactivos. Podrás controlarlo en simulación, usando los marcadores y luego presionar "Planificar y ejecutar" para que el solucionador cinemático encuentre el camino correcto al estado deseado.

Ese fue el primer paso, creamos un modelo de nuestro brazo robótico y podemos recolectar el poder de ROS para calcular y ejecutar el movimiento en la simulación. Siguiente paso: hazlo con el robot real, para eso necesitaremos escribir un controlador de robot simple …

Recomendado: