NeuPAN: Direct Point Robot Navigation withEnd-to-End Model-based Learning
Ruihua Han and Shuai Wang and Shuaijun Wang and Zeqing Zhang and Jianjun Chen and Shijie Lin and Chengyang Li and Chengzhong Xu and Yonina C. Eldar and Qi Hao and Jia Pan
https://hanruihua.github.io/neupan_project/
내용
LiDAR가 뿌리는 포인트 자체를 바로 제어 입력으로 바꾸는 Global-Local navigation 프레임워크.
기존 로봇 내비게이션은 보통 점 --> 맵/격자/Polygon 등 중간 표현을 만들고 계획을 하는데 이 과정에서 생기는 근사 오차 때문에 안전 거리/통과 가능성 판단이 흔들림. NeuPAN은 그 중간을 최대한 없애고 raw point로부터 직접 안전한 action을 만든다.
이를 위해서 NeuPAN은 LDF(Latent Distance Features)를 정의한다. 기존 방법들은 LiDAR 포인트 하나가 있을 때 충돌 회피를 하려면 매 스텝마다 로봇과 그 점 사이의 최소 거리 D를 계산해야 하는데, 이 최소거리는 로봇 형상 위의 가장 가까운 점을 찾는 최적화를 통해 구해지기 때문에 점이 많아지면 계산량이 늘어난다.
NeuPAN은 strong duality를 이용해 이를 쌍대 문제로 바꾼다. 쌍대 문제(dual problem)은 원래 문제(Primal)를 바로 풀지 않고 그 문제에서 만들어지는 Lower bound를 찾는 또 다른 최적화 문제를 만들어서 푸는 접근법이다.
라그랑지안
라그랑지안은 제약 조건을 목적 함수에 합치는 방법이다.
원래 문제는 보통 이런 꼴이다.
- 목적: f(x)를 최소화/최대화
- 제약: g(x)=0 (같아야 함), h(x)≤0h(x) (넘으면 안 됨)
라그랑지안은 이것을 식 하나로 합친 것이다.
- L(x,λ,ν)=f(x)+λ⊤g(x)+ν⊤h(x)
여기서 λ,ν가 라그랑주 승수(=dual variables)이다. 라그랑주 승수는 보통 다음과 같은 의미를 갖는다.
- 제약 페널티 가중치
- 법선 균형
- 목적함수의 기울기와 제약면의 법선 방향의 균형
- 제약 민감도
LDF
NeuPAN은 “점(장애물 포인트)과 로봇(볼록 형태로 표현)” 사이의 관계를 풀 때, 점 좌표를 그대로 쓰지 않고, 각 점에 대해 어떤 μ,λ가 최적이 되는지(=라그랑주 승수 해)를 구한다. 그리고 이 라그랑주 승수들이 LDF이다.
이 중 μ (mu)는 부등식 제약에 대응하고, λ (lambda)는 등식 제약에 대응한다. 어떤 점 P가 로봇의 특정 면에 가깝다면 그 면에 대응하는 μ 성분만 양수가 되고, 나머지 면들은 거리에 거의 관여하지 않으므로 0이 된다. 따라서 μ 는 "이 점은 로봇의 어느 면들과 매칭되는가"를 나타낸다.
λ는 점과 로봇을 가르는 분리 초평면의 법선 방향을 의미한다. 따라서 λ는 "이 점을 피하려면 어느 방향으로 밀어내야 하나"를 나타낸다. 논문에서는 이 둘의 집합을 각 점에 대해 붙여 LDF라고 부른다.
직관적으로 LDF는 다음과 같은 정보를 담는다.
- 이 점은 로봇의 어느 면/엣지가 가장 위험하게 가까운지
- 그 면을 기준으로 안전하게 분리하는 초평면 방향(법선)은 무엇인지
이와 같은 구조는 속도와 학습에 유리하다고 논문은 주장한다.
NeuPAN은 매 제어 주기마다 다음과 같은 루프를 돈다.
- Scan Flow 만들기 : 미래 H 스텝동안 점들이 어디서 올지
- DUNE : 포인트 플로우를 LDF로 변환 (프론트엔드 인코더)
- NRMP : LDF를 이용해 MPC를 풀기 (백엔드 플래너)
Advantages : 미분가능성
논문에 따르면 이 구조는 미분 가능하며 Point cloud -> DUNE -> NRMP -> 최종 액션 까지가 Gradient를 backpropagate해서 파라미터를 최적화할 수 있다.
DUNE (Deep Unfolded Neural Encoder)
포인트 데이터를 받아 로봇과 장애물 사이의 정확한 거리 특징 (Latent Distance Features)로 변환한다.
NRMP (Neural Regularized Motion Planner)
DUNE에서 받은 거리 정보를 바탕으로 로봇이 부딪히지 않고 이동할 수 있는 최적의 Action을 계산한다.