Projects/자율주차 강화학습

[AirSim / Unity] CarClient의 CarControls 클래스

Alex An 2021. 3. 18. 16:26
class CarControls(MsgpackMixin):
    throttle = 0.0
    steering = 0.0
    brake = 0.0
    handbrake = False
    is_manual_gear = False
    manual_gear = 0
    gear_immediate = True

    def __init__(self, throttle = 0, steering = 0, brake = 0,
        handbrake = False, is_manual_gear = False, manual_gear = 0, gear_immediate = True):
        self.throttle = throttle
        self.steering = steering
        self.brake = brake
        self.handbrake = handbrake
        self.is_manual_gear = is_manual_gear
        self.manual_gear = manual_gear
        self.gear_immediate = gear_immediate


    def set_throttle(self, throttle_val, forward):
        if (forward):
            self.is_manual_gear = False
            self.manual_gear = 0
            self.throttle = abs(throttle_val)
        else:
            self.is_manual_gear = False
            self.manual_gear = -1
            self.throttle = - abs(throttle_val)

CarClient의 CarControls 클래스는 차량 제어와 관련된 클래스입니다.

 

변수 설명 Min Value Max Value
throttle 전, 후진 방향 및 속도 -1 (후진) 1 (전진)
steering 핸들의 방향 -1 (좌회전) 1 (우회전)
brake 전, 후진 방향 및 속도 -1 (후진) 1 (전진)
handbrake 브레이크 False (해제) True (동작)
is_manual_gear 수동 기어 여부 확인 False True
manual_gear 수동 기어 설정 -1 0
gear_immediate