modules
모듈 추가
런처에서 로봇 / 센서 / 확장 모듈을 설치하고 제거하는 방법.
최근 확인 버전: v5.0.0
Easy Trainer의 로봇·센서 드라이버는 모듈 단위로 분리되어 있습니다. 필요한 것만 런처에서 골라 설치하면 운영자 UI에 바로 반영됩니다.
모듈은 세 카테고리로 분류됩니다.
- 로봇 — Piper, Dynamixel, Unitree, Jaka, Fairino, RBPodo, Kinova, Techman 등
- 센서 — Webcam (Logitech / APC), Intel RealSense 등
- 확장 기능 — VR Teleop, Test Arm, Isaac Lab Simulation, SAM 3 Segmentation 등
모듈 설치
-
런처의 floating bar에서 🧩 모듈 관리를 누릅니다.

-
모듈 관리 다이얼로그가 열립니다.
3개 카테고리가 컬럼으로 분리되어 있고 각 카테고리마다 검색창이 있습니다.

-
원하는 모듈의 설치 버튼을 누릅니다.
백그라운드에서 다운로드가 시작되고 버튼이 ⏳로 바뀝니다.

-
설치가 끝나면 버전이 초록색으로 표시되고 버튼이 제거로 바뀝니다.

-
모듈이 자격증명을 요구하면 자격증명 입력 다이얼로그가 뜹니다.
일부 확장 모듈(예: SAM 3 Segmentation은 HuggingFace 토큰이 필요)은
module.json의post_install.credentials항목에 따라 설치 직후 입력 다이얼로그를 띄웁니다. 다이얼로그에는 다음이 표시됩니다.- 토큰을 어디서 발급받는지 안내하는 버튼식 링크 (예: 라이선스 동의 페이지, 토큰 발급 페이지)
- 입력 필드 (비밀 정보면 마스킹 처리)
- 형식 검증 (예:
hf_로 시작 + 20자 이상) - 모듈이 허용한 경우 나중에 (모듈 비활성화) 버튼
입력값은 사용자 홈의 보호 위치(
$EASYTRAINER_DATA_DIR등)에 0600 권한으로 저장되고 다음 설치/재설치 때는 다시 묻지 않습니다. 나중에 를 누르면 모듈은 설치되지만 자격증명이 필요한 기능은 동작하지 않습니다.스크린샷 누락/docs/modules/16-module-credentials.png모듈 자격증명 입력 다이얼로그 — 안내 링크 + 시크릿 입력
유료 모듈 결제
일부 모듈은 단건 결제 후 영구 보유 형태입니다.
-
결제 ₩XX,XXX 버튼을 누르면 브라우저로 결제 페이지가 열립니다.

-
결제 진행 다이얼로그가 런처에 뜹니다.
브라우저 창이 열리지 않았다면 URL을 복사해 직접 여세요.

-
결제가 완료되면 자동으로 설치가 시작됩니다.
런처가 3초 간격으로 entitlement를 폴링해서 감지합니다. 10분 안에 결제하지 않으면 타임아웃됩니다.

로컬 모듈 만들기
마켓플레이스에 없는 자체 ROS 패키지 / vendor SDK를 EasyTrainer 모듈로 등록하려면 로컬 모듈 만들기 마법사를 사용합니다.
-
모듈 관리 다이얼로그 하단의 ➕ 로컬 모듈 만들기를 누릅니다.

-
마법사 첫 화면에서 모듈 기본 정보를 입력합니다.
- id — 영문 소문자 + 언더스코어 (예:
robot_myarm) - 이름 — UI에 표시될 이름
- 카테고리 — 로봇 / 센서 / 확장 중 선택
- 버전 — 처음에는
0.1.0정도

- id — 영문 소문자 + 언더스코어 (예:
-
variant — 로봇/센서별 사양과 ROS 패키지 또는 SDK 폴더를 지정합니다.
- ROS 패키지 폴더 또는 SDK 폴더 선택
- URDF 파일 선택 (IK가 필요한 로봇)
- joint 정보 — 이름, lower/upper bound, tool 여부
- IK 설정 — URDF 경로, joints_to_lock, EE definition

-
launch arguments, pre-launch scripts, post-launch services를 필요에 따라 추가합니다.

-
검증 버튼을 눌러 module.json schema와 SDK controller를 점검합니다.
- schema 검증 —
id,category,install,robots/sensors필드의 형식·필수값 확인 - controller.py 임포트 검증 (SDK 모듈만) — 클래스가
BaseSDKController를 상속하는지, 필수 메서드(connect,enable,write_joints,read_joints,disconnect)가 구현됐는지 확인
에러가 있으면 본문에 빨간 메시지로 표시됩니다. 모두 통과해야 다음 단계가 활성화됩니다.

- schema 검증 —
-
설치 버튼을 누르면 마법사가 모듈을 패키징하고 EasyTrainer에 설치합니다.
진행 로그가 실시간 표시됩니다.
[1/3] 패키징— module.json + ROS 패키지 + SDK 폴더를 작업 폴더에 복사해tar.gz생성[2/3] 프로젝트 트리에 설치— 마켓 모듈과 동일한 파이프라인으로/opt/easytrainer/project/에 배치[3/3] colcon build— ROS 패키지 빌드 (수 분~수십 분)- 의존성(apt/pip)은 컨테이너 안에서 자동 설치

-
설치 완료 메시지가 뜨면 마법사를 닫습니다. 모듈 관리 다이얼로그로 돌아오면 새 로컬 모듈이 목록에 등장합니다.

모듈 제거
-
제거 버튼을 누르면 즉시 제거됩니다 (확인 다이얼로그 없음).
해당 모듈을 사용하던 로봇/센서가 등록되어 있다면 운영자 UI에서 OFFLINE 상태로 빠집니다.
