자주 묻는 질문(FAQ)
공통
SCS0009와 PWM 중 무엇을 선택해야 하나요? 위치 피드백, 정밀도, LeRobot/SO-ARM101 데이터 수집이 필요하면 SCS0009를; 독립 데모, 제스처 상호작용, 웹/데스크톱 빠른 시작은 PWM을 선택하세요. 자세한 내용은 버전 비교를 참고하세요.
두 서보를 동시에 연결할 수 있나요? 아니요. 전원, 프로토콜, 펌웨어가 모두 달라 동시에 한 세트만 연결합니다.
로봇 손을 바로 전원에 연결해도 되나요? 최초 전원 투입 전에 로봇 손을 중간 위치에 두고 중간 위치 기준으로 서보 혼을 장착하세요; 외부 전원과 드라이버 보드/ESP32는 반드시 공통 접지해야 합니다.
서보 모델을 교체할 수 있나요? SCS0009 버전은 버스 서보를 사용합니다; PWM 버전 펌웨어는 PTK 7452 MG-D(333 Hz 디지털 서보) 기준으로 캘리브레이션됩니다. SG90 등 50 Hz 아날로그 서보는 PWM 버전을 직접 대체할 수 없으며 LEDC_FREQ와 펄스 폭 캘리브레이션을 수정해야 합니다.
SCS0009 시리얼 버스 버전
동작 방향이 반대 → "홀수 ID가 먼저" 규칙으로 배선했는지 확인하세요; 왼손은 angle_offset_deg = -35.16을 확인하세요.
왼손 주먹 폭이 부족 / 서보에서 소리 남 → config.json 제한이 ±120°로 되어 있는지 확인하세요(기본 ±90이면 왼손 주먹이 잘립니다).
손가락이 움직이지 않음 / "모터 N개가 필요한데 M개 감지됨" 안내 → tools/scan_servos.py를 실행하세요; 왼손 ID가 가장 틀리기 쉽습니다(11–18, 9–16 아님).
중간 위치가 어긋남 → 중간 위치 값 -17.578125는 공식 raw 451/571에 대응합니다; 기계 조립에 맞춰 캘리브레이션하려면 config.json의 middle.positions를 수정하세요.
서보 ID는 어떻게 설정하나요? → SCS0009 디버깅 도구로 스캔하고 ID를 수정하세요; 오른손 1–8, 왼손 11–18.
Linux에서 시리얼 포트를 열 수 없음 → 현재 사용자를 dialout 그룹에 추가하고 다시 로그인하세요.
위치/온도/전압을 읽을 수 있나요? → 가능합니다. SCS0009는 위치, 속도, 전압, 온도 읽기를 지원합니다; 프로토콜 메모리 표는 scs_servo_protocol.md를 참고하세요.
PWM 서보 버전
연결 실패 / ESP32 무응답 → 115200 보드레이트, ESP32의 COM 포트, 5V/3A 전원과 공통 접지를 확인하세요; 시리얼 포트를 열면 리셋될 수 있으며 페이지가 자동으로 NOP를 재시도합니다.
서보가 움직이지 않거나 떨림 → 333 Hz 디지털 서보(PTK 7452 MG-D 또는 동급)인지, 전원이 충분한지 확인하세요; SG90은 펌웨어 수정이 필요합니다.
방향이 반대 → 웹 config.json의 pwm.calibration에서 해당 손가락 scale을 -1로 변경하세요.
중간 위치가 어긋남 → 해당 채널의 offset_deg를 조정하세요; 자세한 내용은 PWM 프로토콜, 명령과 캘리브레이션을 참고하세요.
"사용 중(제스처 실행 중)" 안내 → 펌웨어가 내장 제스처를 실행 중입니다, 완료를 기다리거나 정지(0xFF)를 전송하세요.
PWM 버전에 피드백이 있나요? → 위치/온도/전압 읽기가 없어 걸림이나 탈조를 감지할 수 없습니다.
PWM 서보에 보드레이트가 있나요? → 서보 자체에는 없습니다; 호스트 PC↔ESP32 시리얼은 115200 8N1로 고정됩니다.
일부 서보만 연결해 테스트할 수 있나요? → 가능합니다. 연결하지 않은 채널은 비워 두어도 다른 채널에 영향을 주지 않습니다; 빈 플러그 절연에 주의하세요.
카메라 화면은 나오는데 손이 따라오지 않음 / 반응이 둔함 → 조명을 균일하게 하고 손바닥을 렌즈에서 약 40–80 cm 거리로 정면을 향하게 하세요; 카메라를 점유한 다른 프로그램을 종료하고 시리얼 연결을 확인하세요. GUI 추적 파라미터는 PWM 손 추적을 참고하세요.
왼손/오른손 전환이 적용되지 않음 → 펌웨어는 0xF1로 왼손/오른손을 전환합니다(웹 연결 시 자동 전송); 이 설정은 주로 펌웨어 내장 제스처의 엄지 방향에 영향을 주며, 웹 포즈는 현재 제어 대상에 따라 각자의 매핑을 사용합니다.
추적 화면이 멈춤 / 로그가 멈춤 → 추적을 중지한 뒤 다시 시작하세요; 그래도 응답이 없으면 GUI를 닫았다 다시 열고 카메라를 다른 프로그램이 점유하지 않는지 확인하세요.
USB 포트를 바꾼 뒤 시리얼 포트를 찾지 못함 → 장치 관리자에서 새 COM 번호를 확인하고 GUI 또는 웹에서 "새로 고침"을 누른 뒤 다시 선택하세요.
웹 제어
모델 실패 / 카메라 추적 로딩 실패 → 페이지가 로컬 서버에서 제공되는지(file://로 직접 열지 않았는지), MediaPipe 리소스 경로에 접근 가능한지 확인하세요; 로컬 튜토리얼은 서버 MediaPipe 라우팅을 수정했습니다. 계속 실패하면 브라우저 Console/Network의 404 또는 권한 오류를 확인하세요.
카메라 인식이 부정확 → 조명을 균일하게 하고 손바닥을 정면으로; tracking.js의 SMOOTH(기본 0.35)가 클수록 부드럽지만 반응이 느립니다.
특정 손가락이 따라오지 않음 → 세 포즈를 다시 캡처하세요; 방향이 반대면 해당 포즈를 재캡처하세요; 엄지는 굴곡/신전만 하고 벌림에 참여하지 않습니다.
주먹을 절반쯤 쥘 때 특정 서보가 반전 → 벌림이 굽힘에 따라 0으로 감쇠해야 합니다(side *= (1 - curl)); 벌림 제어량의 부호와 크기가 비정상인지 확인하세요.
웹 드라이버는 어떻게 전환하나요? → 상단 "드라이버" 드롭다운에서 SCS0009 또는 PWM을 선택하세요; PWM은 115200 시리얼 포트를 선택해야 하며, 자세한 내용은 웹 제어 개요를 참고하세요.
데스크톱 제어 프로그램
SCS0009 GUI에 시리얼 포트가 나열되지 않음 → USB 어댑터를 다시 꽂거나, 드라이버를 설치하거나, GUI를 재시작하세요; Linux는 dialout을 확인하세요.
Connect 버튼이 회색으로 표시됨 → 이미 연결되어 있으므로 먼저 Disconnect를 클릭하세요.
시퀀스가 모든 손가락을 구동하지 않음 → 단계별 속도를 확인하고 각 포즈에 서보 값 8개가 모두 포함되는지 확인하세요.
차단 표시가 계속 존재 → 기계적 간섭을 확인하세요; 목표와 실제 위치 차이가 크고 움직임이 없으면 차단이 트리거됩니다.
PWM GUI 시작 시 mediapipe 누락 오류 → tools/tracking_env의 Python으로 시작하거나 tools/setup_tracking.bat를 다시 실행하세요.
손 추적
mediapipe solutions 하위 모듈 누락 → mediapipe==0.10.14를 설치하고 Python 3.12가 64비트인지 확인하세요.
dora 버전 비호환 → pyproject.toml과 로그에 맞춰 dora 버전을 정렬하세요; 정리 후 재설치하세요.
모델 로딩 실패(중국어 경로) → 프로젝트/모델을 모두 영문 경로에 두세요.
카메라 화면 없음 / 권한 → 시스템 카메라 권한을 허용하세요; 가상 머신은 USB 카메라 패스스루가 필요합니다.
SCS0009 공식 Demo와 PWM GUI 추적의 차이는? → SCS0009는 dora + MuJoCo IK 전체 체인을 사용합니다; PWM 버전은 GUI 내장 MediaPipe 경량 추적을 제공하며 dora Demo는 모듈에 없습니다. 자세한 내용은 SCS0009 손 추적 / PWM 손 추적을 참고하세요.

