본문으로 건너뛰기

M17.06 · 경로 대 시간 궤적·속도/가속도 제한·재계획

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

전체 커리큘럼

학습 안내

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

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

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

학습 목표

  • 경로 진행 변수와 시간 궤적을 구분하고 cubic 시간 스케일의 위치·속도·가속도를 계산한다.
  • 주어진 관절별 제한으로 공통 기간의 하한을 계산하고 실행 후보를 판정한다.
  • 현재 상태·관측 나이·계산 지연·지도 변경을 반영해 재계획과 궤적 전환의 근거를 점검한다.

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

권장 선수

M17.01/02의 기하 경로, M02.03의 미분과 M07.05의 추종을 연결한다. CHOMP/STOMP 등 최적화 경로 개선 전체를 시간 배정의 필수 선수로 요구하지 않는다. 진행 변수·시간 스케일·최대 미분값과 재계획의 상태 연속성을 본문에서 보충한다. 기본은 합성 관절 계산과 로그 판정이며 실제 제어기·로봇을 실행하지 않는다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

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

같은 길도 시간을 달리 배정하면 다른 운동이다

경로는 어떤 configuration들을 어떤 순서로 지나는지 나타내는 기하 곡선이다. 시간 궤적은 각 시각에 어디에 있어야 하는지까지 정한다. Modern Robotics 저자 설명처럼 경로 q(s)에 시간 스케일 s(t)를 붙이면 q(s(t))라는 궤적을 얻는다. s는 0에서 1로 가는 무차원 진행 변수이며 초 단위 시각과 다르다.

경로에 시간을 붙이는 단계: 기하 경로 q(s) → 시간 스케일 s(t) → 속도/가속도 → 실행/재계획.그림 원본 크기로 보기

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

두 회전 관절의 시작 q_0=(0,0) rad, 끝 q_1=(1,0.4) rad를 주자. 변화량 Δq=q_1−q_0=(1,0.4) rad이고 기하 경로는 q(s)=q_0+Δq s다. 두 관절이 같은 s로 움직여 함께 목표에 도착한다. 이는 관절 공간의 직선이며 팔 끝점이 작업 공간에서 직선으로 움직인다는 뜻은 아니다. 기하적으로 충돌하지 않는지는 링크 전체와 모든 중간 configuration에서 별도 확인해야 한다.

같은 경로를 2 s와 3 s에 통과하면 위치 순서는 같지만 속도·가속도는 달라진다. 시간을 늘리는 것은 정적 기하 충돌을 없애지 못한다. 움직이는 장애물에서는 통과 시각도 중요하므로 기하 경로와 시간 배정의 분리가 언제 유효한지 확인한다. 이 예는 정적 환경에서 관절별 미분 제한만 계산하는 단계다.

시작과 끝에서 정지하는 cubic 스케일을 미분한다

총 기간을 T>0 s, 정규화한 시간을 u=t/T라고 하자. 0≤t≤T에서 s(t)=3u²−2u³를 사용하면 s(0)=0, s(T)=1이며 시작과 끝의 속도는 0이다. 저자 시간 스케일 설명의 cubic은 이런 네 끝 조건으로 정해진다. 각 관절 j의 속도와 가속도를 직접 미분하면 다음과 같다.

q˙j(t)=Δqj6u−6u2T,q¨j(t)=Δqj6−12uT2.\dot q_j(t)=\Delta q_j\frac{6u-6u^2}{T},\qquad \ddot q_j(t)=\Delta q_j\frac{6-12u}{T^2}.

점 하나는 시간 미분을 뜻한다. q가 rad이므로 속도는 rad/s, 가속도는 rad/s²다. T=3 s에서 t=1.5 s는 u=0.5, s=0.5이므로 위치는 (0.5,0.2) rad다. 속도는 (0.5,0.2) rad/s이고 가속도는 (0,0) rad/s²다. 절반 위치에 왔다고 속도가 일정하다는 뜻은 아니다. 이 곡선의 속도는 시작 0에서 증가했다가 끝에서 다시 0이 된다.

6u−6u²는 u=0.5에서 최대 1.5이고 |6−12u|는 양 끝에서 최대 6이다. 따라서 각 관절의 구간 내 최대 속도와 최대 가속도 크기는 다음과 같다.

vj,peak=1.5∣Δqj∣T,aj,peak=6∣Δqj∣T2.v_{j,peak}=\frac{1.5|\Delta q_j|}{T},\qquad a_{j,peak}=\frac{6|\Delta q_j|}{T^2}.

속도 0인 끝점에서도 가속도는 0이 아닐 수 있다. 정지 구간에 이어 붙이면 가속도가 불연속으로 바뀌므로 가속도의 시간 미분인 jerk 제한까지 만족한다고 볼 수 없다. 시작·끝 가속도를 0으로 정하는 quintic이나 다른 시간 스케일도 있지만 그 경우에는 그 식과 최대 미분값으로 다시 검사해야 한다. 이름이 부드럽다고 제한 검사를 생략하지 않는다.

관절마다 필요한 기간을 구해 가장 큰 값을 쓴다

합성 제한은 관절 1의 최대 속도 0.5 rad/s와 최대 가속도 1 rad/s², 관절 2는 0.4 rad/s와 0.8 rad/s²다. 양의 제한값을 v_j,max와 a_j,max라고 쓰면 위 cubic에서 필요한 공통 기간은 각 관절의 두 하한 이상이어야 한다.

T≥max⁡j(1.5∣Δqj∣vj,max,6∣Δqj∣aj,max).T\ge\max_j\left(\frac{1.5|\Delta q_j|}{v_{j,max}},\sqrt{\frac{6|\Delta q_j|}{a_{j,max}}}\right).

관절 1의 속도 하한은 1.5×1/0.5=3 s, 가속도 하한은 √6≈2.449 s다. 관절 2는 속도 하한 1.5×0.4/0.4=1.5 s, 가속도 하한 √3≈1.732 s다. 네 값 중 최대는 3 s이므로 T=3 s는 제공한 속도·가속도 제한에 맞는 후보다. 두 관절에 따로 다른 완료 시각을 주면 원래의 공통 s 경로와 달라질 수 있다.

T=3 s에서 최대 속도는 0.5/0.2 rad/s, 최대 가속도는 약 0.6667/0.2667 rad/s²다. T=2 s에서는 관절 1의 속도 0.75와 가속도 1.5가 모두 제한을 넘는다. 관절 2만 통과한다고 전체 궤적을 승인할 수 없다. 이 기간 하한은 이 직선 경로와 cubic, 두 종류 제한 안에서의 결과다. 토크·접촉·관절 범위·jerk나 실제 추종 오차를 계산한 것이 아니며 모든 가능한 운동 중 시간 최적이라고도 할 수 없다.

메시지의 보간과 궤적 교체 계약도 확인한다

Jazzy Joint Trajectory Controller 공식 문서는 spline 모드에서 위치만 주면 linear, 위치와 속도를 주면 cubic, 위치·속도·가속도를 주면 quintic 보간을 구분한다. 위에서 cubic을 계산했다고 두 위치만 보내면 자동으로 같은 곡선이 되는 것은 아니다. 실제 입력 필드와 command interface, 보간 설정 및 생성된 샘플을 대조해야 한다. 이 활동에서는 메시지를 전송하지 않는다.

새 궤적으로 전환할 때 현재 로봇이 새 시작 상태에 있는지도 중요하다. 새 경로를 q_0=(0,0), 시작 속도 0으로 계산했는데 현재 관절이 (0.02,0) rad, 속도가 (0.1,0) rad/s라면 이전 가정을 그대로 재사용할 수 없다. 더 오래 실행한다고 시작 불일치가 없어지지는 않는다. 현재 상태에서 시작하는 유효한 연결과 필요한 위치·속도 연속성을 검토하고 제어기의 실제 교체 규칙을 확인한다.

같은 Jazzy 문서는 현재 교체 구현이 기존 궤적을 잊는다고 명시한다. 새 메시지 수락이 두 궤적의 자동 충돌 검사나 부드러운 blending을 보장한다고 쓰지 않는다. 로봇·태스크·지도 버전, 명령 순서와 적용 시각, 활성 궤적과 현재 상태가 같은 계약을 가리켜야 한다. 오래된 계산 결과나 다른 clock 세대의 명령도 구분한다.

재계획하는 동안에도 상태는 변할 수 있다

재계획은 관측과 목표 변경에 맞춰 경로 또는 궤적을 새로 만드는 일이다. 계산을 시작한 시점의 상태가 결과 적용 시점까지 그대로라는 보장은 없다. 별도의 합성 직선 이동에서 속도 v=0.4 m/s가 일정하고, 계산 시작 때 이미 관측이 0.05 s 오래되었으며 계산·적용까지 0.08 s가 더 걸린다고 하자. 관측 이후 적용까지 이동은 0.4×(0.05+0.08)=0.052 m다.

정적 장애물까지의 여유가 관측 시각에 0.12 m이고 로봇 형상은 이미 반영됐다고 준다. 적용 뒤 일정 감속 크기 a=0.8 m/s²로 정지한다고 추가 가정하면 감속 거리는 v²/(2a)=0.1 m다. 두 구간 합은 0.152 m로 관측 여유보다 0.032 m 크다. 이 단순 모델에서도 '계산이 끝날 때까지 기다렸다가 정지하면 된다'는 판정은 성립하지 않는다.

이는 실제 정지 보장이나 장치 정격이 아니다. 지연 동안 일정 속도, 적용 직후 일정 감속, 정적 장애물과 오차 없는 거리라는 제한된 모형이다. 실제에는 제어·구동 지연, 추정 오차와 마찰·사람의 이동 등이 더 있을 수 있다. 재계획 예산, 유효한 현재 상태와 중간 동작, 전환·정지 근거를 실행 계층에서 함께 다뤄야 한다. 기존 3.5 안전한 텔레오퍼레이션 루프와 6.5 End-to-End Pick & Place 배포로 연결하자. 아래 종이 계산은 제어기나 로봇 실증을 대신하지 않는다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    5.9 20 Hz 폐루프 추론

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    3.5 안전한 텔레오퍼레이션 루프

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

학습 범위와 한계

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

실습 필수

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

입력은 q_0=(0,0), Δq=(1,0.4) rad와 본문의 cubic, 두 관절 속도 제한 (0.5,0.4) rad/s 및 가속도 제한 (1,0.8) rad/s²다. 기간 후보는 2/3 s다. 전환 시 현재 상태는 위치 (0.02,0) rad·속도 (0.1,0) rad/s이고 새 시작은 원점 정지로 계산됐다. 별도 직선 이동 입력은 v=0.4 m/s, 관측 나이 0.05 s, 추가 지연 0.08 s, 관측 시각 여유 0.12 m, 일정 감속 0.8 m/s²다.

  1. 진행 변수와 시각의 차이를 설명하고 T=3 s의 중간 위치·속도·가속도를 계산한다. 끝점 가속도와 jerk 조건도 구분한다.
  2. 관절별 기간 하한 네 개와 2/3 s의 최대 미분값을 구해 후보를 판정한다. 확인하지 않은 제약도 적는다.
  3. 현재 상태와 새 시작의 불일치, 관측 이후 반응·정지 거리 및 전환 계약을 점검하고 재계획 결과의 추가 승인 근거를 제안한다.

관찰은 시간 미분, 제한 판정, 현재 상태와 지연으로 나눈다. 막히면 rad와 rad/s, s와 무차원 u를 먼저 나눈다. 실제 메시지 전송·로봇 동작은 필요하지 않다.

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

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

학습 범위와 한계

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

평가·해설 필수

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

확인 문제 Q1

T=3 s인 본문 궤적에서 t=0의 속도·가속도는 얼마인가? 같은 기하 경로에 기간을 늘리는 것만으로 원래 경로의 장애물 충돌도 없어지는가?

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

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

확인 문제 Q2

한 관절의 Δq=0.6 rad, 속도 제한 0.3 rad/s, 가속도 제한 0.9 rad/s²다. 같은 cubic의 기간 하한과 T=3 s의 두 peak를 구하라. 이 결과가 모든 궤적의 시간 최적인가?

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

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

확인 문제 Q3

지연 입력의 관측 여유가 0.12 m인데 재계획 결과가 수락됐으므로 충분히 정지할 수 있다고 한다. 수치와 현재 시작 상태·전환 계약으로 평가하라.

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

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

학습 범위와 한계

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

참고 자료

학습 확인

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

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

학습 이동

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

전체 목차로 돌아가기 →

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