1. 서 론
2. 차량 모델링
2.1. 트랙터 트레일러 차량 모델
2.2. 기구학적 차량 모델
3. 경로 추종 제어
3.1. 트랙터-트레일러 경로 추종 모델
3.2. 선형화
3.3. 이산화
3.4. 최적 제어 값 존재 여부
3.5. 비용함수
3.6. 구속조건
4. 시뮬레이션
4.1. 시뮬레이션 환경
4.2. 목표 경로
4.3. 시뮬레이션 결과
5. 결 론
부 록
1. 서 론
자율 주행 기술이 발전함에 따라 이를 산업에 이용하려는 시도가 많이 이루어지고 있다. 그 중 운수 산업에서 얻을 수 있는 경제적 효과가 상당하여 트랙터-트레일러 자율주행에 대한 연구가 활발히 진행되고 있다. 화물 운송업에 많이 사용되는 트랙터-트레일러의 자율 주행화는 미래 운수 산업에 있어 큰 기여를 할 것이라 기대된다. 자율주행 트랙터는 연결된 트레일러와 함께 지정된 경로를 주행하는 목표를 수행한다. 대형 화물차의 경우 주행 사고시 발생할 수 있는 손실이 크기 때문에 높은 제어 정밀도가 요구된다.
트랙터 트레일러 제어에 모델 예측 제어(Model Predictive Control, MPC)가 널리 사용되고 있고,(1) 높은 제어 정밀도를 보이고 있다. Backman은 농업에 사용되는 트랙터-트레일러를 트랙터의 운동학적 모델과 비선형 모델 예측 제어(Nonlinear Model Predictive Control, NMPC)를 이용했다.(2) 트랙터의 뒷바퀴와 트레일러의 무게 중심이 목표 경로(desired path)에서 벗어난 정도를 이용해 비용함수(cost function)를 만들어 경로를 추종하도록 했고 높은 제어 성능을 보였다. Kayacan은 에러 기반 상태 공간 모델(error-based model)과 2개의 모델 예측 제어기를 사용하여 트랙터-트레일러를 제어하였다.(3) 비선형 모델 예측 제어를 활용하면 성능이 좋지만 제어 값 계산에 시간이 오래 걸린다는 단점을 선형 모델 예측 제어(Linear Model Predictive Control, LMPC)를 이용해 해결했다. 이외에도 트랙터-트레일러의 경로 추종 제어에 다양한 모델 예측 제어기가 사용되었다.(4~7) 하지만 앞서 소개된 연구들은 운수 산업에 이용되기엔 트레일러의 길이가 짧거나, 제어 정밀도와 계산 시간 사이에 균형을 잡지 못했다.
본 연구에서는 트랙터 트레일러의 경로 추종을 위한 선형 공간 모델 예측 제어(Linear Spatial Model Predictive Control, LSMPC)기법을 제안한다. 횡활각(slip angle)없이 정렬 방향으로만 움직인다고 가정하고 차량 기구학적 모델을 구성하였다. 해당 모델을 이용해 목표경로와 트랙터 뒷바퀴 축 사이의 횡방향 오차(lateral error), 각 오차(yaw error), 트랙터-트레일러 사이 각(hitch angle)을 상태 변수로 하는 상태방정식을 정의하였다. 그리고 시간에 대한 상태방정식을 공간에 대한 상태방정식으로 표현하여 속도 값의 불확실성이 주는 영향을 없앴다. LSMPC는 상태 변수가 목표 상태(reference state)을 추종하게 하는 비용함수와, 트랙터의 뒷바퀴가 부드럽게 움직이면서 특정 영역안에 존재하도록 만드는 제약조건으로 구성되었다. 목표 상태는 비선형 모델을 선형화할 때 사용된 평형점으로 정의하였다. 제안된 제어기의 유효성을 검증하고자 TruckSim 시뮬레이터를 사용하여 직선도로, 곡선도로, 복잡한 도로 상황에서 주행 시뮬레이션을 수행했다. CVXGEN(8)으로 구현한 LSMPC의 계산 시간과 경로 추종 결과를 보여주고 이를 비선형 공간 모델 예측 제어(Nonlinear Spatial Model Predictive Control, NSMPC)와 비교하여, 제안한 LSMPC의 유효성을 입증하였다.
2. 차량 모델링
2.1. 트랙터 트레일러 차량 모델
본 연구에서의 대상 차량은 사륜 전륜 조향 트랙터와 이륜 트레일러로 구성된다. 트랙터와 트레일러는 물리적으로 연결되어 있다. TruckSim에서 모델링한 트랙터와 트레일러는 Fig. 1과 같다. 모델링한 차량에 대한 정보는 Table 1과 같다.
Table 1.
Design specification of vehicle model
| Parameter | Value | Unit | Description |
| L1 | 3.5 | m | Wheelbase of Tractor |
| L2 | 10 | m | Distance between Trailer Rear Axle Center and Hitch Point |
| d | 0.2 | m | Distance between Tractor Rear Axle Center and Hitch Point |
2.2. 기구학적 차량 모델
기구학적 차량 모델은 Fig. 2와 같이 트랙터-트레일러 시스템의 횡방향 모델로 많이 쓰이는 확장된 자전거 모델을 기반으로 구성하였다. 트랙터-트레일러의 순간회전중심(Instant Centre of Rotation, ICR)은 트랙터의 전륜 축과 후륜 축, 트레일러 후륜 축의 교점이다.
은 트랙터의 전륜 조향각, 은 트레일러의 가상 전륜 조향각을 의미한다. 은 트랙터와 트레일러가 이루는 각(hitch angle)을 의미한다. 은 트랙터의 헤딩 각(heading angle), 은 트레일러의 헤딩 각을 의미한다. 은 트랙터 뒷바퀴의 속력을 의미하고, 은 트랙터와 트레일러의 연결점에서 속력을 의미한다. 와 은 트랙터-트레일러의 기하학적 관계에 의해 식 (1)과 같이 정의된다.
3. 경로 추종 제어
3.1. 트랙터-트레일러 경로 추종 모델
횡활각이 없다고 가정하고 Tractor Trailer offset model(9)을 참고하여 트랙터 트레일러의 dynamic 모델을 정의하였다. 횡방향 거동 제어를 위한 상태 공간 모델의 상태변수는 식 (2)와 같다.
각 상태변수는 Fig. 3과 같이 트랙터의 뒷바퀴 중심으로 정의되었다. 은 트랙터의 횡오차를 의미한다. 은 트랙터의 각 오차를 의미한다. 은 트랙터와 트레일러가 이루는 각(hitch angle)을 의미한다. Fig. 3에서 보듯, 횡 오차는 트랙터의 뒷바퀴 축과 목표 경로상에 가장 가까운 위치의 거리로 정의된다. 트랙터의 후륜은 항상 트랙터의 Wheelbase와 평행하다. 각오차는 트랙터의 헤딩각과 목표 경로상에 가장 가까운 위치의 접선 벡터가 이루는 각으로 정의된다. 각 상태의 연속 시간에 대한 상태 방정식은 식 (3)과 같다. 식 (3)의 유효성은 해당 식을 이용한 트랙터 트레일러의 경로 추종이 가능함을 보임으로서 증명되었다.(10)
Chain rule을 이용해서 연속 시간에 대한 상태 방정식을 연속 공간에 대한 상태 방정식으로 변환한 식은 식 (4)와 같다. 식 (4)는 식 (3)에서 을 양변에 나누면 얻을 수 있다. 은 Fig. 3에서 알 수 있듯 트랙터의 목표 경로 위 속도를 의미한다.
Fig. 4는 트랙터의 뒷바퀴 축에 대해 목표 경로 상에 가장 가까운 지점의 곡률이 으로 주어졌을 때, 트랙터 전륜 조향각은 곡률에 대한 수식으로 정의할 수 있다. Hitch angle과 트레일러의 가상 전륜 조향각은 트랙터의 전륜 조향각에 종속적이기 때문에, 그 값 또한 곡률에 대한 수식으로 결정된다. 따라서 평형점에 대한 수식은 곡률 로 표현 할 수 있고 식 (5)와 같다.
식 (5.d), (5.e)에서 알 수 있듯, 곡률이 크면 특이점을 갖게 된다. 특이점은 트랙터-트레일러의 물리적 구조에 의해 생긴다. Fig. 5에서 보듯 ICR과 트랙터의 뒷바퀴까지 곡률 반지름이 보다 작아 질 수 없기 때문이다. 따라서 목표 경로 상에 트랙터의 뒷바퀴를 위치시키는 것은 목표 경로가 가질 수 있는 곡률에 제한을 준다. 이와 반대로, ICR과 트레일러의 뒷바퀴의 길이는 0이 될 수 있음으로 목표 경로가 가질 수 있는 곡률에 제한이 없다. 이는 트레일러의 뒷바퀴 축을 기준으로 횡방향 동역학 모델을 구성하여 선형화했을 때 특이점이 없다는 것을 의미한다. 하지만 이 경우 이산화과정이 어려우므로 본 논문에선 트랙터 뒷바퀴 축을 기준으로 횡방향 동역학 모델을 구성하였다.
3.2. 선형화
앞서 3.1절에서 제시한 평형점 식 (5)를 이용해서 식 (4)를 선형화한 결과는 식 (6)과 같다. 자세한 선형화 과정은 Appendix A.1에 기술하였다. 제어입력 u = tan()으로 정의하였다.
3.3. 이산화
선형 공간 모델 예측 제어(LSMPC)에 적용될 시스템 모델의 이산화된 상태 공간 방정식은 식 (6)을 이산화해서 얻는다. 이산화 과정은 Appendix A.2에 기술하였다. 결과는 식 (7)과 같다.
식 (3)과 달리 속도 변수가 사라져 속도 값의 불확실성이 주는 영향이 사라졌음을 알 수 있다. 하지만 식 (3)과 비교해보았을 때 식 (7)이 갖는 곡률 항의 계수가 크다. 따라서 곡률 값이 갖는 불확실성이 시스템에 큰 영향을 미칠 것이라 예측해볼 수 있다.
3.4. 최적 제어 값 존재 여부
와 관계없이, 곡률이 일정할 때 모델의 상태 변수 식 (2)을 0으로 보내는 최적 제어 값이 존재함이 보장된다. 증명 과정은 Appendix B에 기술하였다.
3.5. 비용함수
선형 모델 예측 제어에 사용되는 비용함수는 식 (8)과 같다.
는 손실함수, 는 예측 스텝 수, , , , 은 각각 상태 오차, 제어 입력, 제어 입력의 변화, 슬랙 변수(slack variable)에 대한 가중치 행렬이고 는 슬랙 변수이다. 식 (8)의 첫번째 항은 상태 변수와 기준 상태의 오차를, 두번째 항은 입력을 최소화하고, 세번째 항은 스텝 사이의 입력 차이를 최소화하여 조향 입력의 진동을 방지한다. 네번째 항은 슬랙 변수의 크기를 제한한다.
3.6. 구속조건
선형 모델 예측 제어의 구속 조건은 식 (9)와 같다.
식 (9.a)은 선형화와 이산화된 시스템의 상태공간 방정식이다. 식 (9.b)의 는 트랙터의 최대 전륜 조향각이고, 식 (9.c)의 는 트랙터 조향각의 최대 변화율이다. 식 (9.d)의 , 은 각각 트랙터의 뒷바퀴 축과 목표경로사이 최대 최소 허용 횡오차를 의미한다. 식 (9.d), (9.e)의 은 슬랙 변수이다.
4. 시뮬레이션
4.1. 시뮬레이션 환경
본 연구에서 트랙터-트레일러 경로 추종 시뮬레이션은 MATLAB/Simulink와 TruckSim 시뮬레이터의 연동으로 진행되었다. 컴퓨터 스펙은 Window 11 Pro OS상에서 Intel Core i9-13900K와 32GB RAM이 사용되었다. 주행 환경은 평지 아스팔트이고, 시뮬레이션에 사용된 파라미터의 값은 Table 2와 같다.
Table 2.
Design Specification of LSMPC
트랙터 트레일러의 상태는 TruckSim 시뮬레이터에서 마다 갱신된다. LSMPC은 CVXGEN(8)을 이용해 구현하였으며 주기로 동작한다. 횡방향 제어기의 검증을 위해 트랙터가 15 kph의 속도로 등속운동을 하여 정해진 경로를 추종하는 것을 보여주려 한다. 보편적으로 모델 예측 제어기에는 가 0.1s이 사용되며, 트랙터의 속도 을고려하여 을 0.5 m으로 선정하였다. 은 20으로 선정함으로서 10 m앞을 예측하여 제어함을 의미한다. 트랙터 조향의 물리적 한계를 고려하여 , 을 선정하였다. MPC에 사용되는 가중치 파라메터는 어느 정도 제어 성능을 만족하는 결과가 나오도록 경험적으로 결정하였다.
트랙터 트레일러의 경로 추종 시뮬레이션 구조는 Fig. 6과 같으며, Fig. 6의 Global Map 블록은 추종해야 하는 목표 경로를 알려준다. 트레일러의 뒷바퀴를 해당 경로상에 올리는 것을 제어목표로 한다. 경로는 0.2 m 간격의 Waypoint들로 구성되어 있고 위치정보와 곡률 정보를 가지고 있다. Motion Planner블록에선 트랙터-트레일러의 정보와 목표 경로를 받아 트랙터의 뒷바퀴 축에 대해 목표 경로상에 가장 가까운 지점 P를 계산한다. 그리고 동역학 식에 이용될 초기 상태 와, 추종할 상태 , 예측된 경로의 곡률 을 반환한다. 곡률과 추종할 상태를 구하는 방법은 다음과 같다.
1) Waypoint의 곡률과 Waypoint간의 거리를 spline 보간하여 거리에 대한 곡률맵을 얻는다.
2) 가상 경로 상의 지점 P에서 목표 방향으로 의 균일한 간격 해당되는 Station 을 찍는다.
3) 앞서 구한 곡률맵을 이용해서 에 대응되는 곡률 을 얻는다.
4) Station의 위치정보와 곡률 을 식 (5.e)에 대입하여 계산한 Hitch angle을 이용해 을 구성한다.
Motion planner의 출력 값은 Longitudinal MPC, Lateral MPC에 이용된다. 을 추종할 수 있도록 Longitudinal MPC은 가속도 를, Lateral MPC은 전륜 조향각 을 출력한다. 해당 제어 값들 중 첫번째 값만이 TruckSim의 차량 제어 값으로 입력된다.
4.2. 목표 경로
시뮬레이션에서 트랙터 트레일러가 추종할 목표 경로는 Fig. 7(a)과 같다. 목표 경로는 직선과 곡선도로의 조합으로 구성된 복잡한 도로의 형상을 가진다. Fig. 7(b)은 목표경로의 곡률 변화를 보여준다. 곡률 반지름을 각각 30 m, 20 m, 30 m으로 설정하였다. Fig. 7(c)은 경로에 대한 Reference Hitch Angle의 변화를 그린 그래프이다. Reference Hitch Angle은 식 (5.e)을 이용해서 구하였으며, 선형화에 사용되는 Hitch angle의 평형점과 같다.
4.3. 시뮬레이션 결과
Fig. 8은 제어성능 검증을 위해 LSMPC와 Nonlinear Spatial Model Predictive Controller(NSMPC)을 비교한 결과를 보여준다. 횡방향 제어기의 성능 검증을 위해서 15 kph 등속으로 설정하였다. Fig. 6에서 Lateral MPC 모듈을 LSMPC, NSMPC으로 바꾸어 가며 시뮬레이션을 진행했다. NSMPC은 LSMPC와 같은 비용함수 식 (8)과 구속조건 식 (9.b), (9.c), (9.d), (9.e) 을 사용한다. NSMPC은 LSMPC와 달리 구속조건 (9.a)에서 식 (4)를 오일러 법을 이용해 이산화한 것을 이용한다. Fig. 8(a), 8(b)은 각각 LSMPC와 NSMPC의 트랙터, 트레일러의 후륜과 목표경로가 이루는 횡오차를 나타낸 것이다. 차선폭과 차폭을 고려하여 곡선 구간에서 최대 허용 횡오차를 설정하였고, 트랙터와 트레일러가 목표 경로를 기준으로 1.3 m 간격안에 존재하도록 제어하였다. 제어 성능이 NSMPC가 LSMPC보다 더 정밀함을 확인할 수 있다. Fig. 8(c), 8(d)은 각각 LSMPC와 NSMPC의 트랙터와 트레일러와 목표경로가 이루는 각오차를 의미한다. 마찬가지로 제어 성능이 NSMPC가 LSMPC보다 더 정밀함을 확인할 수 있다. Fig. 8(e)은 LSMPC에서 Hitch Angle이 Reference Hitch Angle을 추종한 결과를 보여준다. Actual값이 Reference값을 추종하는데 시간 delay가 있음을 알 수 있다. 이 시간 delay은 트랙터와 트레일러의 횡 오차 사이 균형을 조절하는 역할을 한다. Fig. 8(f)은 LSMPC에서 트랙터의 전륜 조향각을 의미한다. Fig. 8(g)은 연산시간을 나타낸다. Lateral MPC 모듈의 동작 주기를 고려하여 LSMPC, NSMPC둘다 최대 연산시간은 50 ms으로 선정하였다. 제어입력을 구하는데 50 ms 이상이 소요되면 해를 구하는 것을 중지한다. LSMPC의 연산시간의 최대값은 10 ms이고 평균 4 ms가 소요되었다. NSMPC의 경우, 50 ms 안에 해를 구하지 못하는 경우가 종종 발생하였으며, 해를 구한 경우에는 평균 소요 시간이 35 ms였다. 따라서 LSMPC와 비교했을 때 계산 시간에서 큰 차이가 있음을 알 수 있다.
5. 결 론
본 논문에서는 트랙터-트레일러의 경로 추종을 위한 선형 공간 모델 예측 제어 알고리즘을 제안했다. 목표 경로에서 특정 거리 이내에 트랙터와 트레일러의 뒷바퀴가 존재하도록 하는 것을 제어 목표로 하였다. 본 제어기를 이용해서 비교적 곡률이 큰 구간에서도 목표 경로에서 1.3 m 이내에 트랙터와 트레일러의 뒷바퀴를 위치시킬 수 있었다. 이는 곡률의 크기를 고려하여 트랙터의 뒷바퀴의 최대 허용 횡 오차 범위를 설정함으로 제어할 수 있었다. 최대 허용 횡 오차 범위 설정의 결과는 hitch angle의 추종에서 시간 delay의 형태로 나타났을 알 수 있었다. 본 논문에서 제안된 트랙터-트레일러의 횡제어기는 System matrix, Input matrix, Disturbance matrix에서 의 영향이 지배적이다. 은 2 m, 1 m, 0.5 m, 0.2 m으로 성능검증이 이루어졌다. 2 m, 1 m, 0.5 m의 경우 주행 중 LSMPC가 최적 값으로의 수렴을 만들어 주지 못하는 구간이 존재했다. 값이 클수록, Disturbance matrix의 크기가 커져 비선형 모델의 상태변수(횡 오차, 각 오차, Hitch Angle)의 예측 값과 본 논문에서 제안한 모델의 상태변수의 예측 값 사이에서 차이가 존재했다. 이 외에도 Fig. 5와 식 (5.e)에서 알 수 있듯 특정 곡률 구간에선 Hitch angle이 특이 값을 갖게 되어 주행 할 수 있는 경로의 형상에 제약이 존재하는 한계가 있다. 이를 해결하기 위해, 선형화에 사용되는 식 (5.a)의 횡 오차의 평형점을 0이 아닌 값을 이용하는 방법을 고려했다. 하지만 해당 방법은 이산화 과정에 큰 어려움이 있어 다른 방법을 고안해야 한다. 본 논문에선 선형화에 주안점을 두었음으로, Hitch angle이 특이 값을 가져 주행에 제약이 있는 문제를 해결하는 방법론을 제시하는 것은 향후 계획으로 남겨놓는다.











