¿Es posible mover y estabilizar un robot de dos ruedas sin giroscopios?

15

Con un robot de dos ruedas como este , he logrado estabilizarlo mientras lo mantenía estacionario. Esto se hizo usando un sistema de control de retroalimentación digital al leer la posición de las ruedas para determinar la posición, y la fuerza electromotriz trasera natural de los motores de las ruedas se usó en el circuito de retroalimentación para determinar la velocidad. Se mantuvo estable con un controlador PID, que se diseñó utilizando un algoritmo de ubicación raíz para mantenerlo estable y modular los parámetros de rendimiento (como exceso de porcentaje, tiempo de establecimiento, etc.). Quería intentar mantenerlo estable mientras simultáneamente lo impulsaba hacia adelante, pero no podía entender cómo diseñar un controlador lineal que pudiera hacer eso. ¿Es posible impulsar el robot hacia adelante y hacia adelante? mantenerlo estable usando un controlador de retroalimentación en las ruedas, o ¿es necesario un giroscopio?

Zetta Suro
fuente
1
¿Hay alguna razón en particular por la que no pueda usar un giroscopio? Solo por interés.
berry120
Se trata de una tarea que hice mi último mandato. Nos asignaron el robot y solo pudimos usar lo que nos dieron. La tarea era solo mantenerlo estacionario, pero simplemente he tenido curiosidad por saber si (y si es así, cómo) podría avanzar y mantenerse estable.
Zetta Suro

Respuestas:

4

Podría usar otras formas de medir la orientación, como un acelerómetro, seguimiento óptico de marcadores o un sensor de profundidad apuntando al piso.

AlcubierreDrive
fuente
Un sensor óptico de distancia que apunta al suelo es una forma bastante buena de medir la inclinación del robot. Solo recuerde que medirá la inclinación real, mientras que un giroscopio mide la tasa de cambio de inclinación
Rocketmagnet
2

Si lograste estabilizarlo en una configuración estacionaria, realmente no veo cómo sería mucho más difícil estabilizarlo a una velocidad constante. Desde el punto de vista del modelo del sistema, sería efectivamente lo mismo, salvo algunas compensaciones de velocidad. Si las transiciones entre velocidades no son muy grandes, debe caer dentro del rango de perturbaciones del sistema natural.

Jakob
fuente
2

Necesita algunos sensores para detectar el estado del sistema.

Primero linealice el sistema en una forma de espacio de estado, luego considere qué sensores tiene. Luego verifique si es observable. Si es observable, puede alimentar los estados estimados en su controlador.

Actualmente, parece que está utilizando la posición de la rueda y el EMF posterior (para velocidad) como mediciones directas. Sin verificar la matriz de observabilidad, no estoy seguro de si el sistema es observable.

ronalchn
fuente
2

Matemáticamente, el hecho de que ahora tenga rotación (principalmente) elimina ese parámetro como un posible parámetro de control. Básicamente, tendría que rediseñar su algoritmo para aceptar un componente de velocidad angular grande y variable sin dejar de utilizar la velocidad angular en sus comentarios. Cuanto menos ruidoso sea, mejor será el resultado probable simplemente porque es probable que aplique un diferencial de posición para derivar otro parámetro de control. O más bien esa es una forma. Por lo tanto, parece que necesita otra entrada de control, pero no necesita ser un acelerómetro. Podría hacer un horizonte, una ubicación fija del marcador o incluso sensores de inclinación.

marcador de posición
fuente