Sistema de navegación primitivo

4

En mi tiempo libre he decidido crear algo por mi cuenta. Nunca he diseñado cosas difíciles, pero soy muy curioso, además, la experiencia nunca sería inútil;) Decidí crear un robot, pero quiero hacer esto desde 0: esquema, programación para hacer esto de la manera que quiero. Y el más importante: quiero que sea lo más autónomo posible (auto-carga, búsqueda de caminos, algún tipo de robot intelectual).

Tengo experiencia con MCU y dispositivos lógicos simples, por lo que puedo imaginar cómo se movería el robot, cómo podría controlarlo, etc. Pero para lograr la autonomía deseada al principio, debería crear una forma de interactuar con él (autonomía dictados (transmisor-receptor de radio) y algún tipo de sistema de navegación. Bueno, esta es mi forma de pensar y creo que sí. Entonces, por ahora, mi pregunta es: ¿de qué manera es posible rastrear los movimientos de un robot, la posición actual y qué precisión es alcanzable?

La ubicación de la radio de uso general es inútil aquí porque no tengo intenciones de medir distancias en kilómetros (en realidad, centímetros y metros, en mi habitación). El GPS también es inútil ya que la señal se pierde en la puerta.

Estaba pensando en usar servomotores y contar las garrapatas (!), pero no es tan confiable como quiere ser (el robot podría girar las ruedas, pero no moverse).

Estaba pensando en el GPS en miniatura: colocar varias antenas y medir distancias (esto es solo una idea, que puede ser absurda o irrealizable).

Recientemente encontré el artículo del sistema de navegación inercial (INS) en wikipedia, pero estoy confundido con la tasa de error integral. El wiki indica que el nivel de error esperado es de aproximadamente 650 m, lo que no es bueno en absoluto.

¿Alguien lidió con problemas similares? ¿Alguien podría decirme que prácticamente obtuviera valores de precisión para diferentes sistemas de navegación o algunos conceptos, ideas o incluso documentos relacionados con eso?

Repito una vez más: no hay realizaciones industriales, quiero hacer esto por mi cuenta con los elementos disponibles, a un costo razonable.

    
pregunta PF4Public

5 respuestas

2

Un INS sufrirá errores debido a la deriva del acelerómetro. El uso de un filtro de Kalman junto con Giros mejores y más precisos ayudará en gran medida a esta situación. Básicamente, hacer los cálculos matemáticos significa una mejor precisión que los giros pueden compensar por acelerómetros no tan grandes. Siempre puedes agregar algunos sensores adicionales como el magentómetro y esto te dará otra entrada en tu sistema, una vez más, ayudará a reducir los errores de deriva.

Los codificadores de rueda son excelentes, siempre que no sufras deslizamientos. Tan pronto como una rueda resbale, obtendrá lecturas inexactas.

Otro método (como se usa en los exploradores de mars!) es usar sistemas ópticos. ¡Dos cámaras, un procesador y algunos algoritmos, y podrá calcular de forma precisa y confiable la distancia recorrida! Esto es más fácil de implementar si tiene muchos elementos estáticos fácilmente identificables en la sala para que el algoritmo se active.

¡También podrías equipar tu habitación! ¡esto significa que podría colocar líneas de RF, magnéticas o blancas alrededor de la habitación y usar un sensor apropiado y usarlos para la navegación!

Otro método es usar sensores ultrasónicos simples (¿sensores de estacionamiento en reversa, alguien?) ¡Esto ayudará a evitar colisiones! fusionarlos con sensores INS y magnetómetro y obtendrá un sistema de seguimiento de posición mucho más preciso. ¡O utilízalos por tu cuenta y evita golpear cosas!

    
respondido por el smashtastic
2

Podrías usar algún tipo de balizas en la habitación. Por ejemplo, balizas IR, balizas de radio o incluso balizas sónicas. Si puede estimar la distancia a su robot a partir de tres balizas (y solo necesita estimar, no necesita saber la posición exacta) puede aplicar una trigonometría simple para determinar su posición. Esto tiene la ventaja de que los errores no se acumulan.

Los sistemas INS no son muy útiles, excepto para tiradas cortas. Por ejemplo, supongamos que un acelerómetro tiene un desplazamiento de + 0.1%, es decir, sus medidas son 0.1% más altas de lo que deberían ser (lo que sería un acelerómetro de máxima especificación) y su robot funciona durante 30 minutos tomando cinco muestras por segundo, llevaría a un error de posición general de + 8066%.

    
respondido por el Thomas O
1

No se olvide de los métodos simples: medición de distancia por ultrasonido. Puede construir un mapa de la habitación o área y luego afinarlo mientras se desplaza. También considere usar sensores de velocidad angular para medir giros así como acelerómetros para medir movimientos lineales. Busque los filtros Kalman como se mencionó anteriormente. Puede combinar todas estas medidas en una sola lectura con los filtros de kalman y mejorar su consistencia (no necesariamente la precisión).

    
respondido por el AngryEE
0

El enfoque más barato y simple recuento de muertos . Aquí es donde utiliza el conocimiento sobre su rumbo y la velocidad para calcular su posición.

Dos métodos populares son:

respondido por el Toby Jaffey
0

Si intenta determinar su posición a partir de sensores a bordo que integran el movimiento que se puede medir, tiene un sistema de cómputo muerto. La principal debilidad con el cálculo de cuentas es que los errores en sus mediciones se acumulan y, a medida que pasa el tiempo, su estimación de dónde se encuentra es cada vez menos precisa.

Puedes mitigar esto colocando cosas en el entorno del robot que representan posiciones conocidas. Por ejemplo, si su sistema de cómputo muerto funciona lo suficientemente bien como para llevar a su robot a una misión y volver a una estación de carga, puede restablecer su información de posición a la posición conocida de la estación de carga cuando llegue allí.

En cuanto a las alternativas a la estimación de cuentas, ( y esto es puramente especulación, ya que nunca lo he probado ni lo he visto hecho ) parece que debería ser posible tener un sistema estacionario configurado en la habitación que hace con el robot lo mismo que hace el software de seguimiento de la cabeza. En otras palabras, una computadora externa con un par de cámaras podría triangularse en su robot, derivar su posición y transmitir esta información a su robot a través de su enlace inalámbrico. Con este tipo de configuración, el error de posición no se acumularía, solo sería lo que obtenga del sistema de seguimiento.

    
respondido por el JustJeff

Lea otras preguntas en las etiquetas