Hallo, ich möchte mir einen balancierenden Roboter bauen. Im Internet habe ich auch schon einige Informationen dazu gefunden. Was ich aber nicht ganz verstehe ist der Unterschied zwischen einem ACC und einem Gyro. Was ich dazu herausgefunden habe ist, dass der ACC sagt wo oben oder unten ist und der Gyro misst die Drehgeschwindigkeit, aber wie kann ich mir das vorstellen? Gruß Felix
Felix L. schrieb: > aber wie kann ich mir das > vorstellen? Naja. Oben ist (hoffentlich) über deinem Kopf Unten ist dann am anderen Ende von dir. Und drehen ist drehen.
Felix L. schrieb: > ich möchte mir einen balancierenden Roboter bauen. Dafür benötigt man schon einige Physikkenntnisse. > Was ich dazu herausgefunden habe ist, dass der ACC sagt wo oben oder > unten ist und der Gyro misst die Drehgeschwindigkeit, aber wie kann > ich mir das vorstellen? Der Beschleunigungssensor zeigt nur dann die Richtung "oben" oder "unten" an, wenn er zu dem Zeitpunkt keine Richtungsänderung erfährt, sondern ausschließlich die Schwerkraft auf ihn einwirkt. Dies trifft bei bewegten Systemen jedoch meist nicht zu, so dass man dort eine Überlagerung aus der statischen Schwerkraft und der dynamischen Komponente hat. Diese Überlagerung muss ggf. herausgerechnet werden. Und wenn Dir der Unterschied zwischen linearen Bewegungen und Drehbewegungen nicht klar ist, solltest Du Dich erst einmal mit den physikalischen Grundlagen der klasssichen Mechanik beschäftigen. Lernt man so etwas heute nicht einmal mehr in der Schule? Wie willst Du denn die Differentialgleichungssysteme für Deinen Roboter aufstellen, ohne solche Grundlagen zu kennen? Um die Grundlagen zu erlernen reicht es nicht aus, ein oder zwei Fragen in Foren zu stellen, sondern nur die Beschäftigung mit einem ordentlichen Lehrbuch. Und erst wenn Dir die Grundlagen klar sind, macht es Sinn, sich mit den verschiedenen Sensortypen und ihren Einsatzbereichen zu beschäftigen. Google liefert Unmengen an durchaus brauchbaren Treffern für den Suchbegriff "Klassische Mechanik".
Andreas Schweigstill schrieb: > Und wenn Dir der Unterschied zwischen linearen Bewegungen und > Drehbewegungen nicht klar ist, solltest Du Dich erst einmal mit den > physikalischen Grundlagen der klasssichen Mechanik beschäftigen. Lernt > man so etwas heute nicht einmal mehr in der Schule? Andreas Schweigstill schrieb: > Wie willst Du denn die Differentialgleichungssysteme für Deinen Roboter > aufstellen, ohne solche Grundlagen zu kennen? Doch so etwas lernt man schon noch in der Schule. Und genau aus diesem Grund habe ich mir das Projekt ausgesucht um die Grundlagen praxisorientiert zu erarbeiten. Mir ist klar, dass man nicht gleich ein Erfolgserlebnis bekommt. Gruß Felix
Felix L. schrieb: > ich möchte mir einen balancierenden Roboter bauen. Immer gleich die dicken Bretter bohren ... Nimm erst einmal einen Besenstiel, setz ihn auf eine Modelleisenbahn in eine Lagerung, so daß er sich nur noch in einer Ebene bewegen kann, und verbinde dieses Lager mit einem Poti und dann versuche diese Geschichte zu balancieren. Das dürfte an Schwierigkeit erst einmal reichen. Wenn du nur ein gerades Gleisstück hast, wirst noch ein zweites Poti o.ä. brauchen, das du mit dem Zug verbindest, damit er nicht vom Gleis rollt, sondern seine Sollposition in der Mitte anstrebt. Das wäre dann die nächste Schwierigkeitsstufe. Beides kann man übrigens relativ einfach mit Operationsverstärkern realisieren (PID-Regler), und ob du dafür gut genug programmieren kannst, wirst du dann ja sehen.
Felix L. schrieb: > Was ich > dazu herausgefunden habe ist, dass der ACC sagt wo oben oder unten ist Das ist sehr vereinfacht ausgedrückt. Ein Acc, ein Accelerometer oder auf Deutsch ein 'Beschleunigungsmesser' misst Beschleunigungen. D.h. er würde dir zb auch in seinen Daten sagen, wann du mit dem Auto losgefahren bist und wie stark du aufs Gas gestiegen bist, wenn er am Beifahrersitz liegt. Vom Prinzip her kann man sich die meisten Beschleunigungssensoren wie eine Bowlingkugel vorstellen, die an einem Faden aufgehängt ist. Der Beschleunigungssensor sagt dir dann, wie weit dieses Pendel von der senkrechten ausgelenkt wird. Nur das integrierte Acc keine Bowlingkugeln sind, sondern zb kleine Testkörper, die in den Raumachsen an Federn aufgehängt sind und gegen die Federn drücken, wenn man sie beschleunigt. Und ja: wo oben und unten ist, kann dir ein Acc mitteilen, solange keine anderen Kräfte ( = Beschleunigungen) im Spiel sind. Denn auch die Gravitation ist eine Beschleunigung (daher ja auch Erd-"Beschleunigung" und ist daher als solche auch in den Daten vom Acc enthalten. Deshalb hängt ja auch ein Pendel nach 'unten', solange nichts anders im Spiel ist. Hängst du das Pendel aber im Auto auf, dann kriegst du eine Mischung aus den im Auto während der Fahrt auftretenden Beschleunigungskräften und der Gravitation. > und der Gyro misst die Drehgeschwindigkeit, aber wie kann ich mir das > vorstellen? Wie das Vorderrad von einem Fahrrad. Hälts du das an den Achsstummeln fest und lässt du deine Freundin mal das Rad schnell drehen, dann spürst du ganz deutlich, dass das Rad ( = der Kreisel) eine Kraft auf deine Hände ausübt, wenn du versuchst die ganze Anordnung zu drehen.
Danke für die Antworten. Ich würde gerne eure Einschätzung zum Aufwand des Projektes hören. Ist dieses Projekt mit Grundkenntnissen in Regelungstechnik und Programmieren in C (AVR) möglich. In die digitalen Filter wie Kalman Filter muss ich mich einarbeiten. Gruß
Hallo Felix, ist zwar schon ein paar Tage her aber: Um einen selbsbalancierenden Roboter zu bauen musst Du keine Differentialgleichungen aufstellen oder Kalman-Filter beherschen!!! Ein Kalman-Filter ist mathematisch hochgradig komplex. Du kannst auch mit ganz einfachen Mitteln gute Ergebnisse erhalten. Du willst ka keine Diplomarbeit schreiben :-) Das Problem in diesem Forum ist leider, das der Fragesteller meist erst mal einen drüber bekommt ohne das ihm wirklich weiter geholfen wird. Immer wieder schade! Schau mal hier vorbei: http://rn-wissen.de/wiki/index.php/Hauptseite Da bekommst Du für Deine Fragen sicher antworten. Programmieren musst Du natürlich können. Ich persönlich würde Dir empfehlen gleich C zu lernen. Da bist Du für die Zukunft (Job) bestens gerüstet. Der Aufwand ist schwer einzuschätzen, da hier niemand Deine Kentnisse beurteilen kann. Für einen erfahrenen Hard und Softwerker geht das schneller als für einen Anfänger :-) Schau Dir mal die "Arduino" sachen an. Da gibt ne Menge fertige Hard und Software. Lass Dich nicht entmutigen. Jeder hat mal klein angefangen :-) Gruß Florian
Hallo, Florian schrieb: > Programmieren musst Du natürlich können. Ich persönlich würde Dir > empfehlen gleich C zu lernen. Da bist Du für die Zukunft (Job) bestens > gerüstet. > > Der Aufwand ist schwer einzuschätzen, da hier niemand Deine Kentnisse > beurteilen kann. Für einen erfahrenen Hard und Softwerker geht das > schneller als für einen Anfänger :-) ich programmiere schon seit Jahren AVR und ein bisschen ARM in C. Daher denke ich das programmieren nicht das Problem ist. Viel mehr Sorgen mache ich mit mit der Weiterverarbeitung der Sensordaten. Gruß
Florian schrieb: > Das Problem in diesem Forum ist leider, das der Fragesteller meist erst > mal einen drüber bekommt ohne das ihm wirklich weiter geholfen wird. > Immer wieder schade! Das Problem mit deinem Beitrag ist, daß du dieses Forum schlechtmachst und behauptest es wäre alles ganz einfach ohne konkrete Hinweise zu geben wie. Dein Link auf rn-wissen hilft dem TO auch nicht weiter. Wenn es so einfach ist warum machst du es nicht besser wie all die bösen Poster hier im Forum und gibst konkrete Tipps? Es ist halt eben nicht so einfach den Winkel eines balancierenden Roboters gegen den Schwerkraftvektor zu bestimmen. Aber du darfst uns gerne mit einer genialen Lösung überraschen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.