So-ARM 시리즈 STS3215 서보 캘리브레이션-웹 버전
데스크톱 버전 도구: SoARM 시리즈 서보 캘리브레이션 도구 사용 튜토리얼
So-ARM101 서보 캘리브레이션 도구의 웹 버전입니다. 전체 인터페이스가 브라우저에서 실행되며 Web Serial로 시리얼 포트에 직접 연결하므로 Python 설치가 필요 없습니다.
온라인 주소:
https://juxi-technology.github.io/SO-ARM101-ServoController/
⚠️ 본 도구는 Feetech(STS3215 시리즈) 서보만 지원합니다.
1. 사용 전 준비
- 브라우저: Chrome 또는 Edge 89+(Firefox / Safari는 Web Serial 미지원)
- HTTPS 또는 localhost에서 열어야 하며, GitHub Pages는 이미 충족합니다
- USB-시리얼 변환 어댑터 + Feetech STS3215 서보, 기본 1 M 보레이트(
1000000)
2. 로봇팔 연결
- 상단 바 왼쪽에서 「연결 보레이트」를 선택합니다. 기본값은
1000000입니다. 서보 보레이트가 변경된 적이 있다면 먼저 올바른 값을 선택한 후 연결하십시오. - 「리더 암」 또는 「팔로워 암」의 「시리얼 연결」을 클릭하고 브라우저 팝업에서 해당 COM 포트를 선택합니다.
- 연결에 성공하면 자동으로 서보를 스캔합니다(ID 1–6).
두 암은 각각 연결하고 독립적으로 조작할 수 있습니다. 서보가 스캔되지 않으면 먼저 연결 보레이트가 서보와 일치하는지 확인하고, 다음으로 시리얼 포트가 다른 프로그램에 점유되어 있지 않은지 확인하십시오.
3. 데모 모드(하드웨어 없음)
상단 바의 「데모 모드(하드웨어 없음)」를 체크한 후 연결하면 시뮬레이션된 6개 서보 데이터가 사용되어 전체 인터페이스를 둘러볼 수 있습니다.
데모 모드의 데이터는 시뮬레이션이며 실제 하드웨어를 조작하지 않습니다.
4. 세 가지 기능 페이지
🦾 서보 캘리브레이션
각 서보의 위치, 전압, 온도, 토크 상태를 실시간으로 표시하며, 개별 서보의 「중앙값 캘리브레이션」「중앙값 테스트」「모터 토크 해제」「리밋 초기화」 작업과 전체 암 캘리브레이션 진입점을 제공합니다.
🎚️ 단일 서보 제어
서보마다 한 행: ID / Pos / 슬라이더 / L(목표).
- Pos와 슬라이더 양방향 바인딩: 슬라이더를 드래그하면 Pos가 따라가고, 놓으면 명령을 전송합니다. Pos에 숫자를 입력하면 즉시 전송됩니다.
🔬 FT 디버거
시리얼 연결, 서보 스캔, 전체 레지스터 읽기, 개별 레지스터 읽기·쓰기, 위치 제어, 보레이트 변경, 공장 초기화, xdat 파라미터 백업과 복원.
5. 전체 캘리브레이션 절차(권장)
- 「서보 캘리브레이션」 페이지에서 「리더 암 중앙값 캘리브레이션」을 클릭해 마법사를 엽니다.
- 「중앙값 기록 시작」(버튼이 주황색으로 변함)을 클릭 → 로봇팔을 표준 중앙값 자세로 맞춤 → 「중앙값 기록 완료」를 클릭합니다.
- 「가동 범위 기록」(버튼이 녹색으로 변함)을 클릭 → 각 관절을 끝에서 끝까지 회전(그리퍼도 회전) → 다시 클릭해 정지합니다.
- 6개 관절이 완료되면 캘리브레이션 파일이 자동 저장됩니다. 팔로워 암에 대해서도 한 번 더 반복합니다.
- 두 암의 캘리브레이션이 모두 끝나면 상단 바의 「🎮 원격 제어」를 클릭해 리더 암으로 팔로워 암을 구동할 수 있습니다.
6. 캘리브레이션 파일 위치
브라우저는 파일을 「다운로드」 폴더에만 저장할 수 있습니다. 저장 후 마법사에 대상 경로가 표시되므로 직접 이동하십시오:
| 부위 | 대상 경로 |
|---|---|
| 리더 암 | ~/.cache/huggingface/lerobot/calibration/teleoperators/so_leader/my_leader_arm.json |
| 팔로워 암 | ~/.cache/huggingface/lerobot/calibration/robots/so_follower/my_follower_arm.json |
Windows에서 ~는 %USERPROFILE%이며, 전체 경로는 %USERPROFILE%.cache\huggingface\lerobot\calibration... 형태입니다.
7. 원격 제어
두 암을 모두 캘리브레이션하고 연결한 후 상단 바의 「🎮 원격 제어」를 클릭하면 리더 암의 각도로 팔로워 암을 구동합니다. 「⏹ 원격 제어 중지」를 다시 클릭하면 종료됩니다.
원격 제어 전에 두 암 주변의 안전을 확인하십시오. 토크가 켜지면 서보를 손으로 움직일 수 없습니다. 원격 제어에는 연결된 시리얼 포트 두 개가 필요합니다.
8. FT 디버거 상세
레지스터 읽기와 쓰기
- 「전체 파라미터 읽기」를 클릭하면 선택한 서보의 모든 레지스터를 읽어 파라미터 테이블에 채웁니다.
- 파라미터 테이블의 행을 클릭하면 상단의 주소와 길이가 채워지므로, 「값」을 입력하고 「쓰기」를 클릭합니다.
- 회색 행(DEFAULT 영역)은 읽기·쓰기 불가로, 읽기 전용 영역에 잘못 쓰는 것을 방지합니다.
위치 제어
서보를 선택한 후 슬라이더나 숫자로 목표 위치를 설정하고 「이동」을 클릭해 실행합니다. 토크가 꺼져 있으면 먼저 켤지 묻습니다.
보레이트 변경
새 보레이트를 선택한 후 「적용」을 클릭합니다. 쓰기 후 연결이 끊기고 새 보레이트로 다시 연결을 시도하며, 실패하면 로그에 원인이 표시됩니다.
공장 초기화
ID를 1로, 보레이트를 1M로 되돌리며, 되돌릴 수 없습니다. 실행 전에 2차 확인이 필요합니다.
xdat 파라미터 백업과 복원
| 버튼 | 기능 |
|---|---|
| 💾 현재 서보를 xdat로 저장 | 모든 파라미터를 읽어 .xdat 파일로 다운로드 |
| 📂 xdat 열기 | 로컬 .xdat 파일 불러오기 |
| 📤 서보에 파라미터 복원 | xdat 파라미터를 현재 서보 EEPROM에 쓰기 |
복원은 ID, 보레이트, 리밋 등의 설정을 덮어씁니다. 실행 전에 선택한 서보가 올바른지 확인하십시오. EEPROM은 쓰기 수명이 있으므로 자주 쓰지 마십시오.
9. 주의 사항
- 페이지는 항상 앞에 표시해야 합니다: 브라우저가 백그라운드 탭을 스로틀링하므로 원격 제어와 실시간 갱신이 느려지거나 멈출 수 있습니다.
- 두 암의 동일 관절 가동 범위를 동일하게 스캔해야 합니다. 그렇지 않으면 원격 제어 시 동작 폭이 맞지 않습니다.
- 그리퍼는 연속 회전 관절이 아니지만 가동 범위를 스캔해야 합니다. 그렇지 않으면 범위가 기본값 0–4095로 설정됩니다.
- FT 디버거에서 회색 행(DEFAULT 영역)은 읽기·쓰기 불가입니다. EEPROM은 쓰기 수명이 있으므로 자주 쓰지 마십시오.
- 원격 제어 전에 두 암 주변의 안전을 확인하십시오. 토크가 켜지면 서보를 손으로 움직일 수 없습니다.
- 동시에 하나의 프로그램만 시리얼 포트를 점유할 수 있습니다. 본 페이지를 사용할 때는 데스크톱 버전 등 상위 프로그램을 종료하십시오.
10. 자주 묻는 질문
Q1: 연결되지 않음 / 서보가 스캔되지 않음. 먼저 연결 보레이트가 서보와 일치하는지 확인하고, 다음으로 시리얼 포트가 다른 프로그램에 점유되어 있지 않은지 확인하십시오.
Q2: Pos가 갱신되지 않습니다. 서보가 온라인인지 확인하십시오. 「시리얼 연결」을 다시 클릭하거나 페이지를 새로 고치십시오.
Q3: 쓰기에 실패합니다. 로그에서 구체적인 원인을 확인하십시오. 주소와 길이가 파라미터 테이블의 행에서 가져온 것인지 확인하십시오.
Q4: 현재 브라우저가 Web Serial을 지원하지 않는다고 표시됩니다. Chrome / Edge 89+를 사용하고 HTTPS 또는 localhost에서 여십시오.
Q5: 캘리브레이션 파일을 저장했는데 LeRobot이 찾지 못합니다. 브라우저는 「다운로드」 폴더에만 다운로드하므로 6장에 나열된 경로로 직접 이동해야 합니다.

