Archiv verlassen und diese Seite im Standarddesign anzeigen : ROBO, balancierender zweirad Roboter
Hallo allerseits
Nach einigem Mitlesen hier wollte ich einmal mein Projekt vorstellen:
http://de.youtube.com/watch?v=3hJyiDPR9Gw
Die Optik ist ein bisschen vom n-Bot abgeschaut. Den Antrieb besorgen zwei
Maxon Getriebemotoren. Der Motortreiber verfügt über einen eigenen
AtTiny2313 Controller. Dieser erhält die Befehle vom Hauptcontroller über eine IIC Verbindung. Der Hauptcontroller ist ein ATmega8. Als Sensoren
kommen ein Piezogyro aus dem Modellflieger und ein Inklinometer zum Einsatz.
Die Signale von den Sensoren werden in der Software zusammengewurstelt (Komplementärfilter, für Kalman war ich zu doof).
Funktioniert aber ansonsten ganz ordentlich. Die Auflösung der Sensorik könnte allenfalls noch etwas feiner sein.
Programmiert ist das ganze mit Bascom AVR.
Was Noch Fehlt: Eine schlaue Odometrie (könnte auch der ATtiny auf dem Driverboard übernehmen).
Dann würde es auch möglich werden gezielt herumzufahren.
Wenn ich dann mal wieder Zeit habe.....
Gruss
Plani
Peach303
28.02.2008, 13:24
Sieht cool aus!
Sehr schön!
Hast Du geplant, den Code irgendwann offenzulegen? Ich hätte Interesse.
Viele Grüße,
Malte
Festblatte
28.02.2008, 15:33
sieht schick aus
hätte nicht gedacht das man so ein ruhiges verhalten hinbekommt
kann ich mich nur anschließen, wie verhält sich so ein ding eigentlich auf einer gefällstrecke?
@malthy
Eigentlich nicht, zumindest noch nicht, denn der Code ist nicht sehr leserlich und daher trau ich mich nicht das eifach so zu Veröffentlichen.
Es müsste noch einiges auskommentiert werden, und dazu habe ich im Moment nicht Zeit.
@Festblatte
Es ginge sogar noch Ruhiger, dazu muss ich aber die Sensorik noch etwas überarbeiten.
@uwente
So wie der Stand im Moment ist würde der Roboter auf einer Gefällstrecke
enifach davonrollen. Die Motoren haben noch keine Decoder, daher hat der
Controller eigentlich keine Ahnung, ob der Roboter nun steht oder fährt.
Alles was ihn interessiert ist, dass er senkrecht steht.
Mit einer Geschwindigkeitsmessung währe es dann schon möglich, dass der
Roboter auch auf einer schiefen Ebene Manövrierfähig ist.
Der Geschwindigkeitsregler würde dann dem jetzt vorhandenen Lageregler
den Sollwert vorgeben.
daniel.weber
29.02.2008, 14:18
sieht sehr hübsch aus, auf dem Video ist aber nicht wirklich eine Fahrt zu erkennen, würde ich aber gerne mal sehen :)
Hallo,
balanciert wunderbar ruhig, dein Robo ! Wirklich Klasse.
Ich habe auch einen balancierenden Zweirad-Robot gebaut.
Mit Lego-NXT, der steht allerdings ziemlich unruhig.
Ich verwende einen Gyro + Odometrie. Jetzt würde ich gern
auch noch einen Beschleunigungssensor einsetzen um die
Lage direkter messen zu können. Kannst du mir etwas genaueres
über das Komplementärfilter sagen ? Mit Kalman habe ich versucht
mich auseinanderzusetzen, aber das ist mir zu hoch. Ich verwende
jetzt einen simplen PD-Regler. Geht zwar, aber eben nur ziemlich
wackelig. Deshalb wäre so ein Filter sicher sinnvoll. Vielleicht hast
du ein Beispiel oder so.
Gruß Jan
@JanB
Ich habe das Filter bei Francisco Lobos Spider Projekt abgeschrieben:
' This is the simplified filtered based on trevor's blackwell project.
' It works OK, but should be changed in the future to a more robust kalman filter.
rate_est = RawGyro - rate_bias ' Real Rate is determine by de-drifting the gyro input.
rate_bias = rate_bias + (rate_est * dt * 0.3) ' the gyro input bias is determine by a proportional integral value from the gyro input.
angle_est = angle_est + (rate_est * dt ) ' Our angle is integrated from the gyro.
angle_est = angle_est + ((rawangle - angle_est) * dt * 0.1) ' We fuse the readings from the gyro 'de-drifted' and the accel 'long term average'.
Ich habe dann die Konstanten getuned, bis die Ausgabe stimmt.....
@plani:
Vielen Dank für das Beispiel.
Sieht ja einfach und verständlich aus.
Ich werde es mal probieren damit.
Gruß Jan
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.