Optimal Parking, Part 5 - 장애물, 범위, Feasibility
궤적은 안전하게 실행할 수 있을 때만 의미가 있습니다. 따라서 Optimal Parking은 실행 가능성을 차량 제한, 모델 일관성, 종단 정확도, 장애물 여유 거리의 조합으로 다룹니다.
1. 차량과 입력의 범위
플래너는 속도와 조향각뿐 아니라 가속도와 조향각 변화율도 제한합니다. 이를 간단히 쓰면 다음과 같습니다.
여기서 는 상태 또는 입력 변수를 포함할 수 있습니다.
이 범위는 최적화기가 비현실적인 운동으로 주차 문제를 해결하지 못하게 합니다. 특히 조향각 변화율 제한이 중요합니다. 급격한 조향 변화가 있는 시퀀스는 위치 제약을 만족하더라도 실제로 실행할 수 없기 때문입니다.
2. 장애물 기하
각 장애물은 중심, 길이, 너비, 방향각으로 표현합니다. 차량을 점으로 취급하지 않고 궤적 전체에서 차량 외곽을 평가합니다. 안전 여유를 사용하면 모델 오차나 원하는 여유 거리를 고려해 금지 영역을 확장할 수 있습니다.
비선형 충돌 관계는 현재 궤적 주변에서 국소적으로 근사합니다. 그러면 최적화기는 현재 QP에 선형화된 장애물 제약을 전달받습니다.
3. 패널티와 hard constraint
일부 요구 사항은 하드 범위로 표현하는 것이 자연스럽습니다. 반면 더 나은 국소 해로 가기 위해 일시적으로 실행 불가능한 반복점이 유용할 때는 패널티를 사용합니다. 예를 들어 종단 패널티는 다음과 같습니다.
이 항은 최종 상태가 목표에 도달하도록 유도합니다. 장애물 패널티나 제약 가중치는 최적화기가 금지된 영역에 들어가는 것을 억제합니다.
패널티를 키운다고 모든 실패가 해결되는 것은 아닙니다. 너무 큰 가중치는 QP를 수치적으로 나쁘게 만들 수 있고, 너무 작은 가중치는 최적화기가 다른 목표를 위해 안전을 희생하게 할 수 있습니다. 튜닝은 초기 경로와 예측 구간을 함께 고려해야 합니다.
4. 수렴 상태 읽기
성공적인 해인지는 solver 상태만으로 판단하면 안 됩니다. 종단 오차, 동역학 잔차, 최소 장애물 여유 거리, 제어 범위, 반복 간 목적 함수 변화 등을 함께 확인해야 합니다.
수치적 수렴과 좋은 주차 동작은 서로 다른 주장입니다. 초기값이 적절하지 않거나 horizon이 너무 짧거나 제약 조건이 서로 맞지 않으면, solver가 국소적으로 정지했지만 실제로는 부적절한 궤적에 수렴할 수 있습니다.