PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Geschwindigkeiten in km/h oder m/s umrechnen?



Pyrgo
29.07.2008, 22:38
Der RP6 hat doch eine Gewschwindigkeitsscala von 0 - 200. Ich möchte ihm gerne eine feste Strecke beibringen, damit ich mit StopWatches noch ein bisschen sicherer werde.

Sprich ganz einfach: 10 Sekunden geradeaus, rechts, 5 Sekunden geradeaus, etc.

Wenn ich aber danach die Geschwindigkeit erhöhe, hauen die Zeiten nicht mehr hin.

Deshalb die Frage, ob man die Scala in m/s umrechnen lassen kann? Oder kann ich mit den Sensoren messen, wie weit ich schon gefahren bin?

SlyD
29.07.2008, 23:21
Hallo,

Es gibt ein Makro DIST_MM(S) das die Strecke S in Encoder Zählschritte umrechnet. Dazu musst Du allerdings zunächst die tatsächliche Wegstrecken-Auflösung Deiner Encoder ermitteln.
Dann gibt es passend dazu eine Funktion, die den Roboter möglichst genau X Encoder Zählschritte fahren lässt. Das wird natürlich nicht immer erreicht, aufgrund des Bremsweges usw.

Wie ich schon im anderen Thread erwähnt hatte:
Die Anleitung ist nicht umsonst so lang!
Das steht da alles drin... ;)

MfG,
SlyD

UnIgor
02.10.2008, 22:20
Hi Pyrgo,

stimme da SlyD voll und ganz zu. Bei allen Strecken- & Geschwindigkeitsgeschichten solltest du vorher erst die Encoder kalibrieren ... dann würd' ich es auch mit der DIST_MM(S) Funktion versuchen. Die müsste bei kalibrierten Encodern eigentlich ganz gute Ergebnisse liefern.

Außerdem möchte ich noch hinzufügen, dass der RP6 nicht in der Lage ist sehr kleine Geschwindigkeiten (alle Geschwindigkeiten < 8 Encodersegmente/200ms) einzuregeln. Auch musst du berücksichtigen, dass du - wie im Manual beschrieben - zu hohe Geschwindigkeiten (> 160 Encodersegmente/200ms) vermeiden solltest.
Also ist man gut beraten, wenn man bei seinen Programmen Werte zwischen 10 und 160 Encodersegmente/200ms wählt (das entspricht dann den Geschwindigkeiten von so zwischen 0,01m/s und 0,2m/s ... naja, besser 1cm/s bis 20cm/s, denn so schnell ist er ja nu nicht, dass man seine Geschwindigkeit in m/s oder gar km/h angeben sollte ;) ...

Du rechnest also: (eingestellter Encoderwert [E/0,2ms] * 5 * Encodersegmentbreite [mm]) /10 = Geschwindigkeit [cm/s]
(*eckige Klammern = Einheiten*)

Wenn du zum Beispiel einen Encoderwert von 40 einstellst ergibt das:
(40 [E/0,2ms] * 5 * 0,25mm)/10 = 5 cm/s

Insofern kannst du die Geschwindigkeiten relativ genau regeln.
Hoffe das hilft dir etwas weiter.

Have fun
UnIgor