Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsberechnung mittels Odometrie
Hallo mal an alle
Ich habe mir vor kurzem einen Robby gekauft und beschäftige mich gerade mit der Positionserkennung/Berechnung....bzw. möchte ich mich damit beschäftigen
Also ich würde gerne mit den vorhandenen Wegstreckenzählern (aufgebohrt für genauere Werte) die am Robby angebracht sind die Position in einem einfachen Raum ermitteln. Abgesehen davon dass das bei Kettenantrieb durch Schlupf usw. sehr ungenau wird.
Zur Positionsberechnung wird ja unter anderem die Odometrie verwendet....das heißt man benötigt auch Sinus bzw. Cosinus Funktionen.
1) Ist es möglich mit der C-Control 1 irgendwie Sinus und Cosinus Funktionen ziemlich genau zu berechnen?!?Wenn ja, wie???
2) Kann die C-Control 2 Gleitkomma rechnen und auch komplexere Mathematische Funktionen????
Danke mal im voraus
mfg, Pauli
Sinus,Cosinus am besten mit ner Taylorreihe, wenn du das ganze selbst bauen willst oder du nummst dir vorgefertigte Bibliotheken.
Zu den C-Controls per se hab ich keine Ahnung, aber da sie die Grundrechenarten beherrschen, dürfte es nciht schwer sein mahtematische Funktionen zu implementieren.
Alternativ (Wenn die Genauigliet nicht so ultrahoch sein darf) kannst dir auch n lookup table in den Speicher schreiben (so von 0 bsi PI) und dann eben direkt die WErte auslesen.
0 - PI/4 reicht auch.
Beim Taylor mit ein paar Dezimalstellen geht dem Kistel wahrscheinlich das Licht aus, da weiß er erst morgen, wo er gestern war.
Das diese Rechnerei bei Robbies etc. ja immer vorkommt und immer ein Problem ist, habt ihr jemals was von einer Float-Unit für MCU's gehört ? :-k
C-Control hat keine Fließkommazahlen. Selbst bei der Division kommt immer eine ganze Zahl raus.
Gruß
Torsten
Ah ja. Da sollt' man sich doch fast was Generelles zusammenbasteln oder Bestehendes adaptieren. Oder vielleicht gar die Analog-Rechnerei wieder ausgraben ? mfg Robert
Hallo!
Alternative wäre die C-Control 2. Fließkommaarithmetik funktioniert
da problemlos. Des weiteren gibt es im Modul Math auch schon Funktionen
wie sin, cos, exp, usw. Dann müsste man das Rad nicht neu erfinden.
Ansonsten ist Taylor eine gute Näherung. (Verwendet jedoch die e-
Funktion, wenn ich mich richtig erinnere....)
@nestler: Hi, weiß schon, ich mein aber was hardwaremässiges, so wie den --387 seinerzeit. mfg
meine antwort bezog sich eigentlich mehr auf das allererste posting
in diesem thread - und nicht auf dich, picknick...
sozusagen die antwort auf 2): "ja, kann sie"
Ansonsten ist Taylor eine gute Näherung. (Verwendet jedoch die e- Funktion, wenn ich mich richtig erinnere....)
In gewisser Weise sind das alles "e" Funktionen.
Dann eben mit e ganzzahlig anstellevon n. O:)
Manfred
Hallo
Danke zunächst mal an die raschen Antworten
also dass mit einer tabelle habe ich mir schon mal überlegt zur annäherung.
kann mir mal jemand dass mit der tayler reihe etwas genauer erklären?!?
also wie da jetzt direkt der rechenweg von z.B. Sin(10°) aussieht?! weil irgendwie hab ich im Google nicht wirklich was brauchbares gefunden ;(
Oda bin ich doch zu blöd dazu?!?
ich überlege mir aber auch, die C-Control 2 zuzulegen, da des mit den integerzahlen doch etwas lästig ist :(((
Hallo nochmals
ok,war vorher nicht eingelogged und hab die Formel nicht gesehen
Also jetzt kapier ichs.....nur wie hoch sollte n sein!??! reicht 15???
und wird das ganze dann nicht ein bisschen rechenintensiv?!?!?
Danke
mfg, Pauli
nur wie hoch sollte n sein!??! reicht 15???
Es reicht 4 für den elementaren Wertebereich.
Der übrige Bereich ergibt sich durch die periodische Wiederkehr der Funktionswerte.
(Wenn auch die Spiegelung parallel zur y-Achse eingsetzt wird.)
Wir haben auch etwas zur Taylor Reihenentwicklung hier im Roboternetz.
Manfred
https://www.roboternetz.de/phpBB2/viewtopic.php?p=28630#28630
https://www.roboternetz.de/phpBB2/files/sinus.jpg
BlueNature
18.12.2004, 01:51
Hi an alle hier!
Ich habe auch einmal bei meinem SPR-II Roboter eine Methode herausgeknobelt gehabt die ohne Rundung mit Ganzzahlen auskommt und das ohne "Rundungsfehler". Am Anfang giengen nur die vier Himmelsrichtungen ohne Berechnung. Das war natürlich zu langweilig. Dann hab ich begonnen die 45°-Schritte einzuführen. Dabei habe ich den Satz des Pythagoras (d = SQR(x^2 + y^2) zugrunde gelegt und einfach immer 10 Incremente zu 14 Incremente definiert. Das hat aber Rundungsfehler. Das geht aber trotzdem ganz gut. Dann kam ich auf die Idee nachdem ich einige Dreiecke gezeichnet hatte das ja ein Dreieck mit den Seitenkanten 3/4/5 keine Rundungsfehler hat. Heureka! Das war dann die Lösung ohne Sinuns/Cosinus und Quadratwurzel. Ich gieng einfach davon aus das ich wenn ich 5 Schritte nach NO fahre 3 in X-Richtung und 4 in Y-Richtung fahren muss, also resultierende Wegmessung 5! Oder das ich 4 in X-Richtung und 3 in Y-Richtung fahren muss, also ebenfalls resultierende Wegmesung 5! Damit habe ich dann einen Freiheitsgrad vom 12 Richtungen in einem Kreis von 5 Incrementen! Wenn man diese geschickt kombiniert kommt man an jede Zielkoordinate mit einer einfachen Ganzzahlrechnung an!
Grüsse Wolfgang
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.