선수 지식과 준비물
선수 지식
- Python, NumPy 및 C++17 기초
- 4×4 동차변환행렬과 회전행렬
- ROS 2 노드, 토픽, QoS(Quality of Service)의 기본 개념
- Linux 직렬 장치와 사용자 권한의 기본 개념
기준 환경
- Ubuntu 24.04 LTS
- ROS 2 Jazzy Jalisco
- Python 3.12, NumPy
- C++17,
rclcpp,sensor_msgs - LeRobot 최신 안정 릴리스: CLI와 설정 필드는 릴리스에 따라 바뀔 수 있으므로 실행 전 공식 SO-101 문서를 확인한다.
- 선택: SO-101 Leader/Follower, 각 암의 전원 공급 장치와 USB 직렬 어댑터
- 선택: NVIDIA Isaac Sim과 SO-101 URDF/USD 자산
실물 실습 전 안전 원칙
위험: 텔레오퍼레이션 코드는 사람의 손동작을 즉시 모터 명령으로 바꾼다. 잘못된 관절 부호, 첫 프레임의 큰 점프, 통신 지연은 충돌과 끼임을 일으킬 수 있다.
실물 전원을 넣기 전에 다음을 확인한다.
- 암을 단단한 작업대에 고정하고 예상 작업 공간에서 사람, 케이블, 공구를 치운다.
- 모터와 전원 공급 장치의 정격 전압이 일치하는지 확인한다. 변형별 정격이 다를 수 있다.
- 하드웨어 전원 차단 수단을 조작자의 손이 닿는 곳에 둔다. 소프트웨어의
Ctrl+C는 비상 정지가 아니다. - 최초 시험은 토크 비활성 또는 저속·무부하 조건에서 수행한다.
- 관절별 소프트 리밋(software limit)을 실제 기계 한계보다 안쪽에 둔다.
- Leader와 Follower의 첫 자세가 크게 다르면 즉시 미러링하지 말고 제한된 속도로 정렬한다.
- 명령 스트림이 끊기면 현재 자세 유지 또는 토크 해제 중 장비에 맞는 안전 상태로 전이한다.