Anpassung fahre_gerade_aus für negative Strecken

Signed-off-by: Harry Kimpel <harrykimpel@hotmail.com>
This commit is contained in:
Harry Kimpel 2023-11-29 17:54:25 +01:00
parent 608480dc44
commit f5119caeb7
2 changed files with 20 additions and 9 deletions

View file

@ -96,21 +96,33 @@ class IQRobot:
:param int cm: Strecke in cm, die der Roboter geradeaus fahren soll :param int cm: Strecke in cm, die der Roboter geradeaus fahren soll
:param int speed: Geschwindigkeit zum Fahren der Strecke, Standard: 20 :param int speed: Geschwindigkeit zum Fahren der Strecke, Standard: 20
""" """
# ist überhaupt etwas zu tun für uns? d.h. cm = 0
if cm == 0 :
print("nichts zu tun")
return
# wollen wir vorwärts oder rückwarts fahren?
richtung = 1
if cm < 0:
richtung = -1
self.linker_motor.set_degrees_counted(0) self.linker_motor.set_degrees_counted(0)
self.bewegungsSensor.reset_yaw_angle() self.bewegungsSensor.reset_yaw_angle()
self.antrieb.start_tank(10, 10) self.antrieb.start_tank(10, 10)
self.antrieb.set_default_speed(10) self.antrieb.set_default_speed(10)
linker_speed=speed # Gescwindigkeit linker Motor linker_speed=speed * richtung # Geschwindigkeit linker Motor
rechter_speed=speed # Gescwindigkeit rechter Motor rechter_speed=speed * richtung # Geschwindigkeit rechter Motor
kp = 1.5 # Verstärkungsfaktor zur Regelung kp = 1.5 # Verstärkungsfaktor zur Regelung
ki = 1.0 # Integralfaktor zur Regelung ki = 1.0 # Integralfaktor zur Regelung
sum_cm = 0 # bereits gefahrene Strecke sum_cm = 0 # bereits gefahrene Strecke
sum_versatz = 0 # Summe des Versatzes über Zeit versatz = 0 # aktueller Versatz
sum_versatz = 0 # Summe des Versatzes über Zeit
# wiederhole solange die gefahrene Strecke noch nicht erreicht ist # wiederhole solange die gefahrene Strecke noch nicht erreicht ist
while sum_cm < cm: while sum_cm < cm * richtung:
wait_for_seconds(0.05) wait_for_seconds(0.05)
sum_cm = self.strecke_gefahren() sum_cm = self.strecke_gefahren()
versatz = self.bewegungsSensor.get_yaw_angle() versatz = self.bewegungsSensor.get_yaw_angle()

View file

@ -107,7 +107,7 @@ def hologram():
iqRobot.drehe(45) iqRobot.drehe(45)
iqRobot.fahre_gerade_aus(15,30) iqRobot.fahre_gerade_aus(15,30)
iqRobot.fahre_gerade_aus(-15,30) iqRobot.fahre_gerade_aus(-15,30)
def augmented_reality(): def augmented_reality():
iqRobot.drehe(-135) iqRobot.drehe(-135)
iqRobot.fahre_gerade_aus(42,30) iqRobot.fahre_gerade_aus(42,30)
@ -119,7 +119,6 @@ def augmented_reality():
iqRobot.fahre_gerade_aus(20,30) iqRobot.fahre_gerade_aus(20,30)
iqRobot.drehe(-90) iqRobot.drehe(-90)
iqRobot.fahre_gerade_aus(5,20) iqRobot.fahre_gerade_aus(5,20)
druckmaschine() druckmaschine()
hologram() hologram()