LinkerBot O6 Path(으)로 돌아가기

하드웨어 설정

LinkerBot O6를 설치하고 케이블로 연결해 SocketCAN를 구성하고 합동 상태 판독을 확인합니다.

5중 1단체 · 하드웨어 설치 · ~1.5시간

팔을 설치하고 전력 및 CAN 버스를 연결하고 Linux에서 SocketCAN를 구성하고 실시간 공동 상태 판독을 확인합니다.

가동 하기 전 에 팔 을 붙여 놓아야 합니다. O6 는 가동 하기 전 에 가동판 에 고정되거나, 관절 움직임을 하기 전 에 작업판 에 붙여 놓아야 합니다. 관절 움직임을 당할 때 안전 하지 않은 팔 은 기울어진다.

단계 1: 기계적 인 설치

  1. 4×M6 볼트를 사용하여 오6 기지를 설치판에 붙여넣어 8 N·m의 동력을 사용한다.
  2. 마운팅 표면이 안정적이고 휘어지지 않는지 확인합니다. 흔들리는 마운팅은 관절 피드백 데이터에 진동 유물을 일으킵니다.
  3. 팔을 배송/집 위치로 접어 놓습니다. 모든 관절은 0°로. 전원을 시작하기 전에 수동으로 이렇게하십시오.

단계 2: 전력 연결

  1. 공급된 전원을 팔의 DC 입력 자크 (24 V, 15 A) 에 연결한다.
  2. 아직 전원을 완료 CAN 버스 전선을 먼저 켜지 마십시오.

단계 3: CAN 버스 와이어링

컴퓨터와 팔의 CAN 포트 사이에 USB-to-CAN 어댑터를 연결하십시오. 팔의 연결기는 표준 DE-9 (DB9) CAN 연결기입니다.

O6의 CAN 버스 설정 절차는 OpenArm와 동일합니다. 1 당신은 이미 OpenArm에 대한 SocketCAN를 구성했다면, 단계 4에 건너뛰고 T4이 올바르게 표시되는 것을 확인합니다.

단계 4: SocketCAN을 구성

팔에 전원을 공급하고, 다음으로 리눅스 머신에서 CAN 인터페이스를 구성합니다.

# Load kernel modules (required once per boot, or add to /etc/modules)
sudo modprobe can
sudo modprobe can_raw
sudo modprobe slcan

# Find the USB-CAN adapter device (usually /dev/ttyUSB0 or /dev/ttyACM0)
ls /dev/ttyUSB* /dev/ttyACM*

# Bring up the CAN interface at 1 Mbit/s
sudo slcand -o -c -s8 /dev/ttyUSB0 can0
sudo ip link set up can0

# Verify the interface is up
ip link show can0

T5 같은 출력을 보실 수 있습니다. 인터페이스가 작동하지 않은 경우, 팔이 켜져 있는지 확인하고 USB 어댑터가 인식되어 있는지 확인하십시오.

부팅에서 CAN 자동 시작을 설정 (선택)

# Create a systemd service
sudo tee /etc/systemd/system/can0.service <<'EOF'
[Unit]
Description=CAN bus interface can0
After=network.target

[Service]
ExecStartPre=/sbin/modprobe can
ExecStartPre=/sbin/modprobe can_raw
ExecStartPre=/sbin/modprobe slcan
ExecStart=/usr/bin/slcand -o -c -s8 /dev/ttyUSB0 can0
ExecStartPost=/usr/sbin/ip link set up can0
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable can0
sudo systemctl start can0

단계 5: 공동 국가 독서를 확인

LinkerBot SDK를 설치하고 공동의 텔레메트리가 스트리밍되고 있는지 확인합니다.

pip install roboticscenter

python3 - <<'EOF'
from roboticscenter.o6 import O6Robot

robot = O6Robot(can_interface="can0")
robot.connect()

state = robot.get_state()
print("Joint positions (rad):", state.joint_positions)
print("Joint velocities (rad/s):", state.joint_velocities)
print("Joint torques (Nm):", state.joint_torques)

robot.disconnect()
EOF

예상 출력: 각 필드마다 6개의 부동소수점 값이 있는데, 팔이 본 위치에서 있는 경우 모두 0.0에 가깝다. 모든 0을 볼 경우 변경 없이, CAN 가이브링을 확인하세요. T6을 얻으면 T7을 실행하고 인터페이스는 T8이 확인하세요.

6단계: 가정 위치 로 이동

액추에이터 응답을 확인하기 위해 느린 속도로 모든 관절을 제로 (홈) 위치로 이동하도록 명령을 보내십시오.

from roboticscenter.o6 import O6Robot
import time

robot = O6Robot(can_interface="can0")
robot.connect()

print("Moving to home position at 20% speed...")
robot.move_to_home(speed_fraction=0.2)
time.sleep(5)

state = robot.get_state()
print("Final joint positions:", state.joint_positions)
# All values should be near 0.0

robot.disable_torque()
robot.disconnect()
print("Done — joints are gravity-compensated")

1단체 완료...

O6는 장착되어 작동한다. T9는 인터페이스를 UP로 보고한다. 합동 상태 읽기 6 개의 0이 아닌 위치를 반환한다. 팔은 홈 위치 명령에 응답하고 관절이 움직임을 확인한다. CAN 인터페이스는 재부팅을 생존한다 (선택하지만 권장).

[← 경로 개요로 돌아가]