본문으로 건너뛰기

M17.05 · CHOMP·STOMP·최적화 기반 경로 개선

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 경로 비용과 제약을 구분하고 합성 목적함수의 미분·갱신 한 단계를 계산한다.
  • CHOMP의 공변 gradient와 STOMP의 비용 가중 후보 갱신의 역할을 수치 예로 비교한다.
  • 초기 경로·국소성·유한 벌점의 한계를 설명하고 전체 충돌·시간 제약을 별도로 판정한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M02의 미분·최적화와 M17의 경로·충돌을 연결한다. 목적함수, gradient, metric과 비용 가중 후보를 본문에서 정의한다. 종이 계산과 임시 CPU 검산이 기본이며 교육용 스칼라 예는 실제 CHOMP/STOMP 구현이 아니다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

경로를 찾은 뒤 무엇을 개선할지 정한다

장애물을 피하는 경로를 찾았어도 불필요한 우회나 급한 굽힘이 남을 수 있다. 최적화 기반 개선은 경로를 나타내는 변수들을 조금씩 바꾸어 목적함수, 즉 줄이려는 비용을 낮추는 접근이다. 시작과 목표, 관절 제한, 충돌 회피와 필요한 동역학 조건은 비용과 구분해 명시해야 한다. 짧거나 매끄러운 경로라는 이유만으로 충돌이나 실행 불가능을 허용하는 것은 아니다.

경로의 waypoint는 경로를 표현하는 중간 configuration이다. 실제 제어 시각의 표본과 같다고 가정하려면 시간 간격도 정해야 한다. 아래 예는 (0,0)과 (2,0) m를 끝점으로 고정하고 중간 점 (1,y) m의 높이 y 하나만 조정한다. 세 점 사이는 직선으로 연결하며 y≥0인 위쪽 경로를 본다. 로봇 형상은 이미 장애물에 반영된 점 모델이고 실제 로봇의 축이나 제동 성능은 포함하지 않는다.

비용을 정의하고 미분으로 한 번 움직인다

교육용 매끄러움 대용 비용은 두 구간의 높이 변화 제곱합 y²+(−y)²=2y²다. 이는 시간 가속도 비용이 아니라 공간의 굽힘을 줄이려는 단순 대용량이다. 장애물 쪽을 피하도록 중간 높이 h=0.6 m를 선호하는 유한 벌점도 더한다. h는 전체 경로의 실제 최소 거리와 다르며 중간 점의 높이 기준이다. 가중치 8은 무차원이고 J의 단위는 m²다.

짧은 경로와 유효한 경로: 경로 변수 → 매끄러움 비용 → 장애물 비용/제약 → 후보 검증.그림 원본 크기로 보기

그림 M17.05-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

J(y)=2y2+8 [max⁡(0,h−y)]2,h=0.6 m.J(y)=2y^2+8\,[\max(0,h-y)]^2,\qquad h=0.6\ \mathrm{m}.

y=0.2 m이면 매끄러움 항은 0.08 m², 벌점은 8×0.4²=1.28 m²여서 J=1.36 m²다. y<h에서 미분하면 J′(y)=4y−16(h−y)이고 단위는 m다. y=0.2에서 J′=−5.6 m다. gradient는 변수를 조금 바꿀 때 비용이 어느 방향으로 증가하는지 나타내므로 그 반대 방향으로 움직인다.

무차원 보폭 α=0.05로 y_new=y−αJ′를 적용하면 0.2−0.05×(−5.6)=0.48 m다. 새 비용은 2×0.48²+8×0.12²=0.576 m²로 낮아진다. 그러나 y_new는 여전히 0.6보다 작다. 유한 벌점은 위반을 비싸게 만들지만 위반을 불가능하게 만드는 제약과는 다르다. 보폭을 0.2로 크게 하면 y_new=1.32 m, J=3.4848 m²로 오히려 나빠진다. 미분 방향을 안다고 아무 크기로 움직여도 좋은 것은 아니다.

CHOMP는 경로 전체의 매끄러운 변형을 고려한다

CHOMP 저자 원논문은 장애물 비용과 매끄러움 비용을 결합하고 공변 gradient로 경로를 개선한다. 공변이라는 표현은 경로 변형의 크기를 어떤 기하적 척도로 재는지와 관련된다. 단순히 각 waypoint의 좌표 성분을 독립적으로 같은 보폭만큼 바꾸는 것과 구별한다. 여기의 metric은 측정 공분산과 같은 말이 아니며 경로 변형의 척도다.

두 waypoint 높이를 묶은 열벡터 ξ를 생각하자. g는 두 높이에 대한 비용 미분을 묶은 gradient이고 α는 보폭이다. metric 행렬 M이 양의 정부호일 때 공변 갱신의 간단한 형태는 ξ_new=ξ−αM⁻¹g로 이해할 수 있다. 양의 정부호는 0이 아닌 변화에 양의 크기 제곱을 주는 조건이며 임의의 특이 행렬을 역으로 쓰지 않는다.

구체적으로 M=[[2,−1],[−1,2]], g=(1,0) m를 교육용 입력으로 주자. M⁻¹=(1/3)[[2,1],[1,2]]이므로 M⁻¹g=(2/3,1/3) m다. α=0.03이면 높이 변화는 (−0.02,−0.01) m다. 같은 입력의 보통 gradient 변화 (−0.03,0) m와 달리 이웃 waypoint도 함께 움직인다. 경로 전체의 부드러운 변형을 고려하는 직관이다. 실제 CHOMP의 고차원 비용·장애물 기하·제약과 행렬 구성을 이 2×2 예로 대체했다고 말하지 않는다.

STOMP는 주변 경로의 비용으로 변형을 고른다

STOMP 원논문은 초기 경로 주변에 잡음을 더한 후보들을 만들고 비용을 이용해 갱신하는 방법을 설명한다. 비용의 해석적 gradient를 요구하지 않아 미분하기 어려운 비용을 사용할 수 있다는 차이가 있다. 그렇다고 비용 함수나 충돌 모델이 없어지는 것은 아니다. 실제 방법은 시간에 걸친 상관을 가진 경로 잡음과 비용 가중·매끄러운 갱신을 사용하며, 각 waypoint를 무관한 난수로 흔들고 가장 짧은 것만 고르는 절차와 같지 않다.

비용 가중의 의미만 보려면 앞의 한 높이 모델에서 후보 y_k=[0.2,0.5,0.8] m를 제공하자. k는 후보 번호이고 비용 J_k는 각각 [1.36,0.58,1.28] m²다. 이 자료는 실제 난수로 생성한 STOMP 실행 결과가 아니다. 교육용 가중 규칙을 w_k=exp(−J_k/λ)를 모든 후보 합으로 나누는 것으로 정하고 λ=0.5 m²를 준다. 지수 안은 무차원이다.

정규화 가중치는 약 [0.1443,0.6865,0.1693]이고 가중 후보 평균은 약 0.507509 m다. 가장 비용이 낮은 y=0.5가 큰 영향을 준다. 이것은 후보 비용이 갱신 방향을 어떻게 바꾸는지 보는 스칼라 예이며 실제 STOMP의 시간별 비용 평가·정규화·매끄러운 갱신 전체를 구현한 것이 아니다. 비용 가중치를 충돌 확률이나 성공 확률로 해석해서도 안 된다. 후보를 섞은 경로 역시 다시 검사해야 한다.

비용 감소와 실제 경로 유효성을 독립 판정한다

실제 합성 장애물을 중심 (1,0) m, 반지름 0.5 m인 닫힌 원으로 별도 제공하자. 경로 (0,0)→(1,y)→(2,0)에서 y=0.48 m일 때 중간 waypoint 자체부터 원 안에 있으므로 무효다. 그런데 비용은 1.36에서 0.576으로 줄었다. 최적화 개선이라는 사실과 충돌 없음이라는 사실이 다른 이유다.

y=0.8 m 경로는 각 구간에서 원 중심까지의 최소 거리가 약 0.624695 m로 반지름보다 커서 유효하다. 하지만 J=1.28 m²로 앞의 무효 후보보다 비용이 높다. 이 목적함수는 전체 구간 충돌을 정확히 표현하지 않은 대용 모델이므로 낮은 비용 순으로 승인하면 안 된다. 모든 waypoint가 원 밖인 경우에도 연결 중간이 원을 스칠 수 있어 전체 구간을 검사해야 한다. 제약과 벌점·대용량의 의미를 섞지 않는다.

실제 장애물 환경의 목적함수는 비선형·비볼록일 수 있어 초기 경로에 따라 다른 국소 해나 실패에 도달한다. 이 스칼라 비용 자체는 그 복잡한 국소 최소들을 재현하지 않는다. Modern Robotics 저자 최적화 설명처럼 다른 계획기가 초기 경로를 주고 최적화가 개선하는 구성을 사용할 수 있다. 다른 초기 경로·보폭·가중과 조건을 비교하되 성공을 보장한다고 일반화하지 않는다.

마지막 승인에는 시작·목표와 관절 제한, 전체 구간 충돌·여유, 시간 배정 뒤 속도·가속도와 제어 입력, 현재 지도·로봇 상태를 확인한다. 정지한 그림의 매끄러움만으로 시간 미분이나 실제 실행이 적절하다고 판정하지 않는다. 기존 3.5 안전한 텔레오퍼레이션 루프와 6.6 평가 설계를 연결해 비용·유효성·실행 근거를 따로 남긴다. 아래 활동은 CHOMP/STOMP나 장비를 실행하지 않는다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 본문의 J, h=0.6 m, 초기 y=0.2 m와 α=0.05다. 공변 예는 M=[[2,−1],[−1,2]], g=(1,0) m와 α=0.03이고 후보 예는 y=[0.2,0.5,0.8] m, λ=0.5 m²다. 실제 기하 점검용 원은 중심 (1,0) m·반지름 0.5 m이며 접촉도 충돌이다.

  1. 초기 비용·미분·갱신 높이와 비용을 계산하고 α=0.2의 변형과 비교한다.
  2. M⁻¹g와 두 높이 변화를 계산한다. 후보 비용과 주어진 지수 가중 평균을 구하거나 본문 근삿값을 검산하고 CHOMP/STOMP의 역할 차이를 적는다.
  3. y=0.48/0.8 경로의 비용과 기하 유효성을 비교한다. 전체 구간·시간·실행의 추가 승인 근거를 제안한다.

관찰은 비용 갱신, 변형 방법, 유효성 판정으로 나눈다. 지수 계산기가 없으면 제공 가중치로 평균을 확인해도 된다. 막히면 단위와 비용·제약의 차이부터 적는다. 실제 라이브러리 설치는 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

같은 J에서 초기 y=0.3 m, α=0.02다. J′와 새 y 및 새 비용을 구하라. 비용이 감소하면 h 이상이라는 제약도 만족하는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

본문의 M과 g에서 보폭만 0.06으로 바꾸면 두 높이 변화는 얼마인가? STOMP는 미분을 요구하지 않으므로 비용과 충돌 검사도 필요 없다는 주장을 평가하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

최적화가 J를 낮췄고 waypoint 모양도 매끄러우므로 실행 승인하겠다고 한다. 본문 원과 y=0.48/0.8의 반례로 설명하고 추가 검증을 제안하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.