def supermagiskt(): global done while not done: m = ultrasonic.get_middle() u = n + vector.from_polar(m, compass.getHeading()) l = ultrasonic.get_left() v = n + vector.from_polar(l, compass.getHeading() + math.radians(30)) r = ultrasonic.get_right() w = n + vector.from_polar(r, compass.getHeading() - math.radians(30)) data = [] if m <= 300 and m >= 15: data.append([u.x, u.y]) if l <= 300 and l >= 15: data.append([v.x, v.y]) if r <= 300 and l >= 15: data.append([w.x, w.y]) if len(data) == 0: maplogger.log(position=[[n.x, n.y]], heading=compass.getHeading()) else: maplogger.log(position=[[n.x, n.y]], heading=compass.getHeading(), walls=data) time.sleep(0.2)
try: maplogger.initialize("/var/www/map.txt") robot.on_battery_low(avsluta) compass.calibrate(5) input("Enter") logger = threading.Thread(target=supermagiskt) logger.start() distance.start_measuring(count) motors.forward() t = 0 last = compass.getHeading() while True: left = ultrasonic.get_left() middle = ultrasonic.get_middle() right = ultrasonic.get_right() if left <= 50 and right <= 50: distance.stop_measuring() motors.stop() robot.turn_to(compass.getHeading() + math.pi, math.radians(10)) last = compass.getHeading() distance.start_measuring(count) motors.forward() elif left <= 50: distance.stop_measuring() motors.stop() motors.right() time.sleep(0.5)