È possibile spostare e stabilizzare un robot a due ruote senza giroscopi?


15

Con un robot a due ruote mantenerlo stabile utilizzando un controller di feedback sulle ruote o è necessario un giroscopio? come questo , sono riuscito a stabilizzarlo mantenendolo fermo. Ciò è stato fatto utilizzando un sistema di controllo digitale del feedback leggendo la posizione delle ruote per determinare la posizione e la forza elettromotrice posteriore naturale dei motori delle ruote è stata utilizzata nel circuito di feedback per determinare la velocità. È stato mantenuto stabile con un controller PID, progettato utilizzando un algoritmo locus root per mantenerlo stabile e modulare i parametri delle prestazioni (come percentuale di superamento, tempo di assestamento, ecc.). Volevo tentare di mantenerlo stabile mentre lo spingevo contemporaneamente in avanti, ma non riuscivo a capire come progettare un controller lineare che potesse farlo. È possibile far avanzare sia il robot sia


1
C'è qualche motivo particolare per cui non puoi usare un giroscopio? Solo per interesse.
berry120,

Si tratta di un incarico che ho fatto il mio ultimo mandato. Ci è stato assegnato il robot e potevamo usare solo ciò che ci era stato dato. Il compito era solo quello di mantenerlo fermo, ma sono stato semplicemente curioso di sapere se (e in tal caso, come) potesse andare avanti e rimanere stabile.
Zetta Suro,

Risposte:


4

È possibile utilizzare altri modi per misurare l'orientamento, ad esempio un accelerometro, il rilevamento ottico dei marker o un sensore di profondità puntato verso il pavimento.


Un sensore di distanza ottico che punta verso il pavimento è un ottimo modo per misurare l'inclinazione del robot. Ricorda solo che misurerà l'inclinazione effettiva, mentre un giroscopio misura il tasso di variazione dell'inclinazione
Rocketmagnet,

2

Se sei riuscito a renderlo stabile in una configurazione stazionaria, non vedo davvero come sarebbe molto più difficile renderlo stabile per una velocità costante. Dal punto di vista del modello di sistema, sarebbe effettivamente la stessa cosa a parte alcuni offset di velocità. Se le transizioni tra le velocità non sono molto grandi, dovrebbe rientrare nell'intervallo delle perturbazioni del sistema naturale.


2

Hai bisogno di alcuni sensori per rilevare lo stato del sistema.

Prima linearizza il sistema in una forma di spazio di stato, quindi considera quali sensori hai. Quindi controlla se è osservabile. Se è osservabile, puoi inserire gli stati stimati nel tuo controller.

Attualmente, sembra che tu stia usando la posizione della ruota e l'EMF posteriore (per la velocità) come misure dirette. Senza verificare la matrice di osservabilità, non sono sicuro che il sistema sia osservabile.


2

Matematicamente, il fatto che ora si abbia la rotazione (principalmente) elimina quel parametro come possibile parametro di controllo. Fondamentalmente dovresti ridisegnare il tuo algoritmo per accettare una componente di velocità angolare grande e variabile mentre usi ancora la velocità angolare nel tuo feedback. Meno rumoroso è, migliore è il probabile risultato semplicemente perché è probabile che si applichi un differenziale di posizione per derivare un altro parametro di controllo. O meglio, questo è un modo. Quindi sembra che tu abbia bisogno di un altro input di controllo, ma non deve essere un accelerometro. Potresti fare un orizzonte, una posizione fissa dell'indicatore o persino sensori di inclinazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.