본문으로 건너뛰기
#frontier-one#robotics#safety-critical-planning#trajectory-optimization

드론의 충돌 회피를 수학적으로 보장할 수 있을까

MIT의 SANDO는 움직이는 장애물의 최대 이동범위를 시간 구간별 안전통로에 반영해 미지 환경에서 드론 경로를 계획한다. 연속시간 안전증명의 전제, 7.4배 최적화 가속의 비교조건, 실제 하드웨어에서 남은 실패조건을 함께 분석한다.

arXiv v3 방법 해설 · 게재 판본 대조 미완료. MIT는 2026년 10월 7일 IEEE Transactions on Robotics 게재 연구로 소개했지만, 정식 출판본을 직접 확인한 근거와 기관 보도를 구분한다. 아래 방법·실험 해설은 9월 25일 arXiv v3에 근거한다. IEEE 최종 판본과의 차이는 아직 대조하지 못했다. 현재 계획 구간의 조건부 안전과 실제 운용 전체의 안전을 구분해서 읽어야 한다.

#1. 한 문장 결론 — 지금의 빈 공간은 언제까지 안전할까

SANDO는 움직이는 장애물이 도달할 수 있는 영역을 시간 구간별로 계산하고, 드론의 연속 경로를 그 바깥에 제한한다. 보장은 정해진 전제가 참인 현재의 유한 계획 구간에 한정된다. 다음 재계획에서도 해가 존재하거나, 멈춘 뒤 영원히 안전하다는 보장은 없다.

읽는 목표는 세 구분이다. 회피 비용과 하드 제약, 전 구간과 시간층별 확장, 위치를 제공한 실험과 센서부터 동작한 실험이다.

#2. 왜 어려운가 — 미래를 피하면서 통로도 남겨야 한다

지게차가 가로지르는 복도는 지금 비어 있어도 잠시 뒤 막힐 수 있다. 드론은 지나갈 위치와 시각을 함께 정해야 한다.

회피 비용은 다른 비용과 교환할 수 있다. 하드 제약은 해가 반드시 지켜야 하는 경계지만, 너무 크게 잡으면 경로가 사라진다. 안전 제약을 세웠다는 것과 그 제약을 만족하는 해를 찾았다는 것은 다른 문제다.

센서는 장애물 전체를 보여주지 않는다. 물체의 앞면만 보거나 가림 때문에 늦게 발견할 수 있다. 따라서 위치 추정, 크기 추정, 통로 생성, 계산 지연, 실제 제어가 이어지는 경계에서 어떤 가정을 누가 보장하는지 확인해야 한다.

#3. 선수 개념 — 점, 몸체, 범위, 곡선을 구분하자

먼저 위치는 x·y·z 좌표 세 개로 나타낸다. AABB(axis-aligned bounding box)는 물체를 좌표축과 나란한 상자로 감싼 것이다. 반폭은 중심에서 각 면까지의 거리다. 드론의 중심점이 장애물을 피하더라도 날개나 몸체가 부딪힐 수 있으므로 기체 크기까지 포함해야 한다.

Reachable set(도달 가능 집합)은 일정 시간 동안 물체가 이동할 수 있는 변위 전체다. “x축 속도 절댓값이 최대 2m/s”와 “3차원 속력 전체가 최대 2m/s”는 다르다. 앞의 조건은 축별 상자를, 뒤의 조건은 구를 만든다. 어느 조건을 쓰는지 바꾸면 피해야 할 영역도 달라진다.

볼록 영역에서는 두 점을 잇는 선분도 영역 안에 있다. Bézier 곡선에는 더 유용한 성질이 있다. 곡선이 제어점들의 볼록 껍질(convex hull) 안에 머문다는 것이다. 제어점을 볼록 안전통로 안에 제한하면 점 사이의 연속 곡선도 함께 제한할 수 있다.

#4. 기존 방법과 비교 — 같은 축으로 읽어야 한다

방법원문의 문헌 비교에서 구분하는 지점SANDO와 비교할 때 확인할 조건
FASTER정적 환경의 하드 통로·연속시간 경로움직이는 장애물 가정을 추가할 수 있는가
ViGO동적 환경에서 소프트 충돌 비용회피 선호와 형식적 제약을 구분했는가
FAPP지각과 계획을 결합한 빠른 소프트 회피정보 입력·회피 거리·동역학 제약이 같은가
I-MPC이산 MPC 시점에서 하드 제약시점 사이와 실제 추종 동역학을 어떻게 평가했는가
PANTHER동적 환경의 연속시간 안전개방 환경과 협소 환경, 장애물 수의 계산 부담

각 행은 선행 경로계획 방법이다. 앞 두 열은 arXiv v3 §II·표 I 문헌 분류의 해설, 마지막 열은 이 글의 비교 질문이다. 다섯 방법의 동일조건 대결이 아니다. SANDO는 시간층별 통로와 연속 경로 제약을 잇는다. 속도·성공률은 실험별 조건으로 비교한다.

§IX-C에서는 비교 방법마다 제공받는 장애물 정보가 다르며, I-MPC의 위반률은 추종 동역학도 포함한다. 따라서 표의 숫자를 곧바로 동일한 센서·제어기 전체 시스템의 순위로 읽을 수 없다.

#5. 그림 관찰에서 새 방법의 세 단계로

원문 그림 1·2·4의 캡션·본문을 따라가면 “어디로 갈까 → 언제 지나갈까 → 곡선 전체가 안에 있을까”라는 순서가 드러난다. 그림 1 캡션은 회피 방식, 그림 2는 파이프라인, 그림 4는 시간층을 설명한다. 실제 문제는 3차원이다. 원본 그림 픽셀은 열람하지 못했다. 아래 다섯 그림은 확인한 개념·수치로 별도 제작한 설명용 재구성 도식이며 원본 도판을 복제하지 않았다.

센서·추정에서 길 후보·시간별 통로·MIQP·제어까지의 개념 흐름. 안전성은 통로와 모델 가정에 묶인다. 그림의 글자가 작다면 원본 크게 보기 · 새 탭
설명용 재구성 도식 센서·추정에서 길 후보·시간별 통로·MIQP·제어까지의 개념 흐름. 안전성은 통로와 모델 가정에 묶인다. 설명용 재구성 도식이며 원 연구의 도판·실험 사진을 재사용하지 않았다. JJo · 자체 제작 설명 도식 · 출처 · JJo 자체 제작 · 원논문 도판 재사용 없음 · 설명용 재구성 도식. 원논문 도판·사진의 배치나 픽셀을 복제하지 않았다. 기하·시간 예시는 실험 데이터가 아니며, 최적화 시간 비교만 원문 표 IX의 보고값을 사용했다.

그림에서 볼 것: 길 후보를 고르는 비용과 곡선이 반드시 지켜야 하는 제약을 찾아보자. 센서·추정이나 제어가 가정을 어기면 중간의 최적화 성공만으로 실제 안전을 보장할 수 없다.

첫째, 센서 점군으로 지도를 만들고 동적 장애물을 추적한다. AEKF(adaptive extended Kalman filter, 적응형 확장 칼만 필터)는 관측 위치를 이용해 장애물 상태와 잡음 공분산을 갱신한다. 예측 경로 주변에 비용을 붙인 heat-map A*가 우회할 후보 경로를 찾는다. 예측과 비용은 좋은 경로를 유도하는 수단이며 최악 이동범위를 대체하는 안전증명은 아니다.

둘째, 경로 주변에 STSFC(spatiotemporal safe flight corridor, 시공간 안전비행통로)를 만든다. 시간층 n과 공간 통로 p를 따로 둔다. 가까운 시간층에서는 장애물이 이동할 시간이 짧고 먼 시간층에서는 길다. 그래서 처음부터 마지막 시간의 최대 확장을 모든 층에 적용할 때보다 초기 통로를 덜 막을 수 있다.

셋째, MIQP(mixed-integer quadratic program, 혼합정수 이차계획)가 각 경로 조각을 어느 통로에 넣을지 선택한다. 연속 변수는 경로 모양, 이진 변수는 통로 선택을 맡는다. 변수제거는 같은 문제의 연속 변수와 등식 제약을 줄이는 계산 방법이다. 새 관측으로 다시 계획하되, 성공한 새 계획이 있을 때 그 구간으로 안전 보장을 이어 간다.

#6. 핵심 식 — 시간과 불확실성은 어디에 들어가나

먼저 알려진 장애물을 확장한다. 원문의 식 (1)은 다음 네 영역의 Minkowski sum이다. 이 연산은 두 집합에서 하나씩 고른 변위를 더해 가능한 결과를 모두 모은다.

기체 중심이 피해야 할 영역은 얼마나 큰가? O^kn=O^k(t0)⊕Rn⊕C∞(ϵ)⊕D\hat{\mathcal O}_{k}^{n}=\hat{\mathcal O}_{k}(t_0)\oplus\mathcal R_n\oplus C_\infty(\epsilon)\oplus\mathcal D 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 명시식: arXiv v3 §IV-B, 식 (1), PDF 5쪽. k는 장애물, n은 시간층이다. 첫 항은 현재 추정 AABB, 두 번째는 층 끝까지의 도달범위, 세 번째는 위치오차 버퍼, 마지막은 원점 중심의 기체 AABB다. 모든 항은 3차원 공간 영역이며 길이 단위는 m다.

구현은 알려진 장애물에 축별 속도 상한을 사용한다. 도달범위의 각 축 반폭은 그 축의 속도 상한에 (n+1)dt를 곱한 값이다. dt는 조각 하나의 시간(s)이다. C∞(ε)는 좌표 절댓값이 공통 스칼라 ε 이하인 상자다. ε는 각 축의 반폭(m)이므로 속도×시간과 더할 수 있다. 축별로 다른 오차 상한을 넣는 변형은 원문 식 그대로가 아니다.

정리의 전제는 장애물 속도 상한, 위치오차 상한, 실제 크기를 과소평가하지 않는 상자, 정확한 경로 추종이다. 실제 오차를 버퍼로 흡수하려면 추정·크기·추종에 필요한 최악 여유를 함께 검토해야 한다. 평균 오차가 작다는 사실만으로 이 상한을 보장할 수 없다.

아직 관측하지 않은 곳은 빈 공간과 다르게 취급한다. 벽 뒤에서 움직이는 물체가 나올 수 있으므로 미관측 경계에도 도달범위를 붙인다.

보이지 않는 곳에서 나올 장애물은 어떻게 피하나? U^n=U(t0)∪(BU(t0)⊕Rnϵ⊕B2(rdrone))\hat{\mathcal U}^{n}=\mathcal U(t_0)\cup\bigl(\mathcal B_{\mathcal U}(t_0)\oplus\mathcal R_n^\epsilon\oplus B_2(r_{\mathrm{drone}})\bigr) 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 명시식: §IV-C, 식 (2), PDF 5–6쪽. U는 아직 보지 못한 voxel 영역, B_U는 그 경계, R_n^ε는 선택한 속도 상한의 형태에 오차 여유를 더한 도달집합이다. B₂(r_drone)는 반지름 r_drone(m)의 기체 구 모델이다. 합집합은 미관측 영역 자체와 확장된 경계를 모두 피하도록 한다.

알려진 물체에는 기체 상자 D, 미관측 경계와 정적 장애물에는 기체 구 모델을 적용한다. 기체 크기를 중복으로 더하거나 아예 빼서는 안 된다. 두 표현을 바꿔 쓸 때는 구가 실제 기체 몸체를 충분히 감싸는지 따로 확인해야 한다. 여기서는 그 반지름과 AABB의 보수성 대응을 검증하지 않았다. 미관측 목표는 경로를 되짚어 안전한 중간 목표로 바꾼다.

미추적 장애물이 미관측 영역 안에 있다는 가정도 필요하다. 이미 지도에 보였지만 아직 동적으로 분류되지 않은 물체는 이 조건 사이에 빠질 수 있다. “미관측 영역을 확장했으니 모든 탐지 실패를 해결했다”는 해석은 성립하지 않는다.

임의의 사각 통로 안에 네 Bezier 제어점과 이들의 볼록껍질, 3차 곡선을 그렸다. 좌표는 설명용이며 원 연구 경로가 아니다. 그림의 글자가 작다면 원본 크게 보기 · 새 탭
설명용 재구성 도식 임의의 사각 통로 안에 네 Bezier 제어점과 이들의 볼록껍질, 3차 곡선을 그렸다. 좌표는 설명용이며 원 연구 경로가 아니다. 설명용 재구성 도식이며 원 연구의 도판·실험 사진을 재사용하지 않았다. JJo · 자체 제작 설명 도식 · 출처 · JJo 자체 제작 · 원논문 도판 재사용 없음 · 설명용 재구성 도식. 원논문 도판·사진의 배치나 픽셀을 복제하지 않았다. 기하·시간 예시는 실험 데이터가 아니며, 최적화 시간 비교만 원문 표 IX의 보고값을 사용했다.

그림에서 볼 것: 곡선 위의 몇 점만 검사한 것이 아니다. 네 제어점이 같은 볼록 통로 안에 있으면 이들의 볼록 껍질 안에 곡선 전체가 남는다. 좌표는 임의의 설명용 값이다.

다음은 곡선 전체를 통로에 묶는 부분이다. 아래 선택 변수의 값이 1이면 네 제어점 모두가 해당 다면체의 선형 부등식을 만족해야 한다.

시간 사이의 곡선까지 통로 안에 두는 조건은? znp=1  ⟹  Fnppnj≤gnp,j∈{0,1,2,3}z_{np}=1\implies \mathbf F_{np}\mathbf p_{nj}\leq\mathbf g_{np},\quad j\in\{0,1,2,3\} 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 명시식: §VI-A, 식 (6), PDF 9쪽. z는 단위 없는 이진 변수, p_nj는 제어점 위치(m)다. F·g는 같은 시간층·공간 다면체의 면 경계를 표현한다. 각 행의 부등식은 그 면의 안쪽에 있으라는 뜻이며 좌변과 우변의 단위가 같아야 한다. 원문은 면 계수의 개별 정규화를 여기서 규정하지 않는다.

이 조건과 볼록 껍질 성질이 합쳐져 조각 전체를 제한한다. 그 통로가 실제 장애물의 확장 영역과 겹치지 않는다는 선행 조건도 필요하다. 곡선만 통로 안에 넣고 잘못 추정한 통로를 안전하다고 부르면 증명 연결이 끊어진다.

드론 자체의 속도·가속도·jerk(가속도의 변화율)에도 제한이 있다. 장애물의 속도 상한과 드론의 운동 제한은 서로 다른 변수다.

몸체가 피하면서도 실행 가능한 운동을 하는가? ∥vnj∥∞≤vmax⁡,∥anj∥∞≤amax⁡,∥jn∥∞≤jmax⁡\|\mathbf v_{nj}\|_\infty\leq v_{\max},\quad \|\mathbf a_{nj}\|_\infty\leq a_{\max},\quad \|\mathbf j_n\|_\infty\leq j_{\max} 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 명시식: §VI-A, 식 (9), PDF 9–10쪽. v·a는 해당 조각의 속도·가속도 제어점, j는 조각 안에서 일정한 jerk다. 단위는 각각 m/s, m/s², m/s³이다. 무한대 노름은 세 좌표 절댓값 중 가장 큰 값이다. 속도 제어점은 3개, 가속도 제어점은 2개이며 각 항에 적용한다.

Bézier 미분 곡선의 볼록 껍질 성질로 조각 안의 연속 운동도 제한한다. 조각 경계에서 위치·속도·가속도는 이어지지만 jerk까지 연속이라고 주장하지는 않는다. 실제 기체가 명령을 그대로 추종하는지는 별도 제어 검증이다.

심화: 곡선·통로 선택·목적함수·증명의 연결

기사의 네 식만으로 최적화 문제 전체를 정의할 수는 없다. 아래는 핵심 연결을 따라가기 위한 심화다.

다항식 계수는 네 제어점과 어떻게 연결되나? rn(τ)=anτ3+bnτ2+cnτ+dnpn0=dn,pn1=(cndt+3dn)/3pn2=(bndt2+2cndt+3dn)/3pn3=andt3+bndt2+cndt+dn\begin{aligned}\mathbf r_n(\tau)&=\mathbf a_n\tau^3+\mathbf b_n\tau^2+\mathbf c_n\tau+\mathbf d_n\\\mathbf p_{n0}&=\mathbf d_n,\quad \mathbf p_{n1}=(\mathbf c_n dt+3\mathbf d_n)/3\\\mathbf p_{n2}&=(\mathbf b_n dt^2+2\mathbf c_n dt+3\mathbf d_n)/3\\\mathbf p_{n3}&=\mathbf a_n dt^3+\mathbf b_n dt^2+\mathbf c_n dt+\mathbf d_n\end{aligned} 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 식 (3)·(5)의 묶음 재표기: §VI-A, PDF 9쪽. 기사에서는 위치 곡선을 r_n으로 표기해 위치·속도·가속도를 묶은 전체 상태 x_n과 구분했다. 원문은 두 기호를 글꼴로 구분하므로 이 부분은 기호를 바꾼 재표기다. τ는 조각 내부 시간이며 0부터 dt까지다. 여기의 a_n은 다항식 계수(m/s³)이지 위의 가속도 제어점 a_nj가 아니다. b_n·c_n·d_n의 단위는 m/s²·m/s·m다. 모든 제어점 식의 항이 m로 맞는다.

식 (4)는 조각 끝과 다음 조각 시작의 상태를 같게 한다. 상태에는 위치뿐 아니라 속도·가속도가 포함된다. 이에 시작·끝 상태 조건을 함께 기호적으로 풀어 남은 연속 변수를 줄이는 것이 변수제거다. §VI-A1에서 축당 4N개 계수와 3N+3개 등식이 N−3개 자유 변수로 줄어드는 관계를 확인할 수 있다. 이 숫자는 이진 통로 선택 변수를 없앤다는 뜻이 아니다.

통로를 하나도 선택하지 않거나 끝없이 날아도 되나? ∑p=0P−1znp≥1,x0(0)=xinit,xN−1(dt)=xfinal\sum_{p=0}^{P-1}z_{np}\geq1,\quad \mathbf x_0(0)=\mathbf x_{\mathrm{init}},\quad \mathbf x_{N-1}(dt)=\mathbf x_{\mathrm{final}} 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 식 (7)·(8)의 묶음 재표기: §VI-A, PDF 9쪽. 각 조각은 적어도 하나의 다면체에 배정된다. N은 시간 조각 수, P는 층당 공간 다면체 수이며 둘을 같은 개수로 고정한 문제가 아니다. x는 위치·속도·가속도를 포함하는 상태를 뜻한다.

최종 상태는 경로의 P개 구간 끝 중간 목표에서 속도·가속도가 0인 정지 상태다. 시간 범위는 T=Ndt다. 재계획에서는 앞부분만 실행한 뒤 새 계획으로 바뀔 수 있다. 정지 상태를 넣었다고 그 지점이 T 이후에도 안전한 것은 아니다.

하드 제약을 지키는 해들 사이에서는 무엇을 줄이나? min⁡J,J=∑n=0N−1∥jn∥2\min J,\qquad J=\sum_{n=0}^{N-1}\|\mathbf j_n\|^2 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 목적함수 및 식 (10)의 축약 재표기: §VI-A, PDF 9–10쪽. 제약은 식 (4)·(6)·(7)·(8)·(9)다. 목적함수는 각 조각의 저크(jerk, 가속도가 변하는 빠르기) 벡터 노름을 제곱해 더한 유한 합이다. 저크의 단위는 m/s³이므로 각 항과 합의 단위는 m²/s⁶이다. 원문에는 조각 시간 dt를 곱하는 가중치가 없으며, 시간에 따른 적분으로 표시한 식도 아니다. 경로 길이나 비행시간을 직접 최소화하는 식으로 바꾸면 다른 문제가 된다.

시간 배분 후보별 통로·문제에서 먼저 실행 가능한 해를 찾은 스레드를 사용한다. 모든 시간 배분의 전역 최적성 보장은 아니다.

안전통로와 실제 장애물은 어떤 관계여야 하나? C[n][p]∩O^kn=∅,C[n][p]∩U^n=∅\mathcal C[n][p]\cap\hat{\mathcal O}_k^n=\varnothing,\qquad \mathcal C[n][p]\cap\hat{\mathcal U}^{n}=\varnothing 식이 길면 좌우로 이동해 읽으세요. 키보드는 수식에 초점을 둔 뒤 방향키를 사용합니다. 기호·연산·계산 과정 펼치기

원문 식 (13)·(14)의 묶음 재표기: §VIII-B, PDF 12쪽. 첫 조건은 모든 추적 장애물 k, 모든 시간층 n, 모든 공간 다면체 p에 적용된다. 둘째는 미관측 공간 확장을 켰을 때 모든 n과 p에 적용된다. 한 장애물이나 한 시점에서만 겹치지 않으면 된다는 뜻이 아니다. 교집합이 비었다는 것은 겹치는 점이 없다는 뜻이다.

증명은 곡선이 통로 안에 있음, 실제 장애물이 확장 영역 안에 있음, 두 영역이 서로 겹치지 않음을 연결한다. 실제 크기나 속도·오차가 가정보다 크면 두 번째 연결부터 깨진다. 정리 1에서 추적 장애물에 대한 보장은 가정 1–4를 전제로 한다. 미추적 장애물까지 포함하려면 미관측 공간 확장과 식 (14), 그리고 그 장애물이 처음에 미관측 공간에 있다는 가정 5가 추가로 필요하다. 정적 장애물의 여유 거리는 별도의 기체 반경을 이용한 통로 구성으로 다룬다. 수학적 정리는 추정기가 이 전제를 늘 만족한다고 자동 인증하지 않는다.

AEKF 잡음 공분산 갱신식 (11)·(12)는 §VII-C에 있다. 관측 잔차·혁신과 칼만 이득을 이용하는 갱신이다. 이 글에서는 추적기 구현 유도를 제외하고 원문으로 연결한다. 공분산 추정과 결정론적 최악 오차 상한 ε는 같은 것이 아니므로, 필터가 있다는 이유만으로 안전 전제가 성립하지 않는다.

#7. 함께 푸는 사례 — ‘1m 이동’의 뜻부터 검사하자

좌표별 속도 상한에서 팽창 반폭은 0.5초 1.6m, 1초 2.6m, 1.5초 3.6m가 된다. 계산 예의 첫 세 층이며 유클리드 총속도나 실제 실험값을 뜻하지 않는다. 그림의 글자가 작다면 원본 크게 보기 · 새 탭
설명용 재구성 도식 좌표별 속도 상한에서 팽창 반폭은 0.5초 1.6m, 1초 2.6m, 1.5초 3.6m가 된다. 계산 예의 첫 세 층이며 유클리드 총속도나 실제 실험값을 뜻하지 않는다. 설명용 재구성 도식이며 원 연구의 도판·실험 사진을 재사용하지 않았다. JJo · 자체 제작 설명 도식 · 출처 · JJo 자체 제작 · 원논문 도판 재사용 없음 · 설명용 재구성 도식. 원논문 도판·사진의 배치나 픽셀을 복제하지 않았다. 기하·시간 예시는 실험 데이터가 아니며, 최적화 시간 비교만 원문 표 IX의 보고값을 사용했다.

그림의 0.5·1·1.5초 층과 반폭 1.6·2.6·3.6m는 원문 측정값이 아닌 설명용 계산이며 실험의 N=3을 뜻하지 않는다. x·y·z축 속도 절댓값 상한을 모두 2m/s로 두고 0.5초를 생각하자. 각 좌표의 이동범위는 ±1m다. 가능한 중심 위치는 이 반폭의 상자다. 상자의 꼭짓점 방향 변위는 약 1.73m이므로 “전체 이동거리 최대 1m”라고 읽으면 틀린다. 반대로 전체 속력 상한이 2m/s라는 별도 가정이면 반지름 1m의 구가 맞는다.

이제 x축에서 추정 장애물 반폭 0.2m, 오차 버퍼 0.1m, 기체 반폭 0.3m를 추가하자. 확장 반폭은 0.2+1+0.1+0.3=1.6m다. 2초 층 끝에서는 이동 항만 4m로 바뀌어 4.6m가 된다. 가까운 층에도 4.6m를 적용하면 초기 통로를 더 많이 막는다.

이 한 축 계산은 공간 통로·제어 가능성·계산 마감을 판정하지 않는다. 다른 축·장애물·벽·미관측 영역도 제약에 들어간다.

조건 변경 질문: 오차 버퍼를 0.1m에서 0.2m로 늘리면 속도 상한이나 탐지 성능이 좋아지는가? 답은 아니다. 이 예시의 확장 반폭이 0.1m 더 커질 뿐이다. 여유는 늘지만 좁은 공간의 해는 줄어들 수 있다. “보수적”이라는 말에는 이 비용도 들어 있다.

#8. 실험 수치 — 무엇을 비교한 성공률인가

실험입력·비교 조건확인한 결과읽을 때의 경계
변수제거, 표 IX정적 표준 환경, N=4, 동일 제약의 적용/미적용1회 최적화 1.3ms / 9.6ms, 최적화 성공률 둘 다 93.4%전체 파이프라인 속도나 실제 비행 성공률이 아니다
시간층 통로, 표 X현재 장애물 위치 제공, 미래 경로 미제공, P=2, 드론 축별 속도 제한 5m/sHard: 시간층별 100%, 전 구간 최대 확장 30%통로 확장 방식의 비교이며 센서 전체 성적이 아니다
센서 파이프라인, 표 VII점군만 입력, N=5·P=2, 설정당 10회Easy 80%, Medium 60%, Hard 40%각각 8/10·6/10·4/10의 작은 표본이다
Table IX의 N=4 최적화 시간 1.3ms와 9.6ms를 0부터 시작하는 축으로 비교했다. 전체 파이프라인 지연이나 모든 환경의 7.4배 개선을 뜻하지 않는다. 그림의 글자가 작다면 원본 크게 보기 · 새 탭
설명용 재구성 도식 Table IX의 N=4 최적화 시간 1.3ms와 9.6ms를 0부터 시작하는 축으로 비교했다. 전체 파이프라인 지연이나 모든 환경의 7.4배 개선을 뜻하지 않는다. 설명용 재구성 도식이며 원 연구의 도판·실험 사진을 재사용하지 않았다. JJo · 자체 제작 설명 도식 · 출처 · JJo 자체 제작 · 원논문 도판 재사용 없음 · 설명용 재구성 도식. 원논문 도판·사진의 배치나 픽셀을 복제하지 않았다. 기하·시간 예시는 실험 데이터가 아니며, 최적화 시간 비교만 원문 표 IX의 보고값을 사용했다.

9.6/1.3≈7.4는 표 IX의 평균 1회 최적화 시간 비다. 통로 계산·센서 처리까지 모두 같은 배수로 빨라졌다는 수치가 아니다. 표 X는 §IX-C의 환경을 사용하지만 해당 표의 정확한 반복 수를 여기서 별도로 확정하지 않았으므로 100%를 모집단의 확률로 해석하지 않는다.

표 VII의 늦은 동적 장애물 탐지는 충돌의 주요 실패 원인이다. 수학적으로 올바른 통로를 빠르게 구하는 것과, 필요한 장애물을 제때 그 계산에 넣는 것 사이의 차이가 드러난다.

#9. 반대 증거와 한계 — 멈추면 안전한가

원문의 가정을 네 범주로 묶고 유한 계획 구간 T=Ndt를 표시했다. 미관측 영역 보호에는 unknown-space inflation 활성화도 필요하며 계획 끝 이후 안전·재계획 성공을 보장하지 않는다. 그림의 글자가 작다면 원본 크게 보기 · 새 탭
설명용 재구성 도식 원문의 가정을 네 범주로 묶고 유한 계획 구간 T=Ndt를 표시했다. 미관측 영역 보호에는 unknown-space inflation 활성화도 필요하며 계획 끝 이후 안전·재계획 성공을 보장하지 않는다. 설명용 재구성 도식이며 원 연구의 도판·실험 사진을 재사용하지 않았다. JJo · 자체 제작 설명 도식 · 출처 · JJo 자체 제작 · 원논문 도판 재사용 없음 · 설명용 재구성 도식. 원논문 도판·사진의 배치나 픽셀을 복제하지 않았다. 기하·시간 예시는 실험 데이터가 아니며, 최적화 시간 비교만 원문 표 IX의 보고값을 사용했다.

원문은 하드웨어 정적 6회와 동적 12회의 비행을 보고한다. 이 성공 기록이 모든 조건의 충돌 확률 0%를 뜻하지는 않는다. §X는 실제 플랫폼의 추정·추종이 정리의 가정을 엄밀하게 만족하지 않아 형식적 보장이 그대로 성립하지 않는다고 밝힌다.

재계획이 실패하면 이전에 확정한 경로를 이어 가고 그 끝에서는 정지할 수 있다. 그러나 움직이는 물체가 계획 구간 종료 후 그 정지 위치에 들어올 수 있다. 정지 상태가 있는 유한 경로와 무한 시간의 안전한 대기는 다르다. 새 계획은 해를 구해 확정한 뒤에 이어받는다. 계산 중이나 실패 시에는 이전 확정 경로의 남은 구간에 의존한다. 그것을 모두 소진하면 이후 안전은 별도 문제다. 다음 시점에도 실행 가능한 해가 존재하는 recursive feasibility(재귀적 실행가능성)는 미해결이다.

확인 질문: 센서 성공률과 하드웨어 비행 기록이 있으니 정리의 전제를 없애도 되는가? 아니다. 실험은 지정된 조건의 관찰이며 전제가 없는 새 정리가 아니다. 느린 장애물이나 반복 재계획이 여유를 만들 수 있어도 운용 범위를 확정하려면 최악 조건을 따로 검증해야 한다.

#10. 실제 시스템에서의 변화 — 부품 사이의 계약

설계자가 배울 핵심은 추정값·물체 크기·속도 상한·기체 크기·제어 오차를 따로 숨기지 않고 하나의 안전 경계로 연결하는 방식이다. AMR 같은 이동 로봇에도 생각의 틀은 참고할 수 있지만, 이 논문이 그 장비나 현장의 산업 안전인증을 대신하지는 않는다.

예를 들어 관측된 장애물 속도가 설정 상한을 넘거나 추정·추종 여유가 버퍼를 초과하면 기존 전제가 무효임을 드러내야 한다. 다만 실제 최악 오차는 참 위치를 늘 알 수 없으므로, 온라인에서 버퍼 충족을 자동 확인했다고 주장할 수 없다. 이후 정지·후퇴·다른 회피 중 무엇이 안전한지는 별도 검증할 설계 문제다. SANDO의 hover 동작을 그대로 현장 안전 기능이라고 부를 수 없다.

#공개 설정과 논문 실험의 설정을 따로 확인하기

2026년 10월 22일 확인한 공개 저장소의 커밋 1a738df에는 하드웨어용 설정 파일이 있다. 이 파일은 inflate_unknown_boundary: false, obst_position_error: 0.0을 지정한다. 앞서 설명한 미관측 경계 확장과 위치오차 여유가 모든 실행에서 자동으로 켜진다고 가정하면 안 되는 이유다.

설정 파일을 읽는 데서 그치지 않고 같은 고정 커밋의 코드도 대조했다. onboard_sando.launch.py는 하드웨어 모드에서 이 YAML 파일을 선택한다. 노드는 obst_position_error와 inflate_unknown_boundary를 읽어 내부 매개변수에 저장한다. HGPManager::obstacle_to_vec에는 속도 상한과 계획시간의 곱에 위치오차 여유를 더하는 계산, 그리고 inflate_unknown_boundary가 참일 때 미관측 경계 확장 부분으로 들어가는 조건이 있다. 따라서 스위치는 이름만 있는 설명용 항목이 아니라 실제 코드 분기에 연결돼 있다.

이 스위치가 거짓이라고 해서 움직이는 장애물의 확장까지 모두 꺼지는 것은 아니다. 같은 함수의 뒤쪽에는 별도의 동적 장애물 처리 구간이 있다. 그 구간은 장애물의 위치와 경계 상자를 받아 반폭에 앞서 계산한 이동·오차 여유를 더한다. 시간층을 만드는 호출부도 각 층의 끝 시간을 함수에 전달한다. 미관측 경계에 대한 처리와 이미 추적 중인 동적 장애물 처리를 구분해야 한다. 이 확인은 해당 고정 커밋의 코드 흐름에 한정된다.

시간층별 통로를 만드는 함수도 따로 읽었다. 같은 커밋의 cvxEllipsoidDecompTimeLayered는 시간층 수 N과 공간 구간 수 P를 분리해 N×P개의 통로 결과를 만든다. 각 시간층의 장애물 집합을 먼저 만들고, 그 집합을 사용해 각 공간 구간 주변의 다면체를 생성한 뒤 선형 부등식 계수를 저장한다. 장애물 집합만 확장하고 끝나는 것이 아니라 실제 통로 제약을 만드는 단계로 전달하는 흐름이다. 다만 외부 분해 라이브러리의 내부 알고리즘과 이후 최적화·제어까지 모두 검증한 것은 아니다.

이것은 코드를 실행하지 않고 읽어 확인한 정적 연결이다. 이 실행 파일과 설정이 논문의 각 비행에 사용됐는지, 설치된 패키지가 같은 바이트인지, 실행 중 값이 바뀌었는지까지 확인한 것은 아니다. 한 함수의 분기를 확인한 것과 전체 안전통로 생성·제어 과정의 검증도 다르다. 따라서 이 값만으로 논문 실험의 안전 위반이나 버그를 확정하지 않는다. 반대로 설정에 수치가 있다는 사실만으로 정리의 최악 속도·오차 상한이 실제 환경에서 검증됐다고 판단할 수도 없다.

설정이 코드로 이어지는 위치

같은 커밋의 시간층 통로 구성 462–562행, 하드웨어 실행 파일 162–225행, 노드 매개변수 읽기 579–580행, 경계 확장 함수 620–669행을 확인했다. 이 위치는 확인한 코드 범위이며 실험 로그의 위치가 아니다.

확인 질문: 위치오차 여유가 0으로 적혀 있으면 실제 센서 오차도 0일까? 아니다. 그 값은 설정이며 오차를 측정한 결과가 아니다. 안전 전제와 연결하려면 실제 오차 근거, 사용한 설정·코드 버전, 실행 기록이 필요하다.

검토한 고정 버전의 설정을 공개 코드의 한 관찰로 남긴다. 정식 출판본·arXiv v3·실험 로그와의 대응이나 독립 재현을 완료했다는 뜻은 아니다.

#11. 다음에 확인할 것

독립 재현은 정상 궤적의 성공률뿐 아니라 급출현, 크기 과소추정, 속도 상한 초과, 센서 누락, 긴 계산 지연을 주입해야 한다. 평균 최적화 시간과 함께 전체 재계획의 꼬리 지연, 실패 시 기존 경로가 남은 시간, 그 이후 대응을 기록해야 한다. 운용 전에 속도·오차 상한과 계산 마감시간을 선언하고 검증해야 하며, 이 논문 수치만으로 현장 임계값을 정할 수 없다.

공개 코드의 특정 커밋과 하드웨어 설정을 확인했지만 arXiv v3·최종 출판본·실험 실행 버전의 대응 및 외부 실행 재현은 아직 확인되지 않았다. 현재 해설은 방법의 추적 경로를 마련한 연구 작업본이다. 미디어와 최신 원고의 실제 검수가 끝나기 전 완성 기사로 취급하지 않는다.

#12. 출처·권리·열람 범위

판본, 원문 위치, 미확인 자료 펼쳐보기
  • Kota Kondo 외, SANDO arXiv v3, 2026-09-25. §IV-B/C 식 (1)·(2), §VI-A 식 (3)–(10), §VII-C 식 (11)·(12), §VIII-A–E 가정·식 (13)·(14)·정리와 한계, §IX-D/F/G 표 VII·IX·X, §X 하드웨어, §XI 결론을 대조했다.
  • 동일 v3 PDF는 25쪽이며 선택한 식·표의 텍스트 위치를 확인했다. 그림 13개·표 13개의 캡션 목록과 픽셀 열람을 구분한다. 원본 그림의 픽셀은 확인하지 못했고, 재사용 허가를 확보한 원본 도판·사진은 이 작업본에 없다. 원본을 AI로 복제하지 않았다. 이 글의 SVG 다섯 개는 JJo 자체 제작 설명용 재구성 도식이다. 표 IX 수치 비교를 제외한 기하·시간층 예시는 실험 데이터가 아니며, 표 IX 도식도 원 도판의 배치를 복제하지 않았다.
  • MIT News의 2026-10-07 게재 소개. 학회 공식 수상 확인은 없으며 “최고 논문”으로 분류하지 않는다.
  • IEEE Transactions on Robotics, DOI 10.1109/TRO.2026.3738474. 최종 전문·보충자료와 v3 차이 대조는 미완료다.
  • MIT ACL 공개 코드. 공개 README는 T-RO 게재 승인으로 표시되며 버전 없는 arXiv ID를 연결한다. 2026년 10월 22일 커밋 1a738df919f9abe60cee3c1afbecd72579da8f6f와 하드웨어 설정 파일을 읽었다. 해당 코드와 최종 출판본·논문 비행 실행의 대응은 미확인이다. 소프트웨어의 사용 조건과 논문 도판의 권리는 별도로 확인해야 한다. 독립 실행·실험 데이터 공개 범위도 미확인이다.
  • 저자 소속은 MIT 및 Comillas/TRAIL이며 원문은 DSTA 지원을 밝힌다. 여기의 실험 수치는 저자 보고이며 독립 재현 수치가 아니다.

Connect