Gående robot

Robot, CNC, Pneumatik, Hydraulik, mm
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Gående robot

Inlägg av strombom »

Exprimenterar lite med att simulera en gående robot.

Jag har börjat på det här innan men då krånglade jag till det och började med 3D och alla finesser så jag blev aldrig klar. Nu gjorde jag en lite enklare approach så blev jag "klar" med grunderna på en helg :)

Första försöket:

Råkade ge honom lite för starka ben:

Fortfarande lite konstig men kom längre:

Nu hinner jag inte leka mer idag, men det här var skoj :)

Edit:
All kod ligger här: http://code.google.com/p/bipedwalker/
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Gående robot

Inlägg av Andax »

Shakin' Stevens? :D

Vad har du gjort simuleringen i?
Användarvisningsbild
Stolleman
EF Sponsor
Inlägg: 2676
Blev medlem: 21 oktober 2005, 20:46:45
Ort: Utanför Växjö

Re: Gående robot

Inlägg av Stolleman »

En steppande humanoid är inte helt fel heller :wink:
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Re: Gående robot

Inlägg av Walle »

Hmm, du måste ha kodat lite fel..det måste ha råkat smugit sig in ett C2H5OH där nånstans ;)

Hur gör man såna simuleringar? Det där ser ju riktigt roligt ut ju! :)
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Re: Gående robot

Inlägg av strombom »

Hehe, ja han är lite skakis, han är väl lite nervös, första gången han är ute och går ju.

Jag använder box2d för fysiksimuleringen och cairo för att rita ut resultatet. Sedan använder jag ett neuralt nätverk med noder som innehåller tidskonstanter (CTRNN) som evolveras med NEAT: http://en.wikipedia.org/wiki/NeuroEvolu ... Topologies

Jag ska nog dela upp roboten i olika delar och träna dem var för sig. En kontroller för ett ben som instansieras två gånger och en kontroller för varje gång-läge, typ en för gång, stående, språng osv. Det är bara något jag ska testa, får se vad som händer, om jag kan få den att gå lite mer naturligt. Sedan ska den tränas i flera olika miljöer som lutningar och trappor, någon gång i framtiden :)

Slutmålet är att kunna göra styrning till den här:
http://iloapp.altronix.se/data/_gallery ... esized.png
men det lär väl ta några år :)
Användarvisningsbild
gunne
Inlägg: 2088
Blev medlem: 17 juni 2004, 15:00:31
Ort: sthlm
Kontakt:

Re: Gående robot

Inlägg av gunne »

Borde du inte låsa knäna så att de inte kan böjas bakåt?
Användarvisningsbild
kifkroker
Inlägg: 405
Blev medlem: 15 september 2006, 01:22:46
Ort: Oslo

Re: Gående robot

Inlägg av kifkroker »

Intressant, jag använder flashporten av box2d till spel. Antar att det är revolute joints där du sätter motorspeed, men ger du input till varje "led" för sig, eller är dom beroende av varandra på något vis? Berätta gärna upplägget!
laban12
Inlägg: 1199
Blev medlem: 17 april 2008, 16:01:56
Ort: Stockholm

Re: Gående robot

Inlägg av laban12 »

Test två är en bra simulering av hur jag ser ut på dansgolvet!! :D
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Re: Gående robot

Inlägg av strombom »

gunne: jo, det går absolut. kanske ska låta den få armar också...

kifkroker: ja precis, revolute joints. just nu har jag satt en fast "torque" och använder endast "speed" som parameter, så jag har 4 parametrar, två knän och två höftleder. input till styrsystemet är "magens" position och vinkel samt vinkeln på alla leder. roboten "dör" om den kommer utanför de två kryssen, och den får mer poäng ju längre tid den överlever (eller om den skulle lyckas gå 4 meter, då avslutas körningen och den roboten vinner).

till de filmerna jag visade har jag kört 100 generationer och det är 100 robotar i populationen. så 9999 robotar har dött i varje experiment och 1 har överlevt. så jag kan tyvärr inte säga att inga robotar har kommit till skada under dessa experiment ;)

mycket ska ändras...
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Gående robot

Inlägg av Andax »

Vad är det som du har som ingångsvariabler? Typ en flagga "gå åt vänster" eller "gå åt höger" och sedan evolvera fram ett nät som gör detta?

Kan man tänka sig att man gör ett programmerat rörelsemönster där man använder neurala nätverket som en fintuning? På så vis kommer man ju snabbare fram i början av upplärningsprocessen.
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Re: Gående robot

Inlägg av strombom »

den har faktiskt ingen sådan ingångsvariabel ;)
hamnar den utanför de två kryssen dör den helt enkelt...

när/om jag får den att gå bättre kan jag givetvis lägga till avancerade ingångsvariabler som kan styra den att gå fram/tillbaka, klättra, hoppa och vad man nu kan tänka sig, men ett steg i taget :)

jag ska nog inte lägga in några fördefinerade rörelsemönster, däremot funderar jag på en modulbasserad approach... jag tänkte göra en separat kontroller för att styra ett ben, som då kan styras av "huvudkontrollern". sedan kanske jag tränar sådana kontroller för flera olika scenarion, till exempel stå/gå/springa/sparka, sedan kan "huvudkontrollern" i framtidien själv välja vilken som är lämpligt med någon form av betéendebaserad kod.

jag tycker inte det känns rimligt att kunna evolvera hela roboten på en gång. det vore bra om man kunde separera så mycket som möjligt så att man kan träna upp de saker som behövs en i taget.
Användarvisningsbild
strombom
Inlägg: 3305
Blev medlem: 27 maj 2003, 10:50:20
Ort: Västra Götaland
Kontakt:

Re: Gående robot

Inlägg av strombom »

:doh:

laban12
Inlägg: 1199
Blev medlem: 17 april 2008, 16:01:56
Ort: Stockholm

Re: Gående robot

Inlägg av laban12 »

Ser ut som att han måste ta av sig Michael Jackson dojjorna så han får lite bättre friktion mot golvet... ;)
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31421
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Re: Gående robot

Inlägg av MadModder »

bambi? :lol:
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: Gående robot

Inlägg av Andax »

Den verkar ju anpassa sig efter de fysikaliska egenskaperna uppsatta. Att den gör en power-slide istället för att gå innebär ju faktiskt att den är smart och utnyttjar faktumet att marken är hal! :)
Kanske lite högre friktion är mer realistisk ?!
Kan man inte ha någon typ av straffmetrik där man räknar fram någon typ av snitt-avvikelse (varians eller standardavvikelse) som en robot haft mot ett börvärde och sedan behålla de som har bäst (lägst) värden.

Hur gör du skapandet av nya kandidater?

Tycker det är hyperintressant med genetiska algoritmer och neurala nätverk. Kommer ihåg att vi gjorde ett försök att göra en othello-spelare baserad på gen-baserade neurala nätverk i en projektkurs när jag pluggade för länge sedan.
Det roliga var att en i projektet förlorade mot vår datorspelare när vi bara körde med de slumpmässiga startvärdena innan vi ens hade gjort någon upplärning alls!! :D Säger kanske mer om hans förmåga att spela othello!!
Skriv svar