Control de la locomoción
Dominar la secuencia DAMP → PREP → WALK, comandos de velocidad, movimiento lateral, rotación y apagado seguro.
Unidad 2 de 5 · Control de movimiento · ~ 3 horas
La secuencia de modo DAMP → PREP → WALK. Las órdenes de velocidad, movimiento lateral, rotación de jaula y la secuencia correcta de cierre seguro. Esta es su primera sesión de caminar real.
Comprender la secuencia de modos
El K1 debe pasar por los modos en una secuencia específica. saltar los pasos causa caídas.
DAMP → Preparación → Caminar
Y para el cierre, siempre vuelva al revés:
Caminar → Preparación → DAMP
Paso 1: Transición de preparación controlada
from booster_robotics_sdk import BoosterRobot, RobotMode
import time
robot = BoosterRobot(ip="192.168.10.102")
robot.connect()
# Start from DAMP (should already be in DAMP after Unit 1)
state = robot.get_state()
assert state.mode == RobotMode.DAMP, "Must start from DAMP"
print("Entering PREP — robot will stand up slowly")
robot.set_mode(RobotMode.PREP)
# Wait for PREP to stabilize — this is mandatory
print("Waiting 5 seconds for PREP stabilization...")
time.sleep(5)
state = robot.get_state()
print(f"Mode confirmed: {state.mode}")
print(f"IMU pitch (should be near 0): {state.imu_euler[1]:.2f} deg")
Paso 2: Ingrese WALK y envíe el primer comando de velocidad
from booster_robotics_sdk import LocomotionCommand
print("Entering WALK mode — spotter ready?")
robot.set_mode(RobotMode.WALK)
time.sleep(2) # Stabilize in WALK
# Walk forward at 0.2 m/s for 3 seconds
print("Walking forward...")
cmd = LocomotionCommand(vx=0.2, vy=0.0, vyaw=0.0)
robot.send_locomotion_command(cmd)
time.sleep(3)
# Stop
robot.send_locomotion_command(LocomotionCommand(vx=0, vy=0, vyaw=0))
time.sleep(1)
Paso 3: Movimiento lateral y lagar
# Step sideways (right)
cmd = LocomotionCommand(vx=0.0, vy=-0.2, vyaw=0.0)
robot.send_locomotion_command(cmd)
time.sleep(2)
robot.send_locomotion_command(LocomotionCommand(vx=0, vy=0, vyaw=0))
time.sleep(1)
# Rotate in place (yaw)
cmd = LocomotionCommand(vx=0.0, vy=0.0, vyaw=0.3)
robot.send_locomotion_command(cmd)
time.sleep(3)
robot.send_locomotion_command(LocomotionCommand(vx=0, vy=0, vyaw=0))
time.sleep(1)
Paso 4: secuencia de cierre segura
# Always return to PREP before DAMP
print("Shutting down — entering PREP...")
robot.set_mode(RobotMode.PREP)
time.sleep(3)
print("Entering DAMP...")
robot.set_mode(RobotMode.DAMP)
time.sleep(1)
robot.disconnect()
print("Done — robot is in DAMP (safe to handle)")
Referencia de los límites de velocidad
| Parameter | Min | Max | Unit |
|---|---|---|---|
| vx (forward/back) | -0.5 | 0.5 | m/s |
| vy (lateral) | -0.3 | 0.3 | m/s |
| vyaw (rotation) | -1.0 | 1.0 | rad/s |
Comience con valores conservadores (50% máximo) en sus primeras sesiones. El controlador de equilibrio del K1 maneja la estabilidad, pero los cambios repentinos de comando cerca de los límites pueden hacer que el robot tropiece.
Unidad 2 completa cuando...
Ha recorrido con éxito el K1 hacia adelante, hacia atrás y lateralmente. La rotación del Yaw funciona. Ha realizado la secuencia de cierre segura (WALK → PREP → DAMP) al menos dos veces. No se han producido caídas no planificadas. Registra sus notas de sesión antes de proceder a la Unidad 3.
[← Regreso a la visión general del camino]







