- 수많은 요소가 톱니바퀴처럼 저마다의 주기로 제 역할을 하면서 로봇이라는 하나의 큰 시스템을 이룹니다.
- 로봇 안팎에는 주기가 서로 다른 루프가 수십 개 있고, 가장 빠른 루프와 가장 느린 루프는 그 속도가, 100억 배 넘게 차이 납니다.
- 이 글에서는 로봇 안팎의 서로 다른 루프들 전체를 한 번에 훑어봅니다. 루프 하나하나는 연재의 다른 강의에서 자세히 다룹니다.
1초 동안 로봇 안에서 일어나는 일
예를 들어 휴머노이드가 컵을 향해 팔을 뻗는 1초를 생각해 봅시다. 모터 드라이버가 20 kHz로 돈다면 이 1초 동안 전류 루프는 약 2만 번 돕니다. 그동안 관절 명령은 500번, 정책의 액션은 50번 행해지고, 카메라는 30장을 찍습니다. VLA(시각·언어·행동 모델)는 앞으로 실행할 액션 묶음(액션 청크)을 몇 번 새로 만듭니다.
이 팔을 움직이는 정책이 지난주에 학습을 마쳤고, 다음 재학습은 몇 주 뒤라고 해 봅시다. 이 숫자들을 주기 순서대로 한 줄로 세워놓으면, 수십 µs에서 몇 주까지 이어집니다. 40 kHz 전류 루프의 한 주기(25 µs)와 1주일은 100억 배 넘게 차이 납니다.(극적으로 표현해보자면요)
블로그 소개 글에서 예고한 대로, 속도가 제각각인 로봇 구성요소들이 어떻게 맞물려 돌아가는지 하나의 위젯 위에 그려 보겠습니다.
한눈에 보는 로봇 구성요소들의 시간축
위젯에서 다음을 진행해 보세요.
- 로봇 형태를 이족 휴머노이드에서 고정형 팔로 바꿔 보세요. 보행 정책, 상태추정의 일부, Nav2와 오도메트리가 흐려집니다: 고정형 팔에서는 불필요한 요소들이기 때문입니다.
- 형태를 바꿔도 남는 루프를 찾아보세요. 드라이버 안의 전류·PD 루프와 학습 루프입니다: 로봇을 구성하는 공통적인 요소들이기 때문입니다.
- 막대 하나를 골라 루프 카드를 열어 보세요: 당신이 어떤 로봇에 흥미가 있든, 로봇 이해를 시작하기 위해 필요한 정보들을 찾을 수 있을 겁니다.
루프는 매우 빠른 구성 요소부터 여섯 계층으로 나눴습니다. 전류·관절 서보, 관절 명령·버스, 몸 전체 제어, 인식·이동, 정책·데이터, 학습·운영입니다. 다리와 팔에서 이 계층들이 어떻게 이어지는지는 목표 좌표에서 관절 토크까지공개 예정 강의와 정책 출력에서 전류 루프까지공개 예정 강의에서 다루겠습니다.
루프 하나를 이해하는 방법: 루프 카드
루프는 측정하고, 계산하고, 구동하는 일을 정해진 주기마다 되풀이합니다. 예를 들어 관절 서보 루프는 엔코더로 관절 각도를 재고, 목표 각도와의 차이로 낼 토크를 계산한 뒤, 그 토크만큼 모터에 전류를 흘립니다. 이 연재에서는 루프 하나를 다섯 항목으로 정리하고, 이것을 루프 카드라고 부르겠습니다.
그림 2. 루프 하나와 루프 카드. 전제는 루프 카드가 참이기 위해, 루프가 만족해야 할 조건입니다.
모터 드라이버 안의 관절 서보(PD) 루프로 카드를 채워 보겠습니다.
- 주기: 수 kHz에서 수십 kHz. 흔히 전류 루프와 같은 주기로 동작합니다(ODrive 8 kHz, moteus 30 kHz, Mini Cheetah 40 kHz).
- 입력: 온보드 컴퓨터가 전송한 목표 각도·목표 속도·게인·피드포워드 토크와 엔코더로 잰 관절 각도
- 출력: 토크(전류) 명령
- 전제: 전류 루프가 명령한 토크를 거의 지연 없이 만들어내야 합니다.
- 늦거나 멈추면: 상위 계층에서 전송되는 명령이 끊기면 마지막 목표를 유지하거나 감쇠 모드로 들어갑니다(구현마다 다를 수 있습니다). PD 루프 자체가 늦거나 멈추면 관절이 진동하거나, 드라이버가 폴트를 발생시키고 토크 출력을 차단합니다.
앞으로, 다른 부위의 개요 강의도 맨 위에 같은 모양의 카드를 제시하고 설명하도록 하겠습니다. 예: 50 Hz 명령에서 관절 토크까지공개 예정
각 계층의 역할
- 1. 전류·관절 서보 (수십 µs~1 ms): 모터 드라이버 안에서 PWM 스위칭, 전류 루프(FOC), PD 루프가 작동합니다. 온보드 컴퓨터는 이 계층을 직접 제어하지 않고 목표값만 전송합니다. 이 계층은 마이크로초 단위로 반응해야 하므로 모터 드라이버가 직접 처리합니다. (모터에서 관절까지공개 예정, 관절은 명령한 각도에서 멈추지 않는다공개 예정)
- 2. 관절 명령·버스 (수백 µs~수 ms): 온보드 컴퓨터가 목표값을 드라이버로 전송합니다. G1 SDK 공식 예제는 저수준 관절 명령을 2 ms(500 Hz)마다 전송합니다. (관절 명령의 구조공개 예정, 실시간 제어 시스템 설계공개 예정)
- 3. 몸 전체 제어 (1 ms~수십 ms): IMU와 관절 값으로 몸 상태를 추정하고, 전신 제어와 보행 정책이 동작합니다. 무게중심 높이가 0.7 m인 로봇의 몸을 역진자로 보면 시간 상수는 √(0.7/9.81), 약 0.27 s입니다. 아무 조치가 없으면 기울어짐이 이 시간마다 약 2.7배(e배)로 커지므로, 균형을 잡는 루프는 이보다 훨씬 짧은 주기로 작동해야 합니다. (넘어지지 않는 원리공개 예정, 전신 제어를 QP로 풀기공개 예정)
- 4. 인식·이동 (수십 ms~수 초): 카메라는 보통 30 Hz, LiDAR는 10 Hz 안팎입니다. Nav2 컨트롤러는 기본 20 Hz, 전역 경로 재계획은 1 Hz 정도로 작동합니다. (비전 시스템이 보여 주는 것공개 예정, Nav2로 목표 지점까지 이동하기공개 예정)
- 5. 정책·데이터 (수십 ms~수 분): VLA는 액션 청크를 1초에 몇 번(약 1–10 Hz) 새로 만들고, 청크 안의 액션은 10–120 Hz로 하나씩 실행됩니다. 텔레옵 입력은 10–60 Hz, 데모 기록은 10–50 Hz입니다. VLA를 어디서 돌리는지는 설계와 상황마다 다릅니다. (VLA의 액션 출력 방식공개 예정, 텔레옵은 로봇 스택의 어디에 위치하는가공개 예정)
- 6. 학습·운영 (초~주): 시뮬레이터 학습, 파인튜닝, 평가, 재학습이 여기에 속합니다. 시뮬레이터의 물리 스텝(200–1000 Hz)은 시뮬레이션 시간 기준이라 실제 시간과 별도로 생각해야 합니다. (학습 파이프라인은 가장 느린 축에 속하는 피드백 루프다공개 예정, 시뮬레이터의 역할공개 예정)
계층마다 대표 루프 두 개씩을 표로 정리했습니다. 대표 범위이며 구현마다 조금씩 다릅니다. 제품·SDK 수치는 2026-10 기준입니다.
| 계층 | 루프 | 대표 주기 | 도는 위치 | 근거 | 이어지는 강의 |
|---|---|---|---|---|---|
| 전류·관절 서보 | 전류 루프(FOC) | 8–40 kHz | 모터 드라이버 | ODrive, moteus, Mini Cheetah 논문 | 모터에서 관절까지공개 예정 |
| 관절 PD | 1–40 kHz, 흔히 전류 루프와 같은 주기 | 모터 드라이버 | ODrive, moteus, Mini Cheetah 논문 | 관절은 명령한 각도에서 멈추지 않는다공개 예정 | |
| 관절 명령·버스 | 저수준 관절 명령(DDS) | 500 Hz (G1 SDK 공식 예제의 명령 주기) | 온보드 컴퓨터 → 드라이버 | G1 SDK 예제 | 관절 명령의 구조공개 예정 |
| EtherCAT | 보통 1 kHz, 빠르면 4–10 kHz | 필드버스 | EtherCAT 기술 소개, ATI | 실시간 제어 시스템 설계공개 예정 | |
| 몸 전체 제어 | 전신 제어(QP) | 0.5–1 kHz | 온보드 컴퓨터 | Mini Cheetah 논문 | 전신 제어를 QP로 풀기공개 예정 |
| 보행 RL 정책 | 50 Hz | 온보드 컴퓨터 | unitree_rl_gym | 시뮬레이터에서 G1 보행 정책 실행하기공개 예정 | |
| 인식·이동 | RGB·깊이 카메라 | 15–90 Hz (보통 30) | 센서 | D435i | 비전 시스템이 보여 주는 것공개 예정 |
| Nav2 컨트롤러 | 10–20 Hz (기본 20) | 온보드 컴퓨터 | Nav2 문서 | Nav2로 목표 지점까지 이동하기공개 예정 | |
| 정책·데이터 | VLA 추론(청크 재생성) | 약 1–10 Hz | 구현마다 다름 | π0 논문 | VLA의 액션 출력 방식공개 예정 |
| 액션 청크 실행 | 10–120 Hz | 온보드 컴퓨터 | Diffusion Policy, π0, GR00T N1 논문 | 추론하는 동안에도 팔은 움직여야 한다공개 예정 | |
| 학습·운영 | 시뮬레이터 물리 스텝 | 200–1000 Hz (시뮬레이션 시간) | 시뮬레이터 | 학습 설정, MuJoCo 설정 | MuJoCo 첫 실험공개 예정 |
| 재학습 한 바퀴 | 일–주 | 학습 서버 | 미검증 | 학습 파이프라인은 가장 느린 축에 속하는 피드백 루프다공개 예정 |
루프 전체 표
시간축(그림 1)도 이 표의 값으로 정리했습니다. “미검증”은 공개 출처를 아직 확인하지 못한 값들입니다.
| 계층 | 루프 | 대표 주기 | 도는 위치 | 근거 | 이어지는 강의 |
|---|---|---|---|---|---|
| 전류·관절 서보 | PWM 스위칭 | 수십 kHz | 모터 드라이버 | ODrive 3.6 24 kHz (커뮤니티 포럼 답변), moteus 15–60 kHz, 기본 30 kHz | 모터에서 관절까지공개 예정 |
| 전류 루프(FOC) | 8–40 kHz | 모터 드라이버 | ODrive 8 kHz, moteus 30 kHz, Mini Cheetah 논문 40 kHz | 모터에서 관절까지공개 예정 | |
| 엔코더 샘플링 | 흔히 전류 루프와 같은 주기 | 모터 드라이버 | 미검증 | 감속비가 결정하는 팔의 특성공개 예정 | |
| 관절 PD (드라이버 안) | 1–40 kHz, 흔히 전류 루프와 같은 주기 | 모터 드라이버 | ODrive 8 kHz, moteus 30 kHz, Mini Cheetah 논문 40 kHz | 관절은 명령한 각도에서 멈추지 않는다공개 예정 | |
| 관절 명령·버스 | EtherCAT | 보통 1 kHz, 빠르면 4–10 kHz | 필드버스 | 사이클 100 µs 이하 목표, 8 kHz 안전 제어 예, EtherCAT형 힘·토크 센서 1 kHz | 실시간 제어 시스템 설계공개 예정 |
| CAN / CAN-FD | 0.5–1 kHz (모터당 왕복 기준, 관절이 많을수록 낮아짐) | 필드버스 | 모터 1대 기준 약 800–1500 Hz | 모터 버스의 대역폭 예산공개 예정 | |
| 저수준 관절 명령(DDS) | 500 Hz (공식 예제의 명령 주기) | 온보드 컴퓨터 → 드라이버 | G1 SDK 예제 control_dt 0.002 | 관절 명령의 구조공개 예정 | |
| 통신 끊김 감시(워치독), E-stop | 통신 주기마다 감시, E-stop은 하드웨어 회로 | 모터 드라이버·버스 | 미검증 | 안전 기능은 가장 빠른 루프에 배치한다공개 예정 | |
| 몸 전체 제어 | IMU | 200–1000 Hz | 센서 | 미검증 | 이동에 쓰는 센서 데이터 처리공개 예정 |
| 6축 힘·토크 센서 | 100 Hz–7 kHz | 센서 | ATI 최대 7 kHz, EtherCAT형 1 kHz | 외력에 순응하는 팔공개 예정 | |
| 상태추정(IMU+기구학) | 0.5–1 kHz | 온보드 컴퓨터 | Mini Cheetah 논문 500 Hz | 다리 로봇의 상태추정공개 예정 | |
| 전신 제어(QP) | 0.5–1 kHz | 온보드 컴퓨터 | Mini Cheetah 논문 500 Hz | 전신 제어를 QP로 풀기공개 예정 | |
| MPC | 30–200 Hz | 온보드 컴퓨터 | Mini Cheetah 논문 (convex MPC 30–40 Hz, 전신 비선형 MPC 약 200 Hz) | 무게중심 동역학(centroidal dynamics)공개 예정 | |
| 팔 IK·궤적 보간 | 100 Hz–1 kHz | 온보드 컴퓨터 | Diffusion Policy 논문 125 Hz 보간, Franka 1 kHz | IK를 매 주기 다시 푸는 이유공개 예정 | |
| 보행 RL 정책 | 50 Hz | 온보드 컴퓨터 | 물리 200 Hz ÷ decimation 4, 실제 배포 설정 | 시뮬레이터에서 G1 보행 정책 실행하기공개 예정 | |
| (기준 시간) 역진자 시간 상수 | 약 0.27 s (무게중심 높이 0.7 m) | — | 계산 √(0.7/9.81) | 넘어지지 않는 원리공개 예정 | |
| 인식·이동 | RGB·깊이 카메라 | 15–90 Hz (보통 30) | 센서 | D435i 깊이 최대 90 fps, RGB 30 fps | 비전 시스템이 보여 주는 것공개 예정 |
| LiDAR | 10–20 Hz | 센서 | Mid-360 점군 10 Hz | 이동에 쓰는 센서 데이터 처리공개 예정 | |
| LiDAR·시각 관성 오도메트리 | 10–100 Hz | 온보드 컴퓨터 | FAST-LIO2 논문 최대 100 Hz | SLAM의 내부 구조공개 예정 | |
| 객체 검출·분할 | 5–30 Hz (모델 크기와 연산 장치에 따라 다름) | 온보드 컴퓨터 | 미검증 | 30 fps로 검출하고 추적하기공개 예정 | |
| Nav2 컨트롤러 | 10–20 Hz (기본 20) | 온보드 컴퓨터 | controller_frequency 기본 20 | Nav2로 목표 지점까지 이동하기공개 예정 | |
| 전역 경로 재계획 | 0.5–1 Hz 또는 이벤트 | 온보드 컴퓨터 | 재계획 행동 트리 1 Hz | Nav2의 내부 구조공개 예정 | |
| SLAM 루프 클로저·지도 갱신 | 0.1–10 Hz | 온보드 컴퓨터 | LOAM 논문 매핑 1 Hz | SLAM의 내부 구조공개 예정 | |
| 정책·데이터 | 텔레옵 입력 | 10–60 Hz | 로봇 밖(조작자 장비) | ALOHA 50 Hz, GR00T N1 20 Hz, Diffusion Policy 10 Hz | 텔레옵은 로봇 스택의 어디에 위치하는가공개 예정 |
| 데모 기록 | 10–50 Hz (제어 주기나 카메라 fps에 맞춤) | 온보드 컴퓨터 | Diffusion Policy 10 Hz, GR00T N1 20 Hz, ALOHA 50 Hz | SO-101 리더-팔로워로 첫 데모 녹화하기공개 예정 | |
| VLA 추론(청크 재생성) | 약 1–10 Hz. ACT처럼 매 스텝 다시 추론하는 방식도 있음 | 구현마다 다름 | π0 0.5초마다(2 Hz), GR00T N1 16스텝 청크 63.9 ms, ACT 매 스텝 | VLA의 액션 출력 방식공개 예정 | |
| 액션 청크 실행 | 10–120 Hz | 온보드 컴퓨터 | Diffusion Policy 10 Hz, π0 20·50 Hz, ALOHA 50 Hz, GR00T N1 120 Hz | 추론하는 동안에도 팔은 움직여야 한다공개 예정 | |
| 에피소드 | 10 s–수 분 | — | 미검증 | 녹화 데이터의 구조공개 예정 | |
| 학습·운영 | 시뮬레이터 물리 스텝 | 200–1000 Hz (시뮬레이션 시간) | 로봇 밖(시뮬레이터) | 학습 설정 200 Hz, MuJoCo sim2sim 500 Hz | MuJoCo 첫 실험공개 예정 |
| 병렬 강화학습 | 수십 분–시간 (실제 시간) | 로봇 밖(시뮬레이터) | 미검증 | Isaac Lab으로 첫 강화학습 환경 구성하기공개 예정 | |
| 학습 스텝 | 0.1–2 s | 로봇 밖(학습 서버) | 미검증 | 첫 정책을 학습하고 기록하기공개 예정 | |
| 파인튜닝 | 시간–일 | 로봇 밖(학습 서버) | 미검증 | VLA 파인튜닝 실무공개 예정 | |
| 평가 캠페인 | 일 | 로봇·시뮬레이터 | 미검증 | 성공률 9/10, 믿어도 될까공개 예정 | |
| 재학습·데이터 플라이휠 한 바퀴 | 일–주 | 로봇 밖(학습 서버) | 미검증 | 데이터 플라이휠 구축공개 예정 |
이웃한 루프는 왜 작동 주기가 10배 안팎씩 벌어질까
시간축에서 하위 계층부터 상위 계층까지 대표 루프를 하나씩 따라가 보겠습니다. 전류·PD 루프는 수십 kHz, 관절 명령은 500 Hz, 액션은 50 Hz, VLA 청크 재생성은 수 Hz입니다. 한 계층 올라갈 때마다 10배 이상 느려집니다.
하위 계층의 빠른 루프(안쪽 루프) 바깥에 상위 계층의 느린 루프(바깥 루프)를 겹쳐 쌓는 구조를 캐스케이드 제어라고 합니다. 바깥 루프를 설계할 때는 안쪽 루프를 “명령하면 거의 바로 따라오는 부품”으로 가정합니다. 그렇게 가정하려면, 바깥 루프의 대역폭을 안쪽보다 5–10배 낮게 잡는 것이 경험칙입니다. 안쪽이 충분히 빠르지 않으면 그 지연이 바깥 루프에 더해져 바깥 루프가 흔들리기 쉽습니다.
이 경험칙은 갱신 주기가 아니라 대역폭 사이의 관계입니다. 그래서 PWM, 전류 루프, 드라이버 안의 PD 루프는 흔히 같은 주기로 작동합니다. moteus는 위치·속도 루프와 전류 루프를 모두 스위칭 주파수(기본 30 kHz)로 작동시킵니다. (제어 핵심 정리: PID, 대역폭, 캐스케이드 제어공개 예정)
속도가 다른 루프를 연결하는 네 가지 방법
- 유지와 보간: 빠른 루프는 느린 명령을 다음 명령이 전송될 때까지 그대로 유지(ZOH)하거나, 두 명령 사이를 채웁니다.(보간합니다) 보간 없이 유지만 하면, 드라이버가 따라가는 목표 각도는 새 명령이 올 때마다 한 번에 바뀝니다(50 Hz라면 20 ms마다). 그 사이에는 이전 값을 그대로 쓰므로, 드라이버의 목표는 평균 10 ms(명령 주기의 절반) 늦은 값입니다. 아래 위젯처럼 직전 두 명령 사이를 보간하면 목표가 부드럽게 바뀌지만, 한 주기(20 ms)만큼 늦어집니다. 두 명령 사이를 이으려면 다음 명령이 도착할 때까지 기다려야 하기 때문입니다.
- decimation: 빠른 루프가 N번 동작할 때 느린 루프가 1번 동작합니다. unitree_rl_gym의 G1 학습 설정에서는 물리 시뮬레이션을 1초에 200번(200 Hz) 계산하고, 정책은 그 가운데 4번에 한 번만 새 액션을 출력합니다. 그래서 정책의 주기는 50 Hz입니다.
- 액션 청킹: 느린 추론 한 번이 여러 스텝의 액션을 한꺼번에 출력하고, 빠르게 동작하는 루프가 그것을 차례로 실행합니다.
- 타임스탬프 정렬: 센서마다 주기가 다르므로, 값을 합치기 전에 언제 측정한 값인지를 기준으로 맞춥니다.
위젯에서 다음을 진행해 보세요.
- 사인파 목표에서 명령을 500 Hz에서 50 Hz(유지)로 바꿔 보세요. 목표 각도가 20 ms마다 약 3°씩 한 번에 바뀌고, 그때마다 토크가 튀어 약 2 Nm의 리플이 생깁니다. 텔레옵에서 동작이 끊겨 보이는 원인 중 하나입니다.
- 50 Hz 보간으로 바꿔 보세요. 토크 리플은 사라지지만 목표가 약 20 ms 늦어집니다(유지만 할 때는 평균 10 ms).
- 타임 스케일을 2–4 ms로 두고, 관절 명령 한 번(2 ms) 사이에 전류 루프가 몇 번 작동하는지 세어 보세요(40번). 전류 루프는 20 kHz, 관절 명령은 500 Hz로 주기가 40배 차이 나기 때문입니다. 타임 스케일을 100 µs로 줄이면 PWM 한 주기(50 µs)가 보입니다.
- “세부 설정”을 펼쳐 Kd를 0으로 내려 보세요. 점성 마찰만 남아 진동이 좀처럼 줄지 않습니다(시간 상수 약 5 s). 기본값 0.8로 되돌리면 1초 안에 멈춥니다. Kd가 속도에 비례하는 제동 토크를 만들어내기 때문입니다.
(액션과 제어기 사이의 규약공개 예정, ACT와 Diffusion Policy는 왜 액션을 묶어서 출력하는가공개 예정, 카메라 타임스탬프는 어느 시각을 기록하는가공개 예정)
상위 계층이 늦거나 멈추면
루프 카드의 마지막 항목으로 돌아가 봅시다. 상위 계층이 늦거나 멈춰도 하위 계층은 계속해서 동작합니다. 그래서 정지 판단은 가장 빠른 하위 계층에 둡니다. 통신 주기마다 끊김을 확인하는 워치독, 드라이버의 과전류 차단, 하드웨어 회로로 된 E-stop이 그 예입니다.
어떤 루프를 로봇 밖(엣지나 데이터센터)으로 옮길 수 있는지는 주기, 꼬리 지연, 연결이 끊겼을 때의 대비, 데이터 양을 기준으로 판단합니다.
반대 방향도 있습니다. 배터리 상태와 모터·보드 온도는 천천히 변하지만, 빠른 루프들의 한계를 결정합니다. 전압이 떨어지거나 온도가 오르면 전류 제한을 낮추는(디레이팅) 경우가 많고, 그만큼 관절이 출력할 수 있는 토크가 줄어듭니다.
(안전 기능은 가장 빠른 루프에 배치한다공개 예정, 어느 루프를 로봇 밖으로 옮길 수 있을까공개 예정, 열과 배터리 제약이 제어에 미치는 영향공개 예정)
자주 하는 오해
- “온보드 컴퓨터가 모터를 직접 돌린다.” 온보드 컴퓨터는 목표 각도, 게인, 피드포워드 토크 같은 목표값만 전송하고, 토크는 드라이버 안의 빠른 루프가 만들어냅니다(그림 3).
- “정책은 빠르게 돌릴수록 좋다.” 정책의 주기는 하위 계층(관절 명령, 드라이버의 PD·전류 루프)이 따라올 수 있는 속도, 그리고 학습 데이터를 기록한 주기와 맞아야 합니다. 주기가 학습 때와 달라지면 같은 정책도 다르게 움직입니다. 정책은 학습할 때의 주기를 전제로 액션을 출력하도록 학습되었기 때문입니다.
- “학습은 로봇 제어와 상관없는 오프라인 작업이다.” 데이터, 학습, 평가, 배포로 이어지는 한 바퀴를 가장 느린 축에 속하는 피드백 루프로 볼 수 있습니다. 평가는 측정, 배포는 구동에 해당합니다.
(학습-배포 불일치 디버깅공개 예정)
핵심 용어
- 루프: 측정, 계산, 구동을 정해진 주기로 되풀이하는 과정
- 주기와 주파수: 루프가 한 번 동작하는 데 걸리는 시간(주기)과 1초 동안 동작하는 횟수(주파수). 500 Hz의 주기는 2 ms입니다.
- 대역폭: 루프가 목표의 변화를 제대로 따라갈 수 있는 가장 높은 주파수
- 캐스케이드 제어: 하위 계층의 빠른 루프(안쪽 루프) 바깥에 상위 계층의 느린 루프(바깥 루프)를 겹쳐 쌓는 구조
- decimation: 빠른 루프가 N번 동작할 때 느린 루프를 1번 동작시키는 방식
- 액션 청크: 정책이 한 번의 추론으로 출력하는 여러 스텝 분량의 액션 묶음
- 워치독: 명령이 정해진 시간 안에 오지 않으면 안전 동작으로 넘어가게 하는 감시 장치
기호와 영문 표기는 표기법과 용어집공개 예정 강의에 정리해 두겠습니다.
로봇 구성요소 연재 목차
이 글에서 살펴본 루프들은 아래 강의들에서 자세히 다루겠습니다. 주제마다 대표 강의를 하나씩 정리했습니다.
| 주제 | 대표 강의 |
|---|---|
| 몸통의 명령 경로 | 50 Hz 명령에서 관절 토크까지공개 예정 |
| 관절은 명령한 각도에서 멈추지 않는다 | 처짐 재현과 중력 보상공개 예정 |
| 액션과 상태 | 액션과 제어기 사이의 규약공개 예정 |
| 전류 루프, 감속비, 반사관성, 열, 임피던스 | 모터에서 관절까지공개 예정 |
| IK와 전신 제어 | IK를 매 주기 다시 푸는 이유공개 예정 |
| 텔레옵 데이터에 남는 사람의 보정 | 리더암의 역학공개 예정 |
| 로봇 없이 데이터 수집 | 로봇 없이 수집하는 데이터공개 예정 |
| 데모 자동 생성 | 데모 자동 생성의 원리공개 예정 |
| 시뮬레이터 설정 검토 | 갭 점검표로 시뮬레이터 설정 검토하기공개 예정 |
| VLA의 액션 출력 방식 | VLA의 액션 출력 방식공개 예정 |
| 가장 느린 피드백 루프인 학습 | 학습 파이프라인은 가장 느린 축에 속하는 피드백 루프다공개 예정 |
| 월드 모델 | 월드 모델을 시뮬레이터로 쓸 수 있을까공개 예정 |
| 픽셀에서 손끝 좌표까지 | 픽셀에서 손끝 좌표까지의 오차 예산공개 예정 |
| SLAM과 두 개의 현재 위치 | 로봇에게는 ‘현재 위치’가 두 개 있다공개 예정 |
| 도착 판정 기준 | 도착 판정 기준공개 예정 |
| 어느 루프를 로봇 밖으로 옮길 수 있나 | 꼬리 지연과 연결 끊김 대비공개 예정 |
| 성공률의 오차막대와 데이터 플라이휠 | 성공률 9/10, 믿어도 될까공개 예정 |
| 안전은 가장 빠른 루프에서 | 안전 기능은 가장 빠른 루프에 배치한다공개 예정 |
맺으며
시간축의 막대들은 연재를 이어 가면서 하나씩 자세히 살펴보겠습니다. 다음 강의에서는 가장 빠른 하위 계층으로 내려가, 관절이 명령한 각도에 멈추지 않는 이유를 다루겠습니다. 다음 강의: 관절은 명령한 각도에서 멈추지 않는다공개 예정
참고문헌
- Donghyun Kim et al. (2019). Highly Dynamic Quadruped Locomotion via Whole-Body Impulse Control and Model Predictive Control
- Wei Xu et al. (2021). FAST-LIO2: Fast Direct LiDAR-inertial Odometry
- Ji Zhang, Sanjiv Singh (2014). LOAM: Lidar Odometry and Mapping in Real-time . Robotics: Science and Systems (RSS) 2014
- Cheng Chi et al. (2023). Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
- Kevin Black et al. (2024). π0: A Vision-Language-Action Flow Model for General Robot Control
- NVIDIA et al. (2025). GR00T N1: An Open Foundation Model for Generalist Humanoid Robots
- Tony Z. Zhao et al. (2023). Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware
이 강의 인용하기
@misc{ljh2026robotgears,
title = {로봇을 이루는 톱니바퀴들: 서로 다른 주기로 작동하는 로봇 안팎의 루프},
author = {LJH},
year = {2026},
url = {https://leejh.dev/lessons/robot-gears/}
}
댓글