From aa414fcc1358337cb4b58d75acff75a120aba62a Mon Sep 17 00:00:00 2001 From: Ruben Seitz <2211567@stud.hs-mannheim.de> Date: Tue, 18 Nov 2025 12:15:32 +0100 Subject: [PATCH] pushed existing code base and cleanup --- MoveOnColorLine.llsp3 | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 MoveOnColorLine.llsp3 diff --git a/MoveOnColorLine.llsp3 b/MoveOnColorLine.llsp3 new file mode 100644 index 0000000..47d704a --- /dev/null +++ b/MoveOnColorLine.llsp3 @@ -0,0 +1,73 @@ +from hub import button, port, motion_sensor as ms +import motor +import motor_pair as mp +import color_sensor as cs +import color +import sys +import runloop +import time + +# await mp.move_for_degrees(mp.PAIR_1, 360, 45, velocity=280) + +# motor.run_for_degrees(portNum, 200, 300) +# await runloop.sleep_ms(2000) + +# mp.move_tank(mp.PAIR_1, 280, -280) +# await runloop.sleep_ms(2000) + +# WANTED_COLOR = color.BLACK + +async def move_on_color(): + start_time = time.time() + print(ms.tilt_angles()) + while True: + roll_value = ms.tilt_angles()[2] + if cs.reflection(port.C) < 60: + mp.move_tank(mp.PAIR_1, -100, 100) + elif cs.reflection(port.E) < 60: + mp.move_tank(mp.PAIR_1, 100, -100) + elif roll_value < -150: # uphill function + mp.move(mp.PAIR_1, 0, velocity=450) + else: + mp.move(mp.PAIR_1, 0, velocity=200) + + # Geradeaus + + # linkskurve + # rechtskurve + + # Kreuzung (grüner Punkt) + # wenn grün, dann biege um 90 Grad in die richtung ab (wenn vor schwarzer linie) + + + # Sackgasse (= zwei grüne Punkte) + # -> Drehung 180 Grad + + # Bergauf + # Bergab + + # Speedbumper (Schräge Bumper) + + +# Wippe Notizen +def flipflop(state, r, s): + """ + Logik implementiert in Rampen Logik. Bleibe stehen, wenn der Rollwinkel sich um mehr als 10 ändert. + RS-Flipflop-Logik: + Set (= tue nichts), wenn der Winkel sich ändert; + Reset (= bleibe stehen), solange sich der Rollwinkel ändert, danach fahre normal weiter + """ + return False if r else (True if s else state) + +# Obstacle Notizen + +# Ziellinie Notizen +# Wenn beide Sensoren rot, stoppe die Motoren + +async def main(): + mp.pair(mp.PAIR_1, port.A, port.D) + await move_on_color() + + sys.exit() + +runloop.run(main())