PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionsberechnung mittels Odometrie



pauli
01.12.2004, 19:48
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

eFFex
02.12.2004, 07:47
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.

PicNick
02.12.2004, 09:51
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

thille
02.12.2004, 09:57
C-Control hat keine Fließkommazahlen. Selbst bei der Division kommt immer eine ganze Zahl raus.

Gruß

Torsten

PicNick
02.12.2004, 10:31
Ah ja. Da sollt' man sich doch fast was Generelles zusammenbasteln oder Bestehendes adaptieren. Oder vielleicht gar die Analog-Rechnerei wieder ausgraben ? mfg Robert

nestler
02.12.2004, 11:02
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....)

PicNick
02.12.2004, 12:59
@nestler: Hi, weiß schon, ich mein aber was hardwaremässiges, so wie den --387 seinerzeit. mfg

nestler
02.12.2004, 13:12
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"

Manf
02.12.2004, 13:41
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

pauli
02.12.2004, 20:16
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 :(((

pauli
02.12.2004, 20:37
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

Manf
02.12.2004, 20:49
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