Tabla de contenido:
- Paso 1: lo que necesita
- Paso 4: Configure el módulo de la cámara Raspberry Pi (opcional)
- Paso 5: Configure la PC local
- Paso 6: Configura Raspberry Pi
- Paso 7: Teleoperación
- Paso 8: Inicie el software de mapeo
- Paso 9: Inicie la navegación autónoma
Video: Roomblock: una plataforma para aprender la navegación ROS con Roomba, Raspberry Pi y RPLIDAR: 9 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
¿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
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)
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
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
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
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
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
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:
Navegación por voz Raspberry Pi para ayudar a personas ciegas: 7 pasos (con imágenes)
Navegación por voz Raspberry Pi para ayudar a personas ciegas: Hola En este instructivo, veremos cómo una frambuesa pi puede ayudar a las personas ciegas usando la instrucción de voz definida por el usuario. Aquí, con la ayuda de la entrada del sensor ultrasónico para medir la distancia que podemos guiar por voz a las personas ciegas a seguir
Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: 5 pasos (con imágenes)
Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: conozco la plataforma RaspberryPi para IoT. Recientemente, WIZ850io fue anunciado por WIZnet. Así que implementé una aplicación RaspberryPi mediante la modificación del SW de Ethernet porque puedo manejar un código fuente fácilmente. Puede probar el controlador de dispositivo de plataforma a través de RaspberryPi
Dispositivo ultrasónico para mejorar la navegación de personas con discapacidad visual: 4 pasos (con imágenes)
Dispositivo ultrasónico para mejorar la navegación de las personas con discapacidad visual: Nuestro corazón está con los desfavorecidos mientras usamos nuestro talento para mejorar la tecnología y las soluciones de investigación para mejorar las vidas de los que sufren. Este proyecto fue creado exclusivamente para ese propósito. Este guante electrónico utiliza detección ultrasónica para mejorar
Circuito de aprendizaje NANO: una PCB. Fácil de aprender. Posibilidades infinitas: 12 pasos (con imágenes)
Circuito de aprendizaje NANO: una PCB. Fácil de aprender. Posibilidades infinitas: Comenzar en el mundo de la electrónica y la robótica puede ser bastante abrumador al principio. Hay muchas cosas que aprender al principio (diseño de circuitos, soldadura, programación, elección de los componentes electrónicos correctos, etc.) y cuando las cosas salen mal
PiTanq - Robot-tanque con Raspberry Pi y Python para aprender IA: 10 pasos
PiTanq - Robot-tanque con Raspberry Pi y Python para aprender IA: Pitanq es un robot-tanque con una cámara impulsada por Raspberry Pi. Su propósito es ayudar a aprender una inteligencia artificial de conducción autónoma. La IA en el tanque está respaldada por OpenCV y Tensoflow construido especialmente para Raspbian Jessie. Basado en aluminio resistente