Software und SDK
Installieren und konfigurieren Sie das LinkerBot O6 SDK, den ROS2-Controller und die LeRobot-Integration. Gemeinsame Steuerung in Python. Arbeitsraumlimits und Drehmomentmanagement. ~ 2 Stunden.
Einheit 2 von 5 · Software & SDK · ~ 2 Stunden
Setzen Sie den vollständigen Software-Stack ein: LinkerBot SDK, ROS2-Controller, LeRobot-Integration und Joint Position Control in Python. Führen Sie eine scripted Multi-Joint-Trajektorie aus, bevor Sie zur Teleoperation wechseln.
Schritt 1: Python SDK und virtuelle Umgebung
# Create a dedicated venv for the O6
python3 -m venv ~/o6-env
source ~/o6-env/bin/activate
# Install the LinkerBot SDK and data dependencies
pip install roboticscenter lerobot numpy torch torchvision
# Verify the import works
python3 -c "from roboticscenter.o6 import O6Robot; print('SDK OK')"
Schritt 2: Einrichtung des ROS2-Controllers
Das LinkerBot ROS2-Paket stellt das O6 als Standard
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/roboticscenter/linkerbot_ros2.git
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/setup.bash
Starten Sie den Steuergerät mit dem Arm angeschlossen:
ros2 launch linkerbot_bringup o6_bringup.launch.py \
can_interface:=can0
In einem zweiten Terminal bestätigen die gemeinsamen staatlichen Themen:
source ~/ros2_ws/install/setup.bash
ros2 topic echo /joint_states --once
Schritt 3: Referenz der gemeinsamen Grenzen
| Joint | Min (rad) | Max (rad) | Max Vel (rad/s) |
|---|---|---|---|
| Joint 1 (base rotation) | -3.14 | +3.14 | 1.5 |
| Joint 2 (shoulder) | -2.09 | +2.09 | 1.5 |
| Joint 3 (elbow) | -2.62 | +2.62 | 1.5 |
| Joint 4 (forearm roll) | -3.14 | +3.14 | 2.0 |
| Joint 5 (wrist pitch) | -1.57 | +1.57 | 2.0 |
| Joint 6 (wrist roll) | -3.14 | +3.14 | 2.0 |
Schritt 4: Schreiben Sie eine Schriftbahn
Dies überprüft, dass alle 6 Gelenke auf Positionbefehle reagieren.
from roboticscenter.o6 import O6Robot
import time
robot = O6Robot(can_interface="can0")
robot.connect()
robot.enable_torque()
# Move to a pre-reach position
print("Moving to pre-reach...")
robot.move_joints(
positions=[0.0, -0.5, 1.0, 0.0, 0.5, 0.0], # radians
speed_fraction=0.2
)
time.sleep(3)
# Reach forward (extend joint 2 and 3)
print("Reaching forward...")
robot.move_joints(
positions=[0.0, -1.0, 1.5, 0.0, 0.5, 0.0],
speed_fraction=0.2
)
time.sleep(3)
# Return to home
print("Returning to home...")
robot.move_to_home(speed_fraction=0.2)
time.sleep(3)
robot.disable_torque()
robot.disconnect()
print("Trajectory complete")
Schritt 5: Integration des LeRobot SDK
Bestätigen Sie, dass LeRobot mit dem O6 mithilfe der bereitgestellten Roboterkonfiguration kommunizieren kann:
python3 -c "
from lerobot.common.robot_devices.robots.factory import make_robot
robot = make_robot('linker_bot_o6')
robot.connect()
obs = robot.capture_observation()
print('Observation keys:', list(obs.keys()))
robot.disconnect()
"
Sie sollten Tasten wie
Einheit 2 ist fertig, wenn...
Der ROS2-Controller startet ohne Fehler und
[← Zurück zu Wegübersicht]







