Volver a LinkerBot O6 Path

Configuración de hardware

Montar, alimentar y cablear el LinkerBot O6. Configurar SocketCAN y verificar la lectura de estado conjunto.

Unidad 1 de 5 · Instalación de hardware · ~ 1,5 horas

Montar el brazo, conectar energía y bus CAN, configurar SocketCAN en Linux, y verificar una lectura de estado en vivo conjunto. Al final tendrás una conexión de hardware de trabajo confirmada.

Coloque el brazo antes de encenderlo. El O6 debe estar sujetado a una placa de montaje o sujetado a un banco de trabajo antes de cualquier movimiento de articulación.

Paso 1: Montaje mecánico

  1. Aplique la base de O6 a su placa de montaje utilizando los pernos 4× M6 proporcionados.
  2. Confirmar que la superficie de montaje es estable y no se flexiona.
  3. Ponga el brazo en su posición de envío/casa: todas las articulaciones en 0°.

Paso 2: Conexión de energía

  1. Conecte la fuente de alimentación suministrada al conector de entrada de DC del brazo (24 V, 15 A).
  2. No encienda todavía el cableado completo de bus CAN primero.

Paso 3: Cable de autobús CAN

Conecte el adaptador USB-CAN entre su computadora y el puerto CAN del brazo.

El procedimiento de configuración del bus CAN para el O6 es idéntico al de OpenArm 1. Si ya ha configurado SocketCAN para OpenArm, salte al paso 4 y verifique que T4 se sube correctamente.

Paso 4: Configurar SocketCAN

Encienda el brazo y luego configure la interfaz CAN en su máquina Linux:

# 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

Debe ver la salida como T5. Si la interfaz no está activada, compruebe si el brazo está encendido y el adaptador USB está reconocido.

Hacer que CAN se inicie automáticamente en el arranque (opcional)

# 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

Paso 5: Verificar la lectura del estado común

Instale el SDK LinkerBot y confirme que la telemetría conjunta está en streaming:

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

Resultados esperados: seis valores de puntos flotantes por campo, todos cerca de 0.0 si el brazo está en su posición de inicio. Si ve todos los ceros sin cambios, compruebe el cableado CAN. Si obtiene un T6, ejecute T7 y confirme que la interfaz es T8.

Paso 6: Mueve a la posición de la casa

Envía un comando para mover todas las articulaciones a la posición cero (a domicilio) a velocidad lenta para confirmar la respuesta del actuador:

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")

Unidad 1 completa cuando...

El O6 está montado y alimentado. T9 informa la interfaz como UP. La lectura de estado conjunto devuelve seis posiciones no cero. El brazo responde al comando de posición inicial y las articulaciones se confirman en movimiento.

[← Volver a la visión general del camino]