Exemple #1
0
def test_random_no_dislocation_2():
    """
    Check if dislocations are drawn, and are properly applicated (
    should not impact the last reward, should be observable in next state).
    """
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=1,
                                                     log_state_csv_freq=1,
                                                     log_state_render_freq=1)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=50 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = focal_point_env_fn(trajactory_logger,
                             probe_generator=probe_generator,
                             probe_dislocation_prob=.5,
                             dislocation_seed=None,
                             max_probe_dislocation=2,
                             step_size=5 / 1000)
    env.reset()
    env.step(1)
    env.step(1)
    env.step(2)
    env.step(2)
    env.step(1)
    env.step(1)
    env.step(2)
    env.step(2)
Exemple #2
0
def test_rotate_2():
    """
    left, left, rotate, rotate, right, right, right, rotate, rotate
    """
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=1,
                                                     log_state_csv_freq=1,
                                                     log_state_render_freq=1)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=50 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = plane_task_env_fn(trajactory_logger,
                            probe_generator=probe_generator,
                            rot_deg=10,
                            step_size=5 / 1000)
    env.reset()
    env.step(1)
    env.step(1)
    env.step(4)
    env.step(4)
    env.step(2)
    env.step(2)
    env.step(2)
    env.step(3)
    env.step(3)
Exemple #3
0
def test_random_dislocation_1():
    """
    Just check if dislocation are drawn for this env.
    """
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=1,
                                                     log_state_csv_freq=1,
                                                     log_state_render_freq=1)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=50 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = focal_point_env_fn(trajactory_logger,
                             probe_generator=probe_generator,
                             probe_dislocation_prob=.5,
                             dislocation_seed=42,
                             max_probe_dislocation=2)
    env.reset()
    env.step(0)
    env.step(0)
    env.step(0)
    env.step(0)
    env.step(0)
    env.step(0)
    env.step(0)
    env.step(0)
    env.step(0)
Exemple #4
0
def test_deep_focus():
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=1,
                                                     log_state_csv_freq=1,
                                                     log_state_render_freq=1)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=0 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = focal_point_env_fn(trajactory_logger,
                             probe_generator=probe_generator)
    env.reset()
    env.step(4)  # down - 10
    env.step(4)  # 20
    env.step(4)  # 30
    env.step(4)  # 40
    env.step(4)  # 50
    env.step(4)  # 60
    env.step(4)  # 70
    env.step(4)  # 80
    env.step(4)  # 90
Exemple #5
0
def test_cannot_move_probe_outside_phantom_area():
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=10,
                                                     log_state_csv_freq=10,
                                                     log_state_render_freq=10)
    probe = Probe(
        pos=np.array([-20 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=10 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = focal_point_env_fn(trajactory_logger,
                             probe_generator=probe_generator)
    env.reset()
    env.step(1)  # left - BUMP
    env.step(2)  # right # -10
    env.step(2)  # right # 0
    env.step(2)  # right # 10
    env.step(2)  # right # 20
    env.step(2)  # right # 20 - BUMP
    env.step(3)  # up # 0
    env.step(3)  # up # 0 - BUMP
    env.step(4)  # down # 10
    env.step(4)  # down # 20
    env.step(4)  # down # 30
    env.step(4)  # down # 40
    env.step(4)  # down # 50
    env.step(4)  # down # 60
    env.step(4)  # down # 70
    env.step(4)  # down # 80
    env.step(4)  # down # 90
    env.step(4)  # down # 90 - BUMP
Exemple #6
0
def test_reset():
    """Test created to check a single observation/env state visualization."""

    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=10,
                                                     log_state_csv_freq=10,
                                                     log_state_render_freq=10)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=30 / 1000)
    probe_generator = ConstProbeGenerator(probe)
    env = focal_point_env_fn(trajactory_logger,
                             probe_generator=probe_generator)
    env.reset()
Exemple #7
0
def test_caching_works():
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=10,
                                                     log_state_csv_freq=10,
                                                     log_state_render_freq=10)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=30 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = focal_point_env_fn(trajactory_logger,
                             probe_generator=probe_generator)
    env.reset()
    env.step(1)  # left
    env.step(2)  # right (should come from cache)
Exemple #8
0
def test_rotate_1():
    """
    rotate in the center of the object 540 degree,
    in one direction, in the other direction
    """
    trajactory_logger = envs.logger.TrajectoryLogger(log_dir=sys.argv[1],
                                                     log_action_csv_freq=1,
                                                     log_state_csv_freq=1,
                                                     log_state_render_freq=1)
    probe = Probe(
        pos=np.array([0 / 1000, 0, 0]),  # only X and Y
        angle=0,
        width=40 / 1000,
        height=10 / 1000,
        focal_depth=50 / 1000)
    probe_generator = ConstProbeGenerator(probe)

    env = plane_task_env_fn(trajactory_logger,
                            probe_generator=probe_generator,
                            rot_deg=45)
    env.reset()
    env.step(3)  # 45
    env.step(3)  # 90
    env.step(3)  # 135
    env.step(3)  # 180
    env.step(3)  # 225
    env.step(3)  # 270
    env.step(3)  # 315
    env.step(3)  # 360
    env.step(3)  # 45
    env.step(4)  # should use cache
    env.step(4)
    env.step(4)
    env.step(4)
    env.step(4)
    env.step(4)