Exemple #1
0
def test_analzyer_on_field_model():
    """
    Create a model of the field, then ask the laser to compute
    the range for sweep.  Then move the robot and ask again.
    """
    robot = Robot()
    field = FieldModel()
    tower_range = field.tower_range_from_origin()
    rotation = FakeRotation(field, robot)
    heading, sweep_range = Analyzer.range_at_heading(rotation.polar_data(), (-10,11))

    #  closest point should be dead ahead
    assert heading == 0
    assert sweep_range == tower_range

    movement = 100
    robot.move(movement)
    rotation = FakeRotation(field, robot)
    heading, sweep_range = Analyzer.range_at_heading(rotation.polar_data(), (-10,11))

    #  closest point should be dead ahead
    assert heading == 0
    assert sweep_range == (tower_range - movement)
Exemple #2
0
            print("Robot is at ({:f}, {:f} turned {:d} degrees".format(x, y, r.heading))
        elif cmd == "s":
            update_all_results(lidar_viewer, field_model, robot, factor)
        elif cmd == "r":
            try:
                cmd,cmd_arg = text.split(" ")
                factor = int(cmd_arg)
                update_all_results(lidar_viewer, field_model, robot, factor)

            except ValueError:
                print "Please specify distance in whole inches."            
        elif cmd == "m":
            try:
                cmd,cmd_arg = text.split(" ")
                distance = int(cmd_arg)
                robot.move(distance)
                update_all_results(lidar_viewer, field_model, robot, factor)

            except ValueError:
                print "Please specify distance in whole inches."
        elif cmd == "t":
            try:
                cmd,cmd_arg = text.split(" ")
                heading = int(cmd_arg)
                robot.turn(heading)
                update_all_results(lidar_viewer, field_model, robot, factor)
            except ValueError:
                print "Please specify turn in whole degrees."
        elif cmd == "w":
            lidar_viewer.write_to_file("Lidar.dat", rotation.polar_data())
        elif cmd == "h":