SO-101 조립 가이드

이 문서는 HuggingFace LeRobot So-Arm 101 공식 가이드를 기반으로, RoboSEasy 스타일로 재구성한 한국어 조립 안내서입니다.

1. 개요

SO-101은 6축 오픈소스 로봇 팔로, 3D 프린팅 부품과 STS3215 서보 모터를 사용하여 직접 조립할 수 있습니다.

2. 준비 단계

2.1 부품 소싱 및 3D 프린팅

2.2 LeRobot 설치

  • 설치 가이드를 참고하여 LeRobot을 설치하세요.
  • Feetech SDK도 추가로 설치해야 합니다.

가상환경 활성화

cd lerobot

# 가상환경 활성화
source .venv/bin/activate

Feetech SDK 설치

pip install -e ".[feetech]"

3. 모터 설정

💡TIP : 반드시 조립 전, 모터 설정을 먼저해주세요. 조립 후 모터 설정을 하게 되면 모터 케이블을 다시 빼고 하나씩 모터 설정을 해야합니다.

3.1 USB 포트 찾기

Leader 보드와 Follower 보드를 자신의 PC와 USB 케이블로 연결한 후, 아래 명령어로 포트를 확인하세요.

ls /dev/ttyACM*
lerobot-find-port

Leader 보드와 연결된 USB 케이블을 PC에서 뽑고 Enter를 누릅니다. 그러면 아래와 같은 결과를 확인할 수 있습니다.

The port of this MotorsBus is '/dev/ttyACM0'
Reconnect the USB cable

해당 보드의 포트는 ‘/dev/ttyACM0’입니다.

이제 Follower 보드와 PC와 연결된 USB 케이블만 남겨두고 같은 명령어를 실행합니다.

lerobot-find-port

Follower 보드와 연결된 USB 케이블을 PC에서 뽑고 Enter를 누릅니다. 그러면 아래와 같은 결과를 확인할 수 있습니다.

The port of this MotorsBus is '/dev/ttyACM1'
Reconnect the USB cable

해당 보드의 포트는 ‘/dev/ttyACM1’입니다.

각 포트가 어떤 팔(Leader/Follower)에 해당하는지 구분하세요.

💡TIP : Ubuntu에서는 기본적으로 포트 사용 권한이 제한되어 있습니다. 따라서 사용자를 dialout 그룹에 추가 해 두면, 매번 포트 권한을 직접 설정하지 않아도 되어 훨씬 편리하게 사용할 수 있습니다.

dialout 그룹 권한 부여

sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1
sudo usermod -a -G dialout $USER

3.2 모터 ID 및 Baudrate 설정

각 모터는 고유 ID가 필요하며, 통신을 위해 동일한 Baudrate로 설정해야 합니다.

아래 명령어를 실행하고 터미널에서 보이는 가이드에 따라서 모터와 순서를 따르세요.

💡TIP : 미리 모터를 순서대로 배열하고 아래 명령어를 실행합니다. 아래 첨부한 이미지를 참고하여 순서를 잘지켜 진행하세요.

Leader Arm Joint 6 Leader Arm Joint 5 Leader Arm Joint 4
Leader Arm Joint 6 CalibrationLeader Arm Joint 5 CalibrationLeader Arm Joint 4 Calibration
Leader Arm Joint 3 Leader Arm Joint 2 Leader Arm Joint 1
Leader Arm Joint 3 CalibrationLeader Arm Joint 2 CalibrationLeader Arm Joint 1 Calibration

Follower Arm Joint 6 Follower Arm Joint 5 Follower Arm Joint 4
Follower Arm Joint 6 CalibrationFollower Arm Joint 5 CalibrationFollower Arm Joint 4 Calibration
Follower Arm Joint 3 Follower Arm Joint 2 Follower Arm Joint 1
Follower Arm Joint 3 CalibrationFollower Arm Joint 2 CalibrationFollower Arm Joint 1 Calibration

Leader 예시

lerobot-setup-motors \
    --teleop.type=so101_leader \
    --teleop.port=/dev/ttyACM0

Follower 예시

lerobot-setup-motors \
    --robot.type=so101_follower \
    --robot.port=/dev/ttyACM1

💡TIP : 각 모터를 하나씩 연결하여 ID와 Baudrate를 설정하세요. 케이블 연결 상태를 반드시 확인하세요.


4. 단계별 조립 가이드

아래는 각 관절(Joint)별 조립 방법과 참고 동영상입니다.

  1. 첫 번째 모터를 베이스에 넣고, M2x6mm 나사 4개(위 2개, 아래 2개)로 고정합니다.
  2. 모터 홀더를 끼우고, M2x6mm 나사 2개(양쪽 각 1개)로 고정합니다.
  3. 모터 혼 2개를 설치하고, 상단 혼은 M3x6mm 나사로 고정합니다.
  4. 숄더 부품을 부착하고, M3x6mm 나사 4개(위 4개, 아래 4개)로 고정합니다.
  5. 숄더 모터 홀더를 추가합니다.
  1. 두 번째 모터를 위에서 삽입합니다.
  2. M2x6mm 나사 4개로 고정합니다.
  3. 모터 혼 2개를 설치하고, M3x6mm 혼 나사로 고정합니다.
  4. 상완 부품을 M3x6mm 나사 4개씩 양쪽에 고정합니다.
  1. 세 번째 모터를 삽입하고, M2x6mm 나사 4개로 고정합니다.
  2. 모터 혼 2개를 설치하고, M3x6mm 혼 나사로 고정합니다.
  3. 전완 부품을 M3x6mm 나사 4개씩 양쪽에 고정합니다.
  1. 모터 홀더 4번을 끼웁니다.
  2. 네 번째 모터를 삽입합니다.
  3. M2x6mm 나사 4개로 고정하고, 모터 혼을 설치한 뒤 M3x6mm 혼 나사로 고정합니다.
  1. 다섯 번째 모터를 손목 홀더에 넣고, M2x6mm 전면 나사 2개로 고정합니다.
  2. 모터 혼 1개를 설치하고, M3x6mm 혼 나사로 고정합니다.
  3. 손목 부품을 M3x6mm 나사 4개씩 양쪽에 고정합니다.
  1. 그리퍼를 5번 모터에 부착하고, 손목의 모터 혼에 M3x6mm 나사 4개로 고정합니다.
  2. 그리퍼 모터를 삽입하고, M2x6mm 나사 2개씩 양쪽에 고정합니다.
  3. 모터 혼을 설치하고, M3x6mm 혼 나사로 고정합니다.
  4. 그리퍼 클로를 M3x6mm 나사 4개씩 양쪽에 고정합니다.

5. 조립 영상

조립 영상을 같이 보면서 진행해 보세요!

팔로워암 조립 영상

리더암 조립 영상


6. 참고 및 문제해결

조립 및 설정 중 문제가 발생하면, 전원/케이블 연결 상태를 반드시 점검하세요. Waveshare 보드를 사용할 경우 점퍼가 B 채널(USB)에 위치해야 합니다.

다음 단계

USB 포트 번호 고정 가이드

USB 꽂는 순서가 바뀔때마다 포트번호가 바뀌는 문제를 해결합니다.