def runtrial(): shared_all.move_straight(distance_mm=70, speed_mm_s=50) shared_all.move_straight(distance_mm=70, speed_mm_s=-90) shared_all.turn_to_angle(gyro=gyro, target_angle=45) # turn to face south shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.RED, speed_mm_s=100) shared_all.turn_to_angle(gyro=gyro, target_angle=-45) shared_all.move_straight_target_direction(gyro=gyro, distance_mm=800, speed_mm_s=300, target_angle=-45) shared_all.turn_arc(distance=50, angle=-60, speed_mm_s=100) # turn in an arc shared_all.turn_to_angle(gyro=gyro, target_angle=150) # turn to face south shared_all.move_crane_to_floor(crane_motor) shared_all.drive_raising_crane(duration_ms=1000, robot_distance_mm=400, robot_turn_angle=0, motor=crane_motor, crane_angle=60) shared_all.move_crane_to_top(crane_motor) shared_all.move_to_obstacle(obstacle_sensor=ultrasound, stop_on_obstacle_at=80, speed_mm_s=-100)
def turn_arc_90(): shared_all.log_string('Arc turns 90 deg 12 cm') shared_all.turn_arc(distance=120, angle=90, speed_mm_s=130) wait(2000) shared_all.turn_arc(distance=120, angle=-90, speed_mm_s=130) wait(2000)
def runold(adjust_for_mission=0): shared_all.start_moving_crane_to_angle(motor=crane_motor, target_angle=25) shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.GREEN, alternative_color=Color.GREEN, max_distance_mm=60) shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.RED, alternative_color=Color.YELLOW, max_distance_mm=170) shared_all.turn_arc(distance=30, angle=15, speed_mm_s=60) #lift weight and back up crane_motor.stop() shared_all.move_crane_down(motor=crane_motor, degrees=10) crane_motor.run_time(600, 900) # shared_all.move_crane_to_floor(crane_motor) # shared_all.move_crane_up( motor = crane_motor, degrees = 40) shared_all.start_moving_crane_to_angle(motor=crane_motor, target_angle=25) shared_all.move_straight(distance_mm=70, speed_mm_s=-120) # turn west and back up shared_all.turn(-140, speed_deg_s=200) shared_all.start_moving_crane_to_top(motor=crane_motor) shared_all.move_straight(distance_mm=70, speed_mm_s=-150) shared_all.turn_arc(distance=50, angle=60, speed_mm_s=190)
def take_slide_to_home(): shared_all.turn_arc(distance = 90 ,angle = 50 , speed_mm_s=100) shared_all.turn_arc(distance = 160 ,angle = -90 , speed_mm_s=100) shared_all.move_rack_to_floor() shared_all.drive_raising_crane(duration_ms=2200, robot_distance_mm=400, robot_turn_angle=15, motor=rack_motor, crane_angle=-15)
def base_to_basket(adjust_for_mission=0): shared_all.turn_arc(distance=620, angle=-90, speed_mm_s=230) shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.BLACK, alternative_color=Color.BLACK) shared_all.turn_to_direction(gyro=gyro, target_angle=-90, speed_mm_s=120)
def pullup_to_dance(): shared_all.move_straight_target_direction(gyro=gyro, distance_mm=150, speed_mm_s=180, target_angle=-90) shared_all.turn_arc(distance=150, angle=-60, speed_mm_s=130) shared_all.turn_arc(distance=150, angle=60, speed_mm_s=130)
def row_to_weight_right_angleTurns(adjust_for_mission=0): shared_all.turn(angle=-40) shared_all.turn_arc(distance=50, angle=-60, speed_mm_s=80) shared_all.move_straight_target_direction(gyro=gyro, distance_mm=70, speed_mm_s=160, target_angle=-90 + adjust_for_mission)
def push_small_tire(adjust_for_mission=0): shared_all.move_rack_to_floor() shared_all.drive_raising_crane(duration_ms=1900, robot_distance_mm=30, robot_turn_angle=-35, motor=rack_motor, crane_angle=-5) shared_all.move_crane_to_top(rack_motor) shared_all.turn_to_direction(gyro=gyro, target_angle=-70) shared_all.turn_arc(distance=90, angle=-20, speed_mm_s=140)
def align(adjust_for_mission=0): shared_all.turn_to_direction( gyro=gyro, target_angle=180+ adjust_for_mission) shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.WHITE, alternative_color=Color.WHITE, speed_mm_s=25, min_intensity=robot_setup.WHITE_MIN_INTENSITY[color_sensor_center]) shared_all.move_straight(distance_mm= 60, speed_mm_s= -70) shared_all.move_crane_to_floor(crane_motor) shared_all.turn_arc(distance=160, angle=80, speed_mm_s =50)
def run(): shared_all.move_rack_to_floor() # shared_all.move_crane_up( motor = rack_motor, degrees = 30) shared_all.move_straight(distance_mm=55, speed_mm_s=100) while shared_all.did_motor_stall(motor =rack_motor , max_degrees =30 , speed = 80): shared_all.log_string('Stalled') shared_all.move_straight(distance_mm=4, speed_mm_s=-20) shared_all.drive_raising_crane(duration_ms=400, robot_distance_mm=30, robot_turn_angle=0, motor=rack_motor, crane_angle=75) shared_all.turn_arc(distance = 60 ,angle = -7 , speed_mm_s=100)
def stepcounter_to_treadmill_reverse(adjust_for_mission=0): shared_all.move_straight(distance_mm=160, speed_mm_s=150) shared_all.turn(angle=-10) shared_all.turn_arc(distance=330, angle=-50, speed_mm_s=-150) shared_all.move_straight_target_direction(gyro=gyro, distance_mm=400, speed_mm_s=-170, target_angle=180) shared_all.move_to_color_reverse( color_sensor=color_sensor_center, stop_on_color=Color.WHITE, alternative_color=Color.WHITE, min_intensity=robot_setup.WHITE_MIN_INTENSITY[color_sensor_center], max_distance_mm=180)
def aligntonorth(adjust_for_mission=0): shared_all.turn_arc(distance=150, angle=-45, speed_mm_s=170) shared_all.turn_arc(distance=150, angle=45, speed_mm_s=170) shared_all.move_straight_target_direction(gyro = gyro, distance_mm= 20, speed_mm_s= 110, target_angle= -90+ adjust_for_mission) shared_all.turn_to_direction( gyro=gyro, target_angle=0+ adjust_for_mission) shared_all.move_to_color_reverse(color_sensor=color_sensor_center, stop_on_color=Color.GREEN, alternative_color=Color.GREEN) shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.BLUE, alternative_color=Color.BLUE) shared_all.move_straight(distance_mm=10, speed_mm_s=-80)
def basket_to_bench(): shared_all.turn_arc(distance=90, angle=-55, speed_mm_s=-70) shared_all.move_crane_to_top(motor=rack_motor) shared_all.turn_to_direction(gyro=gyro, target_angle=180 + adjust_for_mission) shared_all.move_to_color_reverse(color_sensor=color_sensor_center, stop_on_color=Color.WHITE, alternative_color=Color.WHITE) shared_all.move_straight_target_direction(gyro=gyro, distance_mm=120, speed_mm_s=140, target_angle=180 + adjust_for_mission) shared_all.move_crane_to_top(motor=crane_motor) shared_all.turn(-60)
def row_to_weight_pushdown(adjust_for_mission=0): shared_all.turn(angle=-40) shared_all.turn_arc(distance=50, angle=-60, speed_mm_s=80) shared_all.move_straight_target_direction(gyro=gyro, distance_mm=70, speed_mm_s=160, target_angle=-90 + adjust_for_mission) shared_all.move_to_color( color_sensor=color_sensor_center, stop_on_color=Color.BLACK, alternative_color=Color.BLACK, max_intensity=robot_setup.BLACK_MAX_INTENSITY[color_sensor_center], max_distance_mm=120)
def phone_to_slide(adjust_for_mission=0): shared_all.turn_arc(distance=60, angle=-10, speed_mm_s=-90) shared_all.move_straight(distance_mm=40, speed_mm_s=-100) shared_all.move_straight_target_direction(gyro=gyro, distance_mm=250, speed_mm_s=200, target_angle=180 + adjust_for_mission) shared_all.move_to_color( color_sensor=color_sensor_center, stop_on_color=Color.BLACK, alternative_color=Color.BLACK, speed_mm_s=25, max_intensity=robot_setup.BLACK_MAX_INTENSITY[color_sensor_center], max_distance_mm=140)
def treadmill_to_row_nearrow(adjust_for_mission=0): shared_all.turn_arc(distance=110, angle=55, speed_mm_s=100) # turn in an arc shared_all.turn(angle=-55, speed_deg_s=120) shared_all.turn_to_direction(gyro=gyro, target_angle=180 + adjust_for_mission) # shared_all.turn_to_direction( gyro=gyro, target_angle=-90+ adjust_for_mission) shared_all.move_straight(180, -180) shared_all.push_back_reset_gyro(distance_mm=60, reset_gyro=True, new_gyro_angle=180) shared_all.move_straight(distance_mm=70, speed_mm_s=100) shared_all.move_to_color( color_sensor=color_sensor_center, stop_on_color=Color.BLACK, alternative_color=Color.BLACK, max_intensity=robot_setup.BLACK_MAX_INTENSITY[color_sensor_center], max_distance_mm=40)
def stepcounter_to_treadmill_forward(adjust_for_mission=0): # shared_all.turn( angle=-45) shared_all.turn_arc(distance=200, angle=-65, speed_mm_s=150) # turn in an arc shared_all.turn_arc(distance=200, angle=65, speed_mm_s=150) # turn in an arc shared_all.move_straight_target_direction(gyro=gyro, distance_mm=170, speed_mm_s=150, target_angle=0) # back up and move at an angle to spine black line shared_all.turn(angle=40, speed_deg_s=90) shared_all.move_reverse(max_distance=50, speed_mm_s=110) shared_all.move_to_color(color_sensor=color_sensor_center, stop_on_color=Color.BLACK, alternative_color=Color.BLACK, max_intensity=15) shared_all.move_reverse(max_distance=10, speed_mm_s=80) shared_all.turn(angle=-40, speed_deg_s=90) shared_all.turn_to_direction(gyro=gyro, target_angle=0)
def turn_smallarc_90(): shared_all.turn_arc(distance=50, angle=90, speed_mm_s=130) wait(2000) shared_all.turn_arc(distance=50, angle=-90, speed_mm_s=130) wait(2000)
def bench_to_base(): shared_all.turn_arc(distance=-250, angle=-30, speed_mm_s=190)
def basket_to_base(adjust_for_mission=0): shared_all.turn(45) shared_all.turn_arc(distance=800, angle=40, speed_mm_s=-250)
from robot_setup import BLACK_MAX_INTENSITY import shared_all ##### Do not change above this line ########################################## shared_all.log_string('Buttons LEFT_DOWN ' + str(Button.LEFT_DOWN)) shared_all.log_string('Buttons DOWN ' + str(Button.DOWN)) shared_all.log_string('Buttons RIGHT_DOWN ' + str(Button.RIGHT_DOWN)) shared_all.log_string('Buttons LEFT ' + str(Button.LEFT)) shared_all.log_string('Buttons CENTER ' + str(Button.CENTER)) shared_all.log_string('Buttons RIGHT ' + str(Button.RIGHT)) shared_all.log_string('Buttons LEFT_UP ' + str(Button.LEFT_UP)) shared_all.log_string('Buttons UP ' + str(Button.UP)) shared_all.log_string('Buttons BEACON ' + str(Button.BEACON)) shared_all.log_string('Buttons RIGHT_UP ' + str(Button.RIGHT_UP)) while True: buttons = shared_all.any_button_pressed() shared_all.log_string('Button pressed ' + str(buttons)) if Button.LEFT in buttons: shared_all.turn_arc(distance=15, angle=-90, speed_mm_s=130) if Button.RIGHT in buttons: shared_all.turn_arc(distance=15, angle=90, speed_mm_s=130) if Button.UP in buttons: shared_all.move_straight(distance_mm=200, speed_mm_s=180) if Button.DOWN in buttons: shared_all.move_straight(distance_mm=200, speed_mm_s=-180)
def bigtire_to_slide(adjust_for_mission=0): shared_all.move_straight(distance_mm=40, speed_mm_s=-100) shared_all.turn_arc(distance=30, angle=30, speed_mm_s=-130) shared_all.turn_to_direction(gyro=gyro, target_angle=90 + adjust_for_mission)
def align(): shared_all.turn_arc(distance=120, angle=85, speed_mm_s=50)
def push_tires(adjust_for_mission=0): shared_all.turn_arc(distance=40, angle=-50, speed_mm_s=-100) # turn in an arc shared_all.turn_arc(distance=60, angle=-25, speed_mm_s=100) # turn in an arc shared_all.move_straight(distance_mm=130, speed_mm_s=-100)