PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vierfuß Laufroboter ohne Kniegelenk. Möglich?



Counterfeiter
23.10.2016, 14:13
Hallo,

ich heiße Sebastian und interessiere mich seit ca. einer Woche für Roboter. Obwohl ich ein Fan von Elektronik bin, konnte ich mich mit dem Roboterbau bisher nicht anfreunden.

Aus einer Laune heraus habe ich letzte Woche ein paar Komponenten aus der Bastelkiste zusammengeklebt. Ich hatte leider nicht ausreichend Servo-Motoren und habe erst einmal keine Kniegelenke vorgesehen. Das Laufverhalten ist dementsprechend schwierig herzustellen. Der Boden muss natürlich rutschig sein, damit er sich nicht nur vor und zurück schiebt. Ich habe aber das Gefühl, dass es eine koordinierte Vorwärts- und Rückwärtsbewegung geben kann.

Zu meiner Frage:
Hat jemand schon einen ähnlichen Roboter gebaut? Wie wäre der optimale Ablauf der Beinbewegungen auf rutschigen Fliesen?

Bisherige Erfolge:
Mit einem künstlichem neuronalen Netz und Reinforcement Learning mit Q-Learning (Epsilon-greedy Strategie) ist es mir gestern gelungen ein Netz anzulernen das etwas ungeschickt vorwärts läuft. Leider war es durch drücken des Reset-Buttons gleich wieder weg. Ich werde es heute noch mal versuchen.
Es nicht ganz so einfach mit bestärkendem Lernen den Roboter das Laufen zu lehren. Die ganze Umgebung wir natürlich mit gelernt:
- rastet er in eine Fliesenfuge ein, dann hat er bei der selben Bewegung ganz andere Erfolge erzielt
- hängt das Kabel straffer, verhält es sich wieder anders
- kommt er an die Begrenzungen, funktioniert nichts mehr so wie vorher

Ziel:
Ein von Hand implementierten Ablauf mit dem KNN vergleichen.

Hier mal das Bild, dass wahrscheinlich das ganze Problem schon beschreibt. Wie gesagt, dass ist in einer Stunde zusammengeklebt mit Komponenten die herumlagen.

32155

Viele Grüße

Sebastian

i_make_it
23.10.2016, 19:15
Hallo,
soweit ich das sehe, sind das vier RC-Servos für 4 Beine an einem starren, einteiligen Körper.
Da kann fast nichts werden, ohne Gewichtverlagerung ist es da Zufall wenn das Bein das nach vorne schwingen soll ohne Bodenkontakt die Bewegung durchführen kann.
Mit einem fünften Servo, kann man den Körper zweiteilen und gegeneinander verdrehbar machen.
Wenn beide Hinterbeine in der selben Stellung stehen und das Linke Vorderbein auch, verdreht man den Vorderkörper so daß, die rechte Schulter angehoben wird.
Dadurch kommt das linke Vorderbein mehr unter den Körper und der Abstand vom Körperschwerpunkt wird kleiner, was das selbe bewirkt wie eine Gewichtverlagerung.
Sicherer Stand auf drei Beinen.
So kann man ohne Kniegelenke und ohne aktive Gewichtsverlagerung laufen.

Manf
23.10.2016, 23:23
Vielleicht sollte man an eine solche Struktur denken:
https://www.youtube.com/watch?v=ZSc0fL-ZNBc
Boston Dynamics hat das auch mit 6 Beinen gebaut wodurch auch eine Steuerung der Richtung möglich wird.
https://www.youtube.com/watch?v=a0NFrA-Nx4Y

Counterfeiter
23.10.2016, 23:33
Hallo,

den Aufbau siehst du richtig.

Ja, dass habe ich mir schon fast gedacht. Ich hatte nur bei den bisherigen Versuchen das Gefühl das möglich ist. Evtl. allein dadurch das der starre Körper durch schnelle Beinbewegung in Schwingung gerät und somit das nötige Bein ohne Bodenkontakt zurückschwingen kann?!

Ich seh ein, dass meine Aufbau eher unkonventionell ist. Wahrscheinlich hat auch noch niemand ähnliches probiert?!

VG

Sebastian

oberallgeier
23.10.2016, 23:41
Hallo Sebastian,
willkommen im Forum.


.. interessiere mich .. für Roboter.. aus der Bastelkiste zusammengeklebt .. erst einmal keine Kniegelenke ..
Das Laufverhalten ist dementsprechend schwierig herzustellen ..
.. das der starre Körper durch schnelle Beinbewegung in Schwingung gerät und somit das nötige Bein ohne Bodenkontakt zurückschwingen kann ..Mit vier Servos und zwei Beinen hatte M1.R einen ganz schicken Laufmaxe hergestellt, der auch autonom laufen kann. Der Bewegungsablauf passt in Deine zuletzt beschriebene Projektidee. Na ja, was man so laufen nennen kann. Schau mal hier (klicken). (https://www.roboternetz.de/community/threads/41255-Flap-Flap-ein-kleiner-Zweibeiner)

Counterfeiter
24.10.2016, 16:58
@Manf, dass ist schon ein ganz anderes Prinzip...

@oberalgeier, genau so ähnlich verhält es sich... denke ich... ich werde wohl nur nicht "lenken" können. Wenn ich aber vor und rückwärts lauf trainiert bekomme, würde es mir erstmal ausreichen...

Hm, also ist der Ablauf eine Art Schwingung aufzubauen...

Counterfeiter
24.10.2016, 20:06
...ein paar Stunden später...
Ich habe nun die Lernparameter besser eingestellt und auch die Reaktionszeiten auf die Servoansteuerung deutlich verkürzt. Das neuronale Netz darf nun aller 100 ms an den Servos stellen.

Es ist ganz deutlich eine Vor- und Rückwärtsbewegung zu erkennen. Die ich im Video einfach mit dem Taster umschalten kann.
Interessant ist, obwohl alle Beine gleich priorisiert sind, das vordere rechte Bein wird in beide Richtungen nur als "Stopper" verwendet. Vielleicht so wie i_make_it es beschreiben wollte?!
Evtl. weil der Schwerpunkt durch die Kabel eher auf der linken Seite liegt?

Im Video habe ich den Robi mal im "Lernstall" gelassen, sonst würde er sicher nach links oder rechts wegdriften.


https://youtu.be/lZjd442ruIM

Ich bin sehr fasziniert. Ich glaube ich werde dieses Forum nun noch öfter besuchen.

Viele Grüße

Sebastian

oberallgeier
24.10.2016, 23:00
Hi Sebastian!


.. Ich habe nun die Lernparameter besser eingestellt .. den Robi mal im "Lernstall" gelassen, sonst würde er sicher nach links oder rechts wegdriften ..Ich finde es ja sehr bemerkenswert, dass Du dem Roboter seine Grenzen durch das Bürgerliche GesetzBuch markierst. Das macht Sinn! *ggg*


.. Das neuronale Netz darf nun aller 100 ms an den Servos stellen ..Die Servos werden "normalerweise" in einem Zeitraster von 20 ms angesteuert, siehe hier (klick) (http://rn-wissen.de/wiki/index.php/Servos#Ansteuerung:_Signalform_und_Schaltung).

Counterfeiter
25.10.2016, 08:29
Hehe, jetzt wo du es sagst. :D


Die Servos werden natürlich aller 20 ms angesteuert und sind durch eine Treiberschicht zur Applikation getrennt. Das Netz darf aber aller 100 ms eine neue Drehrichtung bestimmt.

Ich suche weiterhin noch Tipps zur optimalen Gangart bei diesem Robotertyp. Wer noch Ideen hat, bitte melden.

Counterfeiter
31.10.2016, 13:55
Hallo,

es gibt neue Erkenntnisse. Ich habe die Lernrate und einige andere Parameter besser eingestellt. Nun sieht es schon deutlich sinnvoller aus.


https://youtu.be/fHCm0gQRzC4

VG
Basti