Ejemplo n.º 1
0
    def __init__(self, model_path):
        # Load configuration
        self.car_mapping = cm.CarMapping()
        self.dir_center_label = round(len(self.car_mapping.label_to_raw_dir_mapping) / 2)

        # Init label for debug mode
        self.meta_label = None
        self.l_label = {}

        # Racing_status
        self.racing = False
        self.pause = False

        # Load model
        self.model = load_model(model_path)

        # Init engines
        self.pwm = Adafruit_PCA9685.PCA9685()
        self.pwm.set_pwm_freq(50)

        # Create a *threaded *video stream, allow the camera sensor to warm_up
        self.video_stream = PiVideoStream().start()
        time.sleep(2)
        # self.video_stream.test()
        self.frame = self.video_stream.read()
        self.buffer = None

        # Debug and print
        self.start_time = 0
        self.elapsed_time = 0
        self.nb_pred = 0
        self.sampling = 0
        self.debug = 0

        print("RaceOn initialized")
Ejemplo n.º 2
0
    def __init__(self, delay, output_dir, pwm_freq=50):
        # Setup Camera
        self.camera, self.rawCapture = init_cam()

        self.delay = float(delay)
        self.label = [-1, 2]
        self.buffer = []
        self.car_mapping = cm.CarMapping()

        # set controls
        self.x_cursor = 0
        self.trigger = 0
        self.pwm = Adafruit_PCA9685.PCA9685()
        self.pwm.set_pwm_freq(pwm_freq)

        # Init speed direction
        self.speed = self.car_mapping.label_to_raw_speed_mapping[0]
        self.direction = (MAX_DIRECTION_RIGHT + MAX_DIRECTION_LEFT) / 2
        self.head = HEAD_DOWN

        # Set head down
        self.pwm.set_pwm(2, 0, self.head)

        # Setup xbox pad
        self.joy = xbox.Joystick()

        # Init Label
        self.meta_label = label_handler.Label(picture_dir=output_dir, camera_position=self.head,
                                              car_mapping=self.car_mapping)
Ejemplo n.º 3
0
 def __init__(self,
              picture_dir=None,
              camera_position="unknown",
              car_mapping=None,
              raise_error=True):
     self._template = {}
     self.picture_dir = picture_dir
     self.car_mapping = cm.CarMapping(
     ) if car_mapping is None else car_mapping
     self.init_label_template(camera_position, raise_error=raise_error)
Ejemplo n.º 4
0
def test_car_mapping_get_normalized_speed_min():
    car_mapping = cm.CarMapping()
    speed = STOP_SPEED
    assert 0 == car_mapping.get_normalized_speed(speed)
Ejemplo n.º 5
0
def test_car_mapping_get_raw_speed_from_label_1():
    car_mapping = cm.CarMapping()
    raw_speed = LABEL_TO_RAW_SPEED_MAPPING[1]
    assert raw_speed == car_mapping.get_raw_speed_from_label(1)
Ejemplo n.º 6
0
def test_car_mapping_get_raw_direction_from_label_1():
    car_mapping = cm.CarMapping()
    raw_dir = LABEL_TO_RAW_DIR_MAPPING[1]
    assert raw_dir == car_mapping.get_raw_dir_from_label(1)
Ejemplo n.º 7
0
def test_car_mapping_get_normalized_dir_left():
    car_mapping = cm.CarMapping()
    direction = MAX_DIRECTION_LEFT
    assert -1 == car_mapping.get_normalized_direction(direction)
Ejemplo n.º 8
0
def test_car_mapping_linear_joystick_full_right():
    car_mapping = cm.CarMapping()
    direction = car_mapping.get_raw_dir_from_xbox_joystick(1)
    assert direction == MAX_DIRECTION_RIGHT
Ejemplo n.º 9
0
def test_car_mapping_get_normalized_dir_center():
    car_mapping = cm.CarMapping()
    direction = (MAX_DIRECTION_RIGHT + MAX_DIRECTION_LEFT) / 2
    assert 0 == car_mapping.get_normalized_direction(direction)
Ejemplo n.º 10
0
def test_car_mapping_get_normalized_dir_right():
    car_mapping = cm.CarMapping()
    direction = MAX_DIRECTION_RIGHT
    assert 1 == car_mapping.get_normalized_direction(direction)
Ejemplo n.º 11
0
def test_car_mapping_get_raw_speed_from_label_outofrange():
    car_mapping = cm.CarMapping()
    i = len(car_mapping.label_to_raw_speed_mapping) + 1
    with pytest.raises(IndexError):
        raw_speed = car_mapping.get_raw_speed_from_label(i)
Ejemplo n.º 12
0
def test_car_mapping_get_normalized_speed_max():
    car_mapping = cm.CarMapping()
    speed = MAX_SPEED
    assert 1 == car_mapping.get_normalized_speed(speed)
Ejemplo n.º 13
0
def test_car_mapping_get_normalized_speed_middle():
    car_mapping = cm.CarMapping()
    speed = (MAX_SPEED + STOP_SPEED) / 2
    assert 0.5 == car_mapping.get_normalized_speed(speed)
Ejemplo n.º 14
0
def test_car_mapping_linear_trigger_middle():
    car_mapping = cm.CarMapping()
    speed = car_mapping.get_raw_speed_from_xbox_trigger(0.5)
    assert speed == round((MAX_SPEED + STOP_SPEED) / 2)
Ejemplo n.º 15
0
def test_car_mapping_linear_trigger_max():
    car_mapping = cm.CarMapping()
    speed = car_mapping.get_raw_speed_from_xbox_trigger(1)
    assert speed == MAX_SPEED
Ejemplo n.º 16
0
def test_car_mapping_linear_trigger_min():
    car_mapping = cm.CarMapping()
    speed = car_mapping.get_raw_speed_from_xbox_trigger(0)
    assert speed == STOP_SPEED
Ejemplo n.º 17
0
def test_car_mapping_linear_joystick_center():
    car_mapping = cm.CarMapping()
    direction = car_mapping.get_raw_dir_from_xbox_joystick(0)
    assert direction == round((MAX_DIRECTION_LEFT + MAX_DIRECTION_RIGHT) / 2)