Quadruped Learning Simulator


10

Attualmente sto costruendo un robot con quattro gambe ( quadrupede ), 3 DOF (gradi di libertà) ed è stato suggerito qui che io uso un simulatore per fare l'apprendimento su un computer e quindi caricare gli algoritmi sul robot. Sto usando un Arduino Uno per il robot e quale software potrei usare per simulare l'apprendimento e quindi poterlo caricare sulla scheda Arduino?


Utilizzerai un robot esistente o lo progetterai e lo costruirai da solo?
DaemonMaker il

1
Ho già costruito il robot da zero :)
Jordan,

Risposte:


3

Gazebo è un buon strumento per quello che vuoi fare. Dato che stai usando un robot personalizzato, dovrai creare un modello da utilizzare per il simulatore. Sono riusciti a renderlo abbastanza semplice, ma per un quadrifilato posso immaginare che ci vorrà un po 'di tempo.

Gazebo è anche bello perché funziona bene con ROS, il che significa che se costruisci potresti costruire un programma per controllare il tuo robot e inviare i comandi al robot simulato tramite l'integrazione o al robot reale tramite rosserial . Fai attenzione che se non hai utilizzato nessuno di questi strumenti, ci vorrà del tempo per sviluppare la tua soluzione.


1
Ho dato un'occhiata ad alcuni dei passaggi per installarlo e sembra un lungo processo e non ho molta familiarità con la maggior parte di esso e sto usando un Mac, che sembra non odiare molto supporto. +1 per una soluzione plausibile ma potrei dover continuare a cercare
Giordania,

Un'alternativa sarebbe quella di costruire il tuo simulatore con qualcosa come OpenGL. La complessità di ciò dipenderebbe dalla cinematica del tuo robot e dalla simulazione della dinamica.
DaemonMaker il

2

Ciò non coprirebbe la simulazione del robot, ma la libreria di apprendimento automatico di OpenCV potrebbe essere utile per valutare algoritmi di apprendimento e parametri di addestramento da scaricare sul robot.

Include un'implementazione della rete neurale, che può essere di particolare interesse per questo problema.

OpenCv è anche una libreria standard e probabilmente si integrerebbe bene con qualche altro simulatore per il robot stesso.


Funzionerebbe davvero? La libreria OpenCV ML può adattarsi a un Arduino?
DaemonMaker il

1
Bene no, ma potresti usarlo per addestrare i parametri per un algoritmo di apprendimento su un Arduino.
WildCrustacean,

Questo è un modo complicato per me, sono solo al liceo e stavo saltando per un'alternativa molto più semplice e amichevole. Forse un programma che mi permette di progettare un robot virtuale simile al mio e quindi mostra le posizioni per ogni gamba che posso semplicemente copiare e incollare (essenzialmente) nel codice del mio progetto
Giordania,

In tal caso, forse dai un'occhiata anche a questa domanda: robotics.stackexchange.com/questions/697/… La robotica è tuttavia complicata e la robotica con l'apprendimento automatico non fa eccezione. Se in futuro
prendi

1
Inoltre, non pensare che qualcosa sia troppo difficile da complicare solo perché sei al liceo. Ci sono molti posti (incluso questo sito) dove puoi trovare aiuto se rimani bloccato.
WildCrustacean il

2

Il simulatore V-REP di recente provenienza può soddisfare le tue esigenze. L'ho trovato più accessibile di Gazebo e può funzionare su Windows, OSX e Linux. I loro tutorial sono abbastanza semplici. Esistono molti modi diversi di interfacciarsi programmaticamente (incluso con ROS). Sembra che ci sia anche un tutorial per creare un esapode , che probabilmente potresti usare come punto di partenza se non hanno già un esempio quadruplicato disponibile. Sfortunatamente, credo che il simulatore sia collegato direttamente al rendering dell'interfaccia utente, cosa che credo non sia necessariamente il caso di Gazebo.

Quindi, il tuo programma dovrebbe usare uno dei molti modi per interfacciarsi con V-REP, e quindi alimentare le prestazioni di una particolare andatura, determinata da un sensore in V-REP, in un algoritmo di apprendimento automatico (forse qualcosa da OpenCV come @WildCrustacean menzionato). Dovresti quindi trovare una traduzione dalla descrizione dell'andatura utilizzata dal robot simulato a qualcosa usato per comandare motori reali sul tuo Arduino.

D'altra parte, potresti creare il tuo simulatore usando un motore fisico esistente, rendendolo con una libreria grafica. Bullet e OGRE, rispettivamente, potrebbero essere usati per questo scopo, se ti piace C ++. Ce ne sono molti altri per altri linguaggi di programmazione.

Vorrei anche esaminare come i ricercatori che lavorano sulla generazione dell'andatura eseguono le loro simulazioni. Potrebbe esserci un progetto open source esistente dedicato ad esso.

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.