🖲️Misty OA
With the Obstacle Avoidance skill Misty will be able to drive and navigate your space without difficulties!
from mistyPy.Robot import Robot
from mistyPy.Events import Events
import time
misty = Robot("YOUR-ROBOT-IP-ADDRESS")
misty.change_led(0, 255, 0)
misty.move_head(0, 0, 0)
misty.display_image("e_DefaultContent.jpg")
def TOF(data):
if data["message"]["sensorPosition"] == "Center": #gets the central sensor distance
dist = data["message"]["distanceInMeters"]
print(dist)
time.sleep(0.5)
if dist < 0.4: # checks if it is less than 40cm
misty.display_image("e_Contempt.jpg")
misty.play_audio("s_PhraseOopsy.wav")
print("obstacle")
misty.drive_time(0, 50, 4500)
time.sleep(5)
misty.drive_time(20, 0, 2000)
time.sleep(3)
misty.drive_time(0, -50, 4500)
time.sleep(5)
misty.drive_time(0, 0, 2000)
time.sleep(2)
# Unregister the event to clean the data
misty.unregister_event("TOF_event")
# Registers the new event that will do the same
misty.register_event(event_name='TOF_event_obstacle', event_type=Events.TimeOfFlight, callback_function=TOF_obstacle, keep_alive=True, debounce = 100)
time.sleep(2)
else :
misty.drive(10, 0)
print("free")
def TOF_obstacle(data):
if data["message"]["sensorPosition"] == "Center":
dist = data["message"]["distanceInMeters"]
print(dist)
time.sleep(0.5)
if dist < 0.4:
misty.display_image("e_Contempt.jpg")
misty.play_audio("s_PhraseOopsy.wav")
print("obstacle_obst")
misty.drive_time(0, 50, 4500)
time.sleep(5)
misty.drive_time(20, 0, 2000)
time.sleep(3)
misty.drive_time(0, -50, 4500)
time.sleep(5)
misty.drive_time(0, 0, 2000)
time.sleep(2)
misty.unregister_event("TOF_event_obstacle")
misty.register_event(event_name='TOF_event', event_type=Events.TimeOfFlight, callback_function=TOF, keep_alive=True, debounce = 100)
time.sleep(2)
else :
misty.drive(10, 0)
print("free_obst")
misty.register_event(event_name='TOF_event', event_type=Events.TimeOfFlight, callback_function=TOF, keep_alive=True, debounce = 100)
misty.keep_alive()Last updated