Ejemplo n.º 1
0
def main():
    """Main function."""
    logger = DummyLogger()
    box = [(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)]
    waypoint_generator = SimpleWaypointGenerator(
        SimpleWaypointGenerator.get_waypoints_from_file_name(
            'control/paths/solid-state-depot.kmz'))
    waypoint_generator._waypoints.clear()
    for x, y in ((x_ * .005 + 10, y_ * .005 + 10) for x_, y_ in box):
        waypoint_generator._waypoints.append((x, y))

    telemetry = DummyTelemetry(
        logger,
        waypoint_generator.get_current_waypoint(
            waypoint_generator._waypoints[0][0],
            waypoint_generator._waypoints[0][1]))
    driver = DummyDriver(telemetry, logger)

    command = Command(
        telemetry,
        driver,
        waypoint_generator,
        logger,
        sleep_time_milliseconds=1,
    )
    command.run_course()
    command.start()

    while not waypoint_generator.done():
        time.sleep(0.1)
    command.kill()
Ejemplo n.º 2
0
def benchmark_command_run_course_iterator():
    """Benchmark the logic for driving the car."""
    logger = DummyLogger()
    telemetry = Telemetry(logger)
    waypoint_generator = SimpleWaypointGenerator(
        SimpleWaypointGenerator.get_waypoints_from_file_name(
            'paths/solid-state-depot.kmz'))
    driver = DummyDriver(telemetry, logger)
    command = Command(telemetry, driver, waypoint_generator, logger)

    iterations = 250
    start = time.time()
    iterator = command._run_course_iterator()
    step = None
    for step in zip(range(iterations), iterator):
        pass
    assert step is not None
    assert step[0] == iterations - 1

    end = time.time()
    print('{} iterations of Command._run_course_iterator, each took {:.5}'.
          format(iterations, (end - start) / float(iterations)))
Ejemplo n.º 3
0
 def make_generator(waypoints=None):
     """Returns a KML waypoint generator."""
     if waypoints is None:
         waypoints = [(1, 1), (5, 10)]
     return SimpleWaypointGenerator(waypoints)