충돌감지 (Collision Detection)
쉽게 풀면
로봇이 물건이나 벽에 실제로 부딪혔는지(또는 부딪힐지)를 확인하는 과정이에요.
왜 중요한가
경로계획기가 후보 경로를 수천 번 검사할 때 각 검사가 충돌감지이므로, 계획 전체 시간의 대부분을 이 연산이 차지합니다. 협동로봇에서는 관절토크 관측으로 예기치 않은 접촉을 감지해 멈추는 것도 같은 용어로 부르며 안전 기능의 핵심입니다. 물리 시뮬레이터의 전체 연산 시간 중 상당 부분이 충돌감지에 소요되는 경우가 많아, 이 연산을 GPU로 병렬화하거나 형상을 단순화하는 최적화가 로봇 학습 파이프라인의 속도를 크게 좌우한다.
논문에서는 이렇게 쓰입니다
논문에서 충돌감지는 모션계획 알고리즘이 후보 경로의 실행 가능성을 검증할 때 반복적으로 호출하는 핵심 연산으로 다뤄집니다.
별도 외부 센서 없이 모델 기반 잔차로 실제 접촉을 감지하는 충돌감지 방식을 보여 주는 문장입니다.
조금 더 깊게 보면
기하 기반 감지는 링크를 볼록 껍질이나 구 집합으로 근사해 속도를 얻는 대신 보수적 여유를 두게 되고, 센서 기반 감지는 외란과 모델 오차 때문에 오경보와 미감지 사이의 임계값 설정이 어렵습니다. 연속 경로에서 이산 샘플만 검사하면 두 샘플 사이의 얇은 장애물을 놓칠 수 있어, 연속 충돌감지나 보수적 샘플 간격이 필요합니다. 링크를 구, 캡슐, 볼록 다면체 등으로 단순화한 뒤 각 쌍의 최소 거리를 계산하는 기하 알고리즘(GJK 등)이 널리 쓰이며, 계산량은 형상 쌍의 수에 비례해 늘어나므로 실시간 응용에서는 계층적 경계볼륨으로 먼저 후보를 좁힌 뒤 정밀 검사를 수행한다. 연속 충돌감지는 두 이산 시점 사이의 경로 전체를 스윕 형상으로 취급해, 빠르게 움직이는 얇은 물체가 순간적으로 통과해 버리는 터널링 현상을 방지한다.
주의할 점
충돌감지는 계산 비용이 커 실시간 계획에서 병목이 될 수 있어, 단순화된 형상(바운딩박스 등)으로 근사하는 경우가 많다. 충돌감지에서 로봇 몸체를 지나치게 단순한 형상으로 근사하면 계산은 빨라지지만 실제로는 충돌하지 않는 상황도 충돌로 판정하는 보수적 오탐이 늘어난다.