ich hab schon mal den tipp mit der einstellung der zahnradmuffe gegebnen
hi allerseits,
mit folgendem programm sollte sich der RP6 eigentlich auf der stelle drehen:
tut er aber nicht. egal ob er eine drehung rechts, oder links ausführt, bewegt er sich auch - in fahrtrichtung gesehen - seitwärts rechts. Ist das normal?Code:#include "RP6RobotBaseLib.h" int main(void) { initRobotBase(); setLEDs(0b111111); mSleep(2500); powerON(); while(true) { void task_motionControl(void); setLEDs(0b000100); // move(100, FWD, DIST_MM(1000), true); // setLEDs(0b100000); rotate(100, RIGHT, 360, true); setLEDs(0b100000); // move(100, FWD, DIST_MM(1000), true); // setLEDs(0b000100); // rotate(100, LEFT, 180, true); mSleep(2500); } return 0; }
Die werte für encoder_resolution und rotation_factor in der config.h habe ich schon angepasst, so ganz genau fährt er weder die entfernung noch der winkel, aber das ist ja ok, nur die bewegung seitwärts irritiert mich.
Die funktion task_motion_control habe ich eingefügt, weil ich es in der anleitung zu den motorfunktionen gelesen habe. Liegt es mit der seitwärtsbewegung daran, dass die motoren unterschiedlich stark sind?
gruß inka
hi Martinius11,
er fährt bei move schon schön geradeaus, mach keinen bogen, nur wenn sich beide ketten gegeläufig (rotate, also quasi FWD, RWD) bewegen "verschiebt" er sich nach rechts...
habe beide muffen überprüft, sitzen mit wenig spiel in der gleichen entfernung zum rad...
gruß inka
Hi inka,
wie groß ist denn der Versatz von deinem RP6 nach der Drehung?
Ich versteh das doch richtig das der RP6 nach der 360° Drehung nicht mehr auf dem Punkt steht, auf dem er die Drehung begonnen hat oder?
Ist der Versatz bei kleineren Rotationsgeschwindigkeiten genau so groß?
Gruß
szd
hi szd,
drehung RE, speed 50, halbe spurweiteZitat von suicide
drehung RE, speed 100, ganze spurweite
drehung li entsprechend, beide male versatz nach rechts
ja...Ich versteh das doch richtig das der RP6 nach der 360° Drehung nicht mehr auf dem Punkt steht, auf dem er die Drehung begonnen hat oder?
s.o., bei kleineren geschwindigkeiten ist der versatz kleiner...Ist der Versatz bei kleineren Rotationsgeschwindigkeiten genau so groß?
gruß inka
Auf welchem Untergrund?
Das ein Kettenfahrzeug beim rotieren je nach Untergrund etwas seitwärts abdriftet ist normal - die Ketten reiben nunmal über den Boden während der Drehung.
(dazu steht auch was in der Anleitung Anhang B! Mal die verlinkten PDFs anschauen!)
Bei den move und rotate Funktionen wird langsam beschleunigt und abgebremst währenddessen könnte es kurz sein das die beiden Ketten nicht gleichschnell drehen.
Wie verhält er sich mit folgendem Code:
(einmal mit LEFT und einmal mit RIGHT testen bitte)Code:#include "RP6RobotBaseLib.h" int main(void) { initRobotBase(); mSleep(1000); powerON(); changeDirection(LEFT); // changeDirection(RIGHT); moveAtSpeed(80,80); while(true) { task_RP6System(); } return 0; }
MfG,
SlyD
PS:
Hast Du bei der Drehgeber Einstellung die Motoren mal Rückwärts laufen lassen ("bwd" eingeben und PWM Wert auf 100 stellen) - passt die Einstellung dann noch?
Die Stellringe an den Zahnrädern mit der Encoder Scheibe müssen so sitzen wie auf der letzten Seite des Drehgeber justieren PDFs - sonst können sich die Zahnräder vom Sensor wegbewegen (da Schrägverzahnt, passiert das aber nur in einer Richtung!)
hi SlyD,
untergrund: teppichboden, ca 25 maschen/cm², relaiv rauh (eben arbeitszimmer )
code:
RIGHT (7 drehungen): 50cm nach rechts, 25 cm nach vorne gewandert
LEFT (7 drehungen): 50cm nach rechts, 5cm nach vorne
Anhang B: habe ich gelesen, verlinkte PDF´s: meinst Du das von der "The University of Michigan"? hab ich (noch) nicht gelesen
zum PS: kann ich jetzt nicht sagen, wahrscheinlich ja, weil es ja in der beschreibung stand. werde ich noch einmal machen. Es schien mir erstmal wichtiger die tests mit Deinem code zu machen, wenn man hier schon am sonntag einen spezialisten hat...
danke erstmal...
edit: encoder duty-cycle test durchgeführt, fwd wie auch bwd, 50 und 100 zeigen akzeptables tastverhältnis...
http://www.a-g-k.com/_rp_6/encoder_li_2010_01_03.jpg
http://www.a-g-k.com/_rp_6/encoder_re_2010_01_03.jpg
gruß inka
50cm?!
Ein halber Meter ist wirklich NICHT normal selbst bei rauhem Teppich.
Das Kettenprofil kann natürlich leicht in den Fasern des Teppichbodens hängen bleiben (macht er ruckartige Bewegungen oder driftet er relativ konstant weg?).
Die Drehgeber sind gut eingestellt - also vielleicht ein Mechanik Problem.
Da er scheinbar immer nach rechts wegdriftet(?):
Zieh mal die Vorderräder raus und drück sie wieder zurück - die sollten etwas Spiel haben (grob 1mm) aber nicht zuviel.
Drück auch mal die Zahnräder an den Hinterrädern in richtung Chassiswand (am Rad gegenhalten).
Sind die Ketten in Ordnung oder evtl. "verzogen"?
Tausch doch mal die linke mit der rechten Kette (also vorsichtig mit Drehbewegung abziehen und auf der anderen Seite drauf) und probiers nochmal. Wenn das nichts bringt dreh eine der Ketten um (also abziehen um 180° horizontal drehen und wieder draufmachen).
MfG,
SlyD
Hi SlyD,
er dreht auf dem teppichboden gleichmäßig, also driftet konstant weg...
vorder-räder:
das rechte lässt sich (mit hörbarem knacken) um ca. 0,5mm hin und her bewegen (auf der achse), das linke nicht, es läst sich nur drehen. Allerdings spüre ich keinen unterschied, beide lassen sich relativ leicht drehen. Mit kette und auch ohne.
hinterräder:
sind ja nur auf der achse draufgesteckt und werden (durch die kette?) draufgehalten. Die zahnräder liessen sich etwas in richtung hinterrad drücken, laufen aber immer noch mit ca. 0,5mm spiel zum anderen zahnrad.
die ketten sind optisch ok, der wechsel li/re mit der RIGHT code-version verringerte das wegdriften nach rechts auf ca. 45 cm. 25cm nach vorne blieben.
drehen der rechten kette (in der ebene der kette, innenseite nach aussen):
wegdriften um 50/25 cm (re/vorne), also keine verbesserung…
und nun?
gruß inka
Lesezeichen