궤적최적화 (Trajectory Optimization)
쉽게 풀면
로봇이 시간에 따라 어떻게 움직여야 가장 부드럽고 안전하며 효율적인지, 속도와 경로를 함께 최적으로 설계하는 방법입니다.
왜 중요한가
동역학적 제약을 만족하면서도 에너지 효율이나 부드러움 같은 목적을 함께 고려할 수 있어, 다리로봇의 보행 궤적이나 매니퓰레이터의 고속 작업 궤적 설계에 활용됩니다. 사족 로봇이 갑작스러운 장애물 위로 뛰어오르는 도약 동작처럼, 사람이 직접 규칙을 설계하기 어려운 동작은 궤적최적화를 통해 동역학 제약을 만족하는 해를 자동으로 찾아내는 방식으로 얻어진다. 동일한 목적지에 도달하는 무수히 많은 가능한 움직임 중에서 에너지나 시간처럼 정량화된 기준으로 하나를 선택하게 해주므로, 사람이 일일이 규칙을 정하기 어려운 복잡한 동작 설계에 특히 유용하다.
논문에서는 이렇게 쓰입니다
이동하는 동안 소모되는 에너지나 시간 같은 비용을 최소화하면서도, 로봇의 실제 운동 법칙을 어기지 않는 경로와 속도를 함께 계산한다는 뜻입니다.
목적 함수와 제약 조건을 함께 반영해 궤적을 개선하는 최적화 과정을 보여준다.
조금 더 깊게 보면
최적화 문제의 초기값과 제약 조건 설정에 따라 수렴 결과가 크게 달라질 수 있어, 동일한 목적 함수라도 설정에 따라 서로 다른 궤적이 도출될 수 있습니다. 직접 사격법(shooting)과 직접 병렬화(collocation)가 대표적인 두 수치해법으로, 사격법은 초기 제어 입력만 최적화 변수로 두고 동역학을 순방향으로 적분해 상태를 얻는 반면, 병렬화는 상태와 제어 모두를 이산화된 시점마다 변수로 두고 동역학을 등식 제약으로 다뤄 수렴 안정성이 더 좋은 경우가 많다. 다리형로봇의 보행 궤적처럼 접촉 조건이 시간에 따라 바뀌는 문제는 접촉 구간을 미리 정해두고 최적화하는 방식과 접촉 순서 자체를 변수로 포함하는 방식으로 나뉘며 후자가 훨씬 계산이 무겁다.
주의할 점
비선형 동역학과 장애물 제약이 함께 있으면 문제가 비볼록(non-convex)해져 전역 최적해를 보장하기 어렵습니다. 장애물이나 접촉 조건이 들어간 궤적최적화 문제는 대개 비볼록(non-convex)이라, 초기 추정값을 어떻게 주느냐에 따라 서로 다른 국소 최적해로 수렴할 수 있다.