Neue Stop Optionen in der Geradefahrfunktion: Farbintensität und Abstand.
This commit is contained in:
parent
714d50e996
commit
7abd2bbd3f
2 changed files with 31 additions and 14 deletions
20
iqrobot.py
20
iqrobot.py
|
@ -102,7 +102,7 @@ class IQRobot:
|
||||||
self.antrieb.stop()
|
self.antrieb.stop()
|
||||||
print ("Final Ziel: {}, Aktuell: {}".format(ziel, aktuell))
|
print ("Final Ziel: {}, Aktuell: {}".format(ziel, aktuell))
|
||||||
|
|
||||||
def fahre_gerade_aus(self, cm, speed=20):
|
def fahre_gerade_aus(self, cm, speed=20, intensity_stop=None, abstand_stop=None, abstand_greater=True):
|
||||||
"""
|
"""
|
||||||
Funktion um den Roboter geradeaus fahren zu lassen
|
Funktion um den Roboter geradeaus fahren zu lassen
|
||||||
|
|
||||||
|
@ -126,8 +126,8 @@ class IQRobot:
|
||||||
self.bewegungsSensor.reset_yaw_angle()
|
self.bewegungsSensor.reset_yaw_angle()
|
||||||
|
|
||||||
# Mit irgendeiner Geschwindigkeit g>0 starten. Wert ist irrelevant
|
# Mit irgendeiner Geschwindigkeit g>0 starten. Wert ist irrelevant
|
||||||
self.antrieb.start_tank(10, 10)
|
self.antrieb.start_tank(richtung*10, richtung*10)
|
||||||
self.antrieb.set_default_speed(10)
|
self.antrieb.set_default_speed(richtung*10)
|
||||||
|
|
||||||
linker_speed=speed # Geschwindigkeit linker Motor
|
linker_speed=speed # Geschwindigkeit linker Motor
|
||||||
rechter_speed=speed # Geschwindigkeit rechter Motor
|
rechter_speed=speed # Geschwindigkeit rechter Motor
|
||||||
|
@ -139,6 +139,20 @@ class IQRobot:
|
||||||
|
|
||||||
# wiederhole solange die gefahrene Strecke noch nicht erreicht ist
|
# wiederhole solange die gefahrene Strecke noch nicht erreicht ist
|
||||||
while sum_cm < cm * richtung:
|
while sum_cm < cm * richtung:
|
||||||
|
if intensity_stop:
|
||||||
|
red, green, blue, intensity = self.farbSensor.get_rgb_intensity()
|
||||||
|
print("Farbintensität: " + str(intensity))
|
||||||
|
if intensity == intensity_stop:
|
||||||
|
break
|
||||||
|
if abstand_stop:
|
||||||
|
abstand = self.abstandsSensor.get_distance_cm()
|
||||||
|
print("Abstand: " + str(abstand))
|
||||||
|
if abstand_greater:
|
||||||
|
if abstand >= abstand_stop:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
if abstand <= abstand_stop:
|
||||||
|
break
|
||||||
wait_for_seconds(0.05) # Sonst wird das zu oft ausgeführt
|
wait_for_seconds(0.05) # Sonst wird das zu oft ausgeführt
|
||||||
sum_cm = self.strecke_gefahren() * richtung # Gefahrene Strecke, ggf. eben negativ machen
|
sum_cm = self.strecke_gefahren() * richtung # Gefahrene Strecke, ggf. eben negativ machen
|
||||||
versatz = self.bewegungsSensor.get_yaw_angle() # Um wie viel sind wir falsch?
|
versatz = self.bewegungsSensor.get_yaw_angle() # Um wie viel sind wir falsch?
|
||||||
|
|
23
main.py
23
main.py
|
@ -1,4 +1,4 @@
|
||||||
# LEGO type:standard slot:5 autostart
|
# LEGO type:standard slot:5
|
||||||
|
|
||||||
import os, sys
|
import os, sys
|
||||||
|
|
||||||
|
@ -104,9 +104,10 @@ def hologram():
|
||||||
iqRobot.fahre_gerade_aus(-15,30)
|
iqRobot.fahre_gerade_aus(-15,30)
|
||||||
|
|
||||||
def augmented_reality():
|
def augmented_reality():
|
||||||
iqRobot.drehe(-135)
|
iqRobot.drehe(45)
|
||||||
iqRobot.fahre_gerade_aus(40,30)
|
# cm should be greater than real distance as we stop at color intensity
|
||||||
iqRobot.drehe(90)
|
iqRobot.fahre_gerade_aus(cm=-50,speed=30, abstand_stop=89)
|
||||||
|
iqRobot.drehe(-90)
|
||||||
iqRobot.fahre_gerade_aus(12,30)
|
iqRobot.fahre_gerade_aus(12,30)
|
||||||
iqRobot.schaufel(-2200)
|
iqRobot.schaufel(-2200)
|
||||||
iqRobot.fahre_gerade_aus(-4,30)
|
iqRobot.fahre_gerade_aus(-4,30)
|
||||||
|
@ -127,9 +128,10 @@ def backHome():
|
||||||
#iqRobot.schaufel(1600, speed=100 )
|
#iqRobot.schaufel(1600, speed=100 )
|
||||||
#iqRobot.schaufel(-1600, speed=100 )
|
#iqRobot.schaufel(-1600, speed=100 )
|
||||||
|
|
||||||
# druckmaschine()
|
iqRobot.schaufel(3000)
|
||||||
# hologram()
|
druckmaschine()
|
||||||
# augmented_reality()
|
hologram()
|
||||||
|
augmented_reality()
|
||||||
#backHome()
|
#backHome()
|
||||||
#huenchenaufgabe()
|
#huenchenaufgabe()
|
||||||
|
|
||||||
|
@ -137,9 +139,10 @@ def backHome():
|
||||||
|
|
||||||
#wait_for_seconds(2)
|
#wait_for_seconds(2)
|
||||||
|
|
||||||
while 0 == 0:
|
#while 0 == 0:
|
||||||
#print(iqRobot.abstandsSensor.get_distance_cm())
|
#print(iqRobot.abstandsSensor.get_distance_cm())
|
||||||
#print(iqRobot.farbSensor.get_reflected_light())
|
#print(iqRobot.farbSensor.get_reflected_light())
|
||||||
print(str(iqRobot.farbSensor.get_blue())+" "+str(iqRobot.farbSensor.get_green())+" "+str(iqRobot.farbSensor.get_red()))
|
#print(str(iqRobot.farbSensor.get_blue())+" "+str(iqRobot.farbSensor.get_green())+" "+str(iqRobot.farbSensor.get_red()))
|
||||||
wait_for_seconds(0.5)
|
#wait_for_seconds(0.5)
|
||||||
|
#print(str(iqRobot.abstandsSensor.get_distance_cm()))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue