Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Robot para navegación interior supercogedora

Componentes y suministros

Smart Motor Robot Car Battery Box Chasis Kit DIY Speed ​​Encoder para Arduino
× 1
oblu:una IMU de código abierto para la navegación peatonal en interiores
× 1
Protoboard sin soldadura de tamaño medio
× 1
Cables de puente macho / hembra
× 1
Condensador 1000 µF
× 2
Controladores de motor Texas Instruments Dual H-Bridge L293D
× 1
Arduino Mega 2560
× 1
AA 2800 Ni-MH recargable
× 1

Herramientas y máquinas necesarias

Soldador (genérico)

Aplicaciones y servicios en línea

Arduino IDE
Xoblu

Acerca de este proyecto

Nuestra historia:

El proyecto consiste en hacer que el robot se mueva en una ruta predefinida con precisión, sin hacer uso de GPS, 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.

La historia de fondo:

Buscábamos una solución robusta para la navegación interior de nuestro robot basado en Arduino. Al elegir la solución de detección de movimiento adecuada para esta aplicación, también consideramos Oblu (una IMU de código abierto). Su naturaleza de bajo costo y código abierto lo convirtió en un candidato probable. La parte complicada aquí fue que el programa de código abierto de oblu es adecuado para Pedestrian Dead Reckoning (PDR) o Navegación para peatones en interiores, en palabras simples. El rendimiento de PDR de Oblu en interiores como una IMU montada en los pies es bastante impresionante. Un gran punto a favor fue la aplicación gratuita de Android (Xoblu) por su seguimiento de posición en tiempo real. Sin embargo, no estábamos seguros de cómo hacer uso de su algoritmo de navegación peatonal existente, que se basa en el modelo de caminar humano.

Los cálculos internos de Oblu se basan en el caminar humano. Oblu emite desplazamiento entre dos pasos sucesivos y cambio de rumbo. Cuando el pie toca el suelo, la velocidad de la suela es cero, es decir, la suela está parada. De esta manera, 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?

Optamos por Oblu y en poco tiempo pudimos montar nuestro robot y el sistema de seguimiento. El resto de la historia está en el siguiente video ...

¿Cómo funciona?

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. Basado en 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 la zancada 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).

IMU 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 de la ruta con Xoblu se ilustra a continuación).

En resumen, Oblu detecta el movimiento y comunica información de movimiento a Arduino y al teléfono a intervalos regulares. Según 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 inicio / parada.

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 de abajo 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.

Asamblea de circuito:

Consulte la sección H / W para conocer las conexiones eléctricas entre Arduino, oblu, controlador de motor y paquete de baterías.

  • Protocolo de comunicación:

Paso 1 :Xoblu envía el comando START a oblu

Paso 2 :oblu reconoce haber recibido el comando enviando el ACK correspondiente 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 :DETENER - (i) Detener el procesamiento en oblu (ii) Detener todas las salidas en oblu

Consulte la Nota de aplicación de oblu para obtener detalles de INICIO, ACK, DATOS y DETENER

¿Cómo funciona Oblu IMU (opcional):

Presentando algunas referencias sobre la descripción general de Oblu y el principio básico de funcionamiento de los sensores PDR montados 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 sensores PDR montados en el pie:

1. Sigue mis pasos

2. Continuar siguiendo mis pasos

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

-> Siguiente video para una descripción general de Oblu:

----------------

Comparta sus comentarios, sugerencias y deje comentarios.

¡Mis mejores deseos!

----------------

Código

robot basado en arduino
El robot se mueve en una ruta preprogramada y transmite sus coordenadas actuales a un teléfono para realizar un seguimiento en tiempo real. Https://github.com/vijkumsha/oblu_Robot

Esquemas


Proceso de manufactura

  1. Robot Raspberry Pi controlado por Bluetooth
  2. Robot Pi simple
  3. Obstáculos que evitan el robot con servomotor
  4. Joy Robot (Robô Da Alegria)
  5. Robot seguidor de línea
  6. Robot controlado por voz
  7. Robot de piano controlado por Arduino:PiBot
  8. Plataforma de entrenamiento Arduino
  9. Robot asistente doméstico autónomo
  10. Monitoreo SMART de temperatura para escuelas
  11. Brazo de robot Arduino DIY:controlado por gestos con las manos