Tabla de contenido:

Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: 9 pasos (con imágenes)
Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: 9 pasos (con imágenes)

Video: Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: 9 pasos (con imágenes)

Video: Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: 9 pasos (con imágenes)
Video: OPERA PMS: aprendizaje electrónico de Oracle Hospitality | 10 bloques de grupo 2024, Noviembre
Anonim
Image
Image
Que necesitas
Que necesitas

¿Que es esto?

"Roomblock" es una plataforma robótica formada por un Roomba, una Raspberry Pi 2, un sensor láser (RPLIDAR) y una batería móvil. El marco de montaje puede fabricarse con impresoras 3D. El sistema de navegación ROS permite hacer un mapa de habitaciones y utilizarlo para llegar a la meta de forma autónoma.

¿Quién necesita esto?

Cualquiera que quiera aprender las tecnologías de vanguardia de la navegación robótica, la cartografía y la conducción autónoma. Este robot se puede construir fácilmente y con un costo menor que otras plataformas comerciales. ROS es ahora un sistema de software estándar de facto para el campo de la investigación robótica. Esta película muestra lo que es posible con el sistema de navegación ROS.

Paso 1: lo que necesita

Que necesitas
Que necesitas
Que necesitas
Que necesitas
Construya un cable USB-serial (opcional)
Construya un cable USB-serial (opcional)
Construya un cable USB-serial (opcional)
Construya un cable USB-serial (opcional)

Cable USB-serial

Si no tiene un cable USB en serie para Roomba, puede construirlo fácilmente con este producto.

  • FTDI: TTL-232R-5V
  • Akiduki Denshi: TTL-232R-5V

Observe que la interfaz de Roomba es TTL (5V).

Conector

Necesita un conector mini-DIN de 8 pines para la interfaz en serie del Roomba. En realidad, el conector de Roomba es mini-DIN de 7 pines, sin embargo, es mucho más fácil comprar un conector de 8 pines que de 7 pines.

  • Digikey: conector mini-DIN de 8 pines
  • Kyoritsu: conector mini-DIN de 8 pines

Soldadura

Suelde el cable serial al conector de 8 pines. Verifique la conexión mediante la imagen adjunta y el documento de la especificación de la interfaz abierta de Roomba.

Especificación de la interfaz abierta de Roomba

Tenga en cuenta que es seguro conectar Vcc (rojo) y RTS (verde) para evitar el problema del flujo de hardware.

Paso 4: Configure el módulo de la cámara Raspberry Pi (opcional)

Configurar módulo de cámara Raspberry Pi (opcional)
Configurar módulo de cámara Raspberry Pi (opcional)
Configurar módulo de cámara Raspberry Pi (opcional)
Configurar módulo de cámara Raspberry Pi (opcional)

Si tiene un módulo de cámara Raspberry Pi, puede conectarlo a Raspberry Pi. Esto es opcional para aprender a navegar, sin embargo, es divertido obtener una vista desde la vista del robot.

La pieza de montaje de la cámara también se incluye en los datos del cuadro en Thingiverse. El módulo de la cámara se puede fijar con cuatro tornillos M2.

Paso 5: Configure la PC local

Configurar PC local
Configurar PC local

Instalar Ubuntu

Instale el escritorio Ubuntu 16.04 siguiendo la página oficial

Página oficial de Ubuntu

Instalar ROS

Consulte la página oficial de ROS. Instale paquetes completos de escritorio Kinetic.

Instrucciones de instalación de ROS Kinetic

Instalar el paquete ROS de Roomblock

El paquete de Roomblock ya está disponible en Kinetic. Puede instalarlos mediante el comando apt.

$ sudo apt install ros-kinetic-roomblock

Eso es todo.

Si desea modificar y compilar el paquete a partir del código fuente, puede obtenerlos de GitHub.

GitHub - Roomblock

Siga las instrucciones en README.md.

Si tiene algún problema o pregunta con respecto al software, haga un problema en GitHub Issues para que podamos rastrear los problemas de manera eficiente. Evite publicarlos en Instructables.

Paso 6: Configura Raspberry Pi

Configurar Raspberry Pi
Configurar Raspberry Pi

Instalar Ubuntu

Instale Ubuntu 16.04 en Raspberry Pi siguiendo la guía de instalación:

Wiki de Ubuntu: RaspberryPi

Instalar ROS

Instale ROS Kinetic siguiendo la guía de instalación:

Instalación de Ubuntu de ROS Kinetic

Instalar el paquete ROS de Roomblock

Necesita instalar el paquete roomblock desde el código fuente. El código fuente del paquete está en GitHub.

GitHub - Roomblock

Siga las instrucciones en README.md.

Si tiene algún problema o pregunta con respecto al software, haga un problema en GitHub Issues, para que podamos rastrear los problemas de manera eficiente. Evite publicarlos en Instructables.

Módulo de cámara Raspberry Pi (opcional)

Si tiene un módulo de cámara Rasberry Pi, necesita instalar libraspberrypi-dev. Consulte README.md en Github.

Paso 7: Teleoperación

Teleoperación
Teleoperación
Teleoperación
Teleoperación

Abrir el sistema base en Raspberry Pi

En primer lugar, debe abrir el sistema. En la terminal Raspberry Pi, inicie el sistema básico como:

$ exportación ROS_IP = IP_ADDRESS_OF_RASPBERRY_PI

$ roslaunch roomblock_bringup roomblock.launch

RPLIDAR comienza a girar y ahora puede conectarse al robot ROS master desde su PC local.

Teleoperación desde PC local

Puede utilizar un joystick para operar el robot. Si tiene un joystick de XBox, puede usar este archivo de inicio. De lo contrario, es posible que deba modificar el archivo de inicio para que se ajuste a su joypad. Consulte las páginas wiki de ROS para obtener más detalles.

ROS wiki - teleop_twist_joy

$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ roslaunch roomblock_bringup teleop.launch

Ahora puede controlar el Roomba con el joystick.

En su lugar, puede utilizar un teclado.

$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Consulte las páginas wiki de ROS para obtener más detalles.

ROS wiki - teleop_twist_keyboard

Paso 8: Inicie el software de mapeo

Inicie el software de mapeo
Inicie el software de mapeo
Inicie el software de mapeo
Inicie el software de mapeo

Abra el software de mapeo en la PC local

Abra el software de mapeo para crear el mapa alrededor del robot.

$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch

Ahora puede ver Rviz (software de visualización). Opere el robot alrededor de la habitación para crear un mapa de la habitación.

Puede consultar la página wiki de ROS para el sistema de mapeo.

  • ROS wiki - gmapping
  • ROS wiki - servidor_de_mapa

Paso 9: Inicie la navegación autónoma

Inicie la navegación autónoma
Inicie la navegación autónoma
Inicie la navegación autónoma
Inicie la navegación autónoma

Abre el software de navegación autónoma

Ahora puede iniciar el sistema de navegación autónomo en la PC local como:

$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch

Puede utilizar Rviz para especificar el objetivo. El robot debe ir a la meta de forma autónoma.

Consulte la página wiki de ROS para el sistema autónomo.

  • ROS wiki - navegación
  • ROS wiki - amcl

¡Divertirse

Si tiene preguntas generales o problemas sobre ROS, consulte la wiki de ROS. No podemos responder a preguntas generales sobre ROS.

ROS wiki - Soporte

Si tiene algún problema o pregunta con respecto al software Roomblock, haga un problema en GitHub Issues para que podamos rastrear los problemas de manera eficiente. Evite publicarlos en Instructables.

Recomendado: