From f5119caeb7c68d3aef8b8a9ab74a3b1bc65da85e Mon Sep 17 00:00:00 2001 From: Harry Kimpel Date: Wed, 29 Nov 2023 17:54:25 +0100 Subject: [PATCH] =?UTF-8?q?Anpassung=20fahre=5Fgerade=5Faus=20f=C3=BCr=20n?= =?UTF-8?q?egative=20Strecken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Harry Kimpel --- iqrobot.py | 26 +++++++++++++++++++------- main.py | 3 +-- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/iqrobot.py b/iqrobot.py index 8483357..e2e8890 100644 --- a/iqrobot.py +++ b/iqrobot.py @@ -96,21 +96,33 @@ class IQRobot: :param int cm: Strecke in cm, die der Roboter geradeaus fahren soll :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.bewegungsSensor.reset_yaw_angle() self.antrieb.start_tank(10, 10) self.antrieb.set_default_speed(10) - linker_speed=speed # Gescwindigkeit linker Motor - rechter_speed=speed # Gescwindigkeit rechter Motor - kp = 1.5 # Verstärkungsfaktor zur Regelung - ki = 1.0 # Integralfaktor zur Regelung - sum_cm = 0 # bereits gefahrene Strecke - sum_versatz = 0 # Summe des Versatzes über Zeit + linker_speed=speed * richtung # Geschwindigkeit linker Motor + rechter_speed=speed * richtung # Geschwindigkeit rechter Motor + kp = 1.5 # Verstärkungsfaktor zur Regelung + ki = 1.0 # Integralfaktor zur Regelung + sum_cm = 0 # bereits gefahrene Strecke + versatz = 0 # aktueller Versatz + sum_versatz = 0 # Summe des Versatzes über Zeit # wiederhole solange die gefahrene Strecke noch nicht erreicht ist - while sum_cm < cm: + while sum_cm < cm * richtung: wait_for_seconds(0.05) sum_cm = self.strecke_gefahren() versatz = self.bewegungsSensor.get_yaw_angle() diff --git a/main.py b/main.py index 7154a34..628ff40 100644 --- a/main.py +++ b/main.py @@ -107,7 +107,7 @@ def hologram(): iqRobot.drehe(45) iqRobot.fahre_gerade_aus(15,30) iqRobot.fahre_gerade_aus(-15,30) - + def augmented_reality(): iqRobot.drehe(-135) iqRobot.fahre_gerade_aus(42,30) @@ -119,7 +119,6 @@ def augmented_reality(): iqRobot.fahre_gerade_aus(20,30) iqRobot.drehe(-90) iqRobot.fahre_gerade_aus(5,20) - druckmaschine() hologram()