Cómo planificar un robot simple usando Linux

Cómo planificar un robot simple usando Linux
Una vez que haya instalado ROS, es posible que desee construir un robot. Una buena manera de tener éxito en este proyecto es planificar lo que quiere hacer. En este caso, Ros viene al rescate. Con Ros, puedes configurar lo que has construido y visualizar todo. Al trabajar con robots, habrá muchos escenarios que puede considerar. El robot debe interactuar con el medio ambiente, como evitar el sofá y encontrar su camino de regreso de la cocina. El robot también debe tener brazos y piernas si sus necesidades lo requieren. Puede simular todo esto usando ROS, y para la parte de codificación, también puede simular las partes internas de su sistema.

¿Cómo se construye un robot ROS??

Para que el sistema funcione bien, y para que pueda seguir lo que hará el dispositivo en ciertas situaciones, necesita definiciones estándar para cada parte. En ROS, estos componentes son nodos, servicios y temas. En resumen, creas un nodo para cada necesidad importante. Por ejemplo, el movimiento es un nodo, la visión es otro nodo y la planificación es un tercer nodo. Los nodos contienen servicios que pueden enviar información a otros nodos, y los servicios también pueden manejar solicitudes y respuestas. Un tema puede transmitir valores a muchos otros nodos. Controlarse con estos términos y cómo debe usarlos es la primera clave para dominar el desarrollo de ROS2.

Emular la navegación con tortugas

Al comenzar en ROS, probablemente comprará un robot que camina o ruede en su casa. Para hacer esto, el robot necesita tener una vista del área donde está navegando. Para hacer esto, puede usar una aplicación similar a un mapa para probar el comportamiento de su robot. Los diseñadores detrás del Turtlebot han creado una aplicación, llamada Turtlesim, que puede hacer esto por usted. Al igual que con todas las demás partes de ROS2, puede iniciar estas herramientas con un subcommand desde la línea de comandos. Luego tienes actividades para diferentes funciones. La primera parte es iniciar la ventana donde puede ver la simulación, y esto se llama nodo.

$ ROS2 Run Turtlesim Turtlesimnode

Aparecerá una ventana con una tortuga en el centro. Para controlar la tortuga con su teclado, debe ejecutar un segundo comando que permanezca abierto y seguir presionando ciertas teclas. Este es un segundo nodo que se comunica con el primero.

$ ROS2 Run Turtlesim Turtleteleopkey

Ahora, puedes mover la tortuga y ver cómo se mueve. También puede obtener errores, como golpear la pared. Estos errores aparecen en la terminal donde se está ejecutando el Turtlesimnode. Este es el uso más simple del módulo de simulación. También puede ejecutar formas dadas, se proporciona un cuadrado y agregar más tortugas. Para agregar más tortugas, puede usar el comando RQT.

Definir servicios con RQT

El programa RQT proporciona servicios para la simulación. La Q significa QT, que es para manejar la interfaz. En este ejemplo, engendra una nueva tortuga.

$ rqt

La interfaz RQT es una larga lista de servicios para la simulación que está ejecutando. Para crear una nueva tortuga, elija el menú desplegable 'Spawn', dale un nombre a la tortuga y haga clic en '.'Verá inmediatamente una nueva tortuga al lado del primero. Si hace clic en el menú desplegable 'Spawn', también verá un nuevo montón de entradas relacionadas con la tortuga recientemente designada.

También puede reasignar comandos para ejecutar la nueva tortuga. El comando para hacerlo es el siguiente:

$ ROS2 Run Turtlesim Turtleteleopkey -Ros -Args -Remap Turtle1/Cmdvel: = Turtle2/Cmdvel

Establezca el nombre 'Turtle2', según su elección anterior.

Visualización avanzada con Rviz

Para una visualización más avanzada y 3D, use RVIZ. Este paquete simula todos los nodos en su diseño.

$ ROS2 Run RVIZ2 RVIZ2

En la interfaz gráfica, tiene tres paneles, con la vista en el centro. Puede crear entornos utilizando el panel 'Pantallas'. Puede agregar paredes, fuerzas de viento y otras propiedades físicas. Aquí es también donde agrega sus robots.

Tenga en cuenta que antes de llegar a este punto, deberá comprender cómo usar el formato URDF. El formato URDF define un robot, lo que le permite colocar el cuerpo, los brazos, las piernas y, sobre todo, las zonas de colisión. Las zonas de colisión están ahí para que la simulación pueda decidir si el robot ha chocado.

Aprender sobre la creación de un robot en el formato URDF es un proyecto grande, por lo que usa un código de código abierto existente para experimentar con los emuladores.

Simular la física con el cenador

En Gazebo, puedes simular la física del medio ambiente que rodea a tu robot. Gazebo es un programa de complemento que funciona bien junto con Rviz. Con Gazebo, puedes ver lo que realmente está sucediendo; Con rviz, realiza un seguimiento de lo que detecta el robot. Cuando su software detecta un muro que no está allí, Gazebo mostrará vacío y RVIZ mostrará en qué parte de su código se creó el muro.

Conclusión

Es necesario simular su robot y sus entornos para encontrar errores y proporcionar las mejoras necesarias en la operación de su robot antes de publicarlo en la naturaleza. Este es un proceso tedioso que continúa mucho después de comenzar a probar el bot, tanto en entornos controlados como en la vida real. Con un conocimiento adecuado de la infraestructura de los sistemas internos de su robot, puede dar sentido a lo que ha hecho bien y mal. Aprenda rápidamente para apreciar todas las fallas que encuentre, ya que pueden hacer que su sistema sea más robusto a largo plazo.