Ho un quadrupede piccolo con tre gradi di libertà su cui ho lavorato: 3DOF Mini Quadruped .
Il mio codice originale era un semplice servo controller sull'arduino, e il codice Scala che avrebbe inviato comandi servo via cavo. Ho fatto tutta la cinematica inversa e la logica dell'andatura alla Scala, e l'ho fatta camminare: 3d di quadruped prima andatura .
La mia logica dell'andatura alla Scala era alquanto ingenua; dipendeva dal fatto che le gambe fossero nella posizione giusta all'inizio (un lato si estendeva avanti e indietro, l'altro lato l'uno verso l'altro). La logica era semplicemente tradurre tutti i quattro piedi all'indietro di 1 mm lungo y, e ogni volta che un angolo di coxa diventava eccessivamente all'indietro, fermarsi ed eseguire una piccola routine in cui quel piede veniva sollevato di 10 mm in z, quindi tradotto in avanti di 60 mm lungo y, e arretrato. Ingenuo, ma efficace.
Ora, ho riscritto il mio codice IK in arduino C e sto cercando di decidere come andare avanti con la dinamica di Gait. Ho avuto difficoltà a trovare risorse buone e facili da capire sulle andature. Ho una certa conoscenza della differenza tra andature dinamicamente stabili (come andature striscianti) in cui il corpo è sempre un treppiede stabile e andature dinamicamente instabili (camminare, trotto), dove due gambe sono sollevate da terra alla volta e il corpo sta essenzialmente cadendo in avanti nella gamba che avanza.
Ho avuto alcune riflessioni sulle macchine a stati e ho cercato di calcolare se il centro del corpo rientra in un triangolo creato dai piedi rimanenti per decidere quale piede è sicuro da sollevare, ma non sono sicuro che si tratti di idee che vale la pena esplorare.
So che questa è una domanda troppo generica, ma sono interessato a vedere come altre persone hanno attaccato questo problema, e tutto ciò che sono riuscito a trovare sono documenti di ricerca.