Tabla de contenido:

Navegue por el robot con sensores de calzado, sin GPS, sin mapa: 13 pasos (con imágenes)
Navegue por el robot con sensores de calzado, sin GPS, sin mapa: 13 pasos (con imágenes)

Video: Navegue por el robot con sensores de calzado, sin GPS, sin mapa: 13 pasos (con imágenes)

Video: Navegue por el robot con sensores de calzado, sin GPS, sin mapa: 13 pasos (con imágenes)
Video: La primer humanoide robot del mundo 🤖😳😱 #robot #robotics #robots #robotandroide #androide #humanoide 2024, Noviembre
Anonim

Por obluobluSigue Acerca de: oblu es un sensor de navegación interior Más acerca de oblu »

El robot se mueve en una ruta preprogramada y transmite (a través de bluetooth) su información de movimiento real a un teléfono para realizar un seguimiento en tiempo real. Arduino está preprogramado con ruta y oblu se usa para detectar el movimiento del robot. oblu transmite información de movimiento a Arduino a intervalos regulares. En base a eso, Arduino controla los movimientos de las ruedas para permitir que el robot siga la ruta predefinida.

Paso 1: BREVE INTRODUCCIÓN

UNA BREVE INTRODUCCIÓN
UNA BREVE INTRODUCCIÓN

El proyecto consiste en hacer que el robot se mueva en una ruta predefinida con precisión, sin hacer uso de GPS o WiFi o Bluetooth para el posicionamiento, ni siquiera el mapa o el plano de distribución del edificio. Y dibuja su ruta real (a la escala), en tiempo real. El bluetooth se puede utilizar como sustituto del cable para transmitir información de ubicación en tiempo real.

Paso 2: LA HISTORIA DE TRASFONDO INTERESANTE

LA HISTORIA DE FONDO INTERESANTE
LA HISTORIA DE FONDO INTERESANTE

La agenda principal de nuestro equipo es desarrollar sensores de navegación para peatones montados en zapatos. Sin embargo, un grupo de investigación académico se acercó a nosotros con el requisito de navegar en el interior del robot y monitorear simultáneamente su posición en tiempo real. Querían utilizar dicho sistema para mapear la radiación en una cámara cerrada o detectar una fuga de gas en una instalación industrial. Estos lugares son peligrosos para los seres humanos. buscando una solución robusta para la navegación interior de nuestro robot basado en Arduino.

Nuestra elección obvia para cualquier módulo de sensor de movimiento (IMU) fue "oblu" (ver imagen de arriba). Pero la parte complicada aquí fue que el firmware existente de oblu era adecuado para Pedestrian Dead Reckoning (PDR) o Navegación para peatones en interiores, en palabras simples. El rendimiento PDR de oblu en interiores como una IMU montada en el pie es bastante impresionante. La disponibilidad de la aplicación de Android (Xoblu) para el seguimiento en tiempo real de oblu como sensor de calzado se suma a la ventaja. Sin embargo, el desafío era hacer uso de su algoritmo existente, que se basa en el modelo de caminar humano, para navegar por el robot y monitorearlo.

Paso 3: BREVE INTRODUCCIÓN A "oblu"

Image
Image
DESCRIPCIÓN DEL SISTEMA
DESCRIPCIÓN DEL SISTEMA

"oblu" es una plataforma de desarrollo miniaturizada, de bajo costo y de código abierto dirigida a aplicaciones portátiles de detección de movimiento. Es una batería recargable de iones de litio operable y permite la carga de la batería USB integrada. Tiene un módulo Bluetooth (BLE 4.1) integrado para comunicación inalámbrica. "oblu" aloja un microcontrolador de coma flotante de 32 bits (AT32UC3C de Atmel) que permite resolver complejas ecuaciones de navegación a bordo. Por lo tanto, uno realiza todo el procesamiento de movimiento en oblu y transmite solo el resultado final. Esto hace que la integración de oblu con el sistema asociado sea extremadamente simple. "oblu" también alberga una matriz multi-IMU (MIMU) que permite la fusión de sensores y mejora el rendimiento de detección de movimiento. El enfoque MIMU se suma a la singularidad de "oblu".

Los cálculos internos de oblu se basan en el caminar humano. oblu emite desplazamiento entre dos pasos sucesivos y cambio de rumbo. Cómo: cuando el pie toca el suelo, la velocidad de la suela es cero, es decir, la suela está parada. De esta forma oblu detecta 'pasos' y corrige algunos errores internos. Y esta frecuente corrección de errores da como resultado un gran rendimiento de seguimiento. Así que aquí está el truco. ¿Qué pasa si nuestro robot también camina de la misma manera: moverse, detenerse, moverse, detenerse? De hecho, oblu podría usarse para cualquier objeto cuyo movimiento tenga momentos regulares cero y distintos de cero. Así avanzamos con oblu y en poco tiempo pudimos montar nuestro robot y el sistema de seguimiento.

Paso 4: ¿CUÁL ES LA UTILIDAD DE "oblu"?

Pasamos casi el 70% de nuestro tiempo en interiores. Por lo tanto, hay muchas aplicaciones que requieren la navegación interior de humanos y máquinas. La solución de posicionamiento más utilizada es el GPS / GNSS basado en satélites, que es bueno para la navegación al aire libre. Falla en ambientes interiores o en ambientes urbanos que no son accesibles al cielo despejado. Dichas aplicaciones son el estudio geográfico de los barrios marginales o las áreas bajo el dosel de los árboles pesados, la navegación interior de robots, el posicionamiento de los agentes de rescate para la extinción de incendios, accidentes mineros, guerra urbana, etc.

El predecesor de oblu se introdujo como un sensor de zapatos muy compacto (o un sensor PDR) para el posicionamiento de los bomberos, que luego se actualizó y modificó como una plataforma de desarrollo altamente configurable para los fabricantes que buscan una precisión fácil y precisa. solución de detección inercial asequible para la navegación interior de humanos y robots. Hasta ahora, los usuarios de oblu han demostrado sus aplicaciones en el seguimiento de peatones, seguridad industrial y gestión de recursos, vigilancia táctica, geo-inspección de áreas sin GPS, robot de navegación automática, robótica de asistencia, juegos, AR / VR, tratamiento de trastornos del movimiento, comprensión de la física. de movimiento, etc. oblu es adecuado para aplicaciones con limitaciones de espacio, p. ej. detección de movimiento portátil. También se puede utilizar como una IMU inalámbrica, gracias al Bluetooth integrado. La presencia de capacidad de procesamiento de punto flotante a bordo, junto con la matriz de cuatro IMU, hace posible la fusión del sensor y el procesamiento de movimiento dentro del módulo, lo que a su vez da como resultado una detección de movimiento muy precisa.

Paso 5: LA HISTORIA DEL PROYECTO

Image
Image

La historia de este proyecto está en el video …

Paso 6: DESCRIPCIÓN DEL SISTEMA

El robot se mueve en una ruta preprogramada y transmite (a través de bluetooth) su información de movimiento real a un teléfono para realizar un seguimiento en tiempo real.

Arduino está preprogramado con ruta y oblu se usa para detectar el movimiento del robot. oblu transmite información de movimiento a Arduino a intervalos regulares. En base a eso, Arduino controla los movimientos de las ruedas para permitir que el robot siga la ruta predefinida.

La trayectoria del robot está programada como un conjunto de segmentos de línea recta. Cada segmento de línea se define por su longitud y orientación con respecto al anterior. El movimiento del robot se mantiene discreto, es decir, se mueve en línea recta, pero en segmentos más pequeños (llamemos 'zancadas' para simplificar). Al final de cada paso, oblu transmite la longitud del paso y el grado de desviación (cambio de orientación) de la línea recta a Arduino. Arduino corrige la alineación del robot en cada paso al recibir dicha información, si encuentra una desviación de la línea recta predefinida. Según el programa, se supone que el robot siempre debe moverse en línea recta. Sin embargo, puede desviarse de la línea recta y caminar en un cierto ángulo o trayectoria sesgada debido a no idealidades como superficies irregulares, desequilibrio de masas en el ensamblaje del robot, desequilibrio arquitectónico o eléctrico en motores de CC o la orientación aleatoria de la rueda delantera libre. Da un paso … corrige tu rumbo … avanza. El robot también se mueve hacia atrás si viaja más de la longitud programada de ese segmento de línea en particular. La siguiente longitud de paso depende de la distancia restante a cubrir de ese segmento de línea recta en particular. El robot da grandes pasos cuando la distancia a recorrer es mayor y da pasos más pequeños cerca del destino (es decir, al final de cada segmento de línea recta). oblu transmite datos a Arduino y al teléfono (a través de bluetooth) simultáneamente. Xoblu (la aplicación de Android) realiza un cálculo simple para construir la ruta en función de la información de movimiento recibida del robot, que se utiliza para el seguimiento en tiempo real en el teléfono. (La construcción del camino usando Xoblu se ilustra en la segunda imagen).

En resumen, oblu detecta el movimiento y comunica información de movimiento a Arduino y al teléfono a intervalos regulares. Basado en la ruta programada y la información de movimiento (enviada por oblu), Arduino controla los movimientos de las ruedas. El movimiento del robot NO se controla de forma remota, excepto para los comandos de arranque / parada.

Para el firmware de oblu, visite

Para obtener el código Aurduino del robot, visite

Paso 7: MODELADO DE LA RUTA

MODELADO DE RUTA
MODELADO DE RUTA
MODELADO DE RUTA
MODELADO DE RUTA

El robot podría controlarse mejor si camina solo en segmentos en línea recta. Por lo tanto, la ruta debe modelarse primero como un conjunto de segmentos de línea recta. Las imágenes contienen un par de rutas de ejemplo y sus representaciones en términos de desplazamiento y orientación. Así es como se programa la ruta en Arduino.

Asimismo, cualquier ruta que sea un conjunto de segmentos de línea recta, se puede definir y programar en Arduino.

Paso 8: MONTAJE DEL CIRCUITO

MONTAJE DEL CIRCUITO
MONTAJE DEL CIRCUITO

El diagrama de integración del sistema de nivel superior. Arduino y oblu son parte del ensamblaje de hardware. UART se utiliza para la comunicación entre Arduino y oblu. (Tenga en cuenta la conexión Rx / Tx.) La dirección del flujo de datos es solo para referencia. Todo el conjunto de hardware se comunica con el teléfono inteligente (Xoblu) mediante bluetooth.

Paso 9: DIAGRAMA DE CIRCUITOS

DIAGRAMA DE CIRCUITO
DIAGRAMA DE CIRCUITO

Las conexiones eléctricas detalladas entre Arduino, oblu, controlador de motor y paquete de baterías.

Paso 10: PROTOCOLO DE COMUNICACIÓN:

A continuación se muestra cómo se lleva a cabo la comunicación de datos entre el sensor oblu montado en el robot y el teléfono inteligente, es decir, Xoblu:

Paso 1: Xoblu envía el comando START a oblu Paso 2: oblu reconoce recibir el comando enviando el ACK apropiado a Xoblu Paso 3: oblu envía un paquete de DATOS que contiene información de desplazamiento y orientación para cada paso, en cada paso, a Xoblu. (paso = siempre que detecta movimiento cero o se detecta parada). Paso 4: Xoblu reconoce haber recibido el último paquete de DATOS enviando el ACK correspondiente a oblu. (El ciclo de los pasos 3 y 4 se repite hasta que Xoblu envía STOP. Al recibir el comando STOP, oblu ejecuta el Paso 5) Paso 5: STOP - (i) Detener el procesamiento en oblu (ii) Detener todas las salidas en oblu Consulte la Nota de aplicación de oblu para detalles de START, ACK, DATA y STOP

Paso 11: CÓMO FUNCIONA "oblu" IMU (opcional):

Presentando algunas referencias sobre la descripción general de oblu y el principio básico de funcionamiento de un sensor PDR montado en el pie:

El código fuente disponible de oblu está dirigido a la navegación con los pies. Y está mejor optimizado para ese propósito. El siguiente video cubre su principio básico de operación:

Aquí hay un par de artículos simples sobre los sensores PDR montados en el pie: 1. Sigue mis pasos

2. Continuar rastreando mis pasos

Puede consultar este documento para obtener detalles sobre la navegación a estima de peatones utilizando sensores de pie.

Paso 12: visita "oblu.io" (opcional)

Image
Image

Vea el video para ver las posibles aplicaciones de "oblu":

---------------- Por favor, comparta sus comentarios, sugerencias y deje comentarios. ¡Los mejores deseos!

Paso 13: COMPONENTES

1 oblu (una plataforma de desarrollo de IMU de código abierto)

1 Motor inteligente Robot Kit de chasis de caja de batería de coche Codificador de velocidad DIY para Arduino

1 placa de pruebas sin soldadura de tamaño medio

1 cables de puente macho / hembra

2 Condensador 1000 µF

1 Controladores de motor Texas Instruments Dual H-Bridge L293D

1 Arduino Mega 2560 y Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH recargable

Recomendado: