Zurück zu Booster K1 Path

Beförderungssteuerung

Beherrschen Sie die DAMP → PREP → WALK-Sequenz, Geschwindigkeitsbefehle, seitliche Bewegung, Rotation und sichere Abschaltung.

Einheit 2 von 5 · Bewegungssteuerung · ~ 3 Stunden

Die DAMP → PREP → WALK-Modus-Sequenz. Geschwindigkeitsbefehle, seitliche Bewegung, Schießrotation und die richtige Sicherheits-Shut-down-Sequenz. Dies ist Ihre erste echte Wanderung.

Auf der gesamten Einheit ist ein E-Stop-Spiegel erforderlich. Übergang niemals allein in den WALK-Modus.

Die Modussequenz zu verstehen

Die K1 muss in einer bestimmten Reihenfolge durch die Modi übergehen.

DAMP → Vorbereitung → Gehen

Und für den Abschalt, immer umgekehrt zurück:

WALK → PREP → DAMP

Schritt 1: Kontrollierter Übergang zur Vorbereitung

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

Schritt 2: Gehen Sie und senden Sie den Befehl zuerst

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)

Schritt 3: Seitliche Bewegung und Schmerz

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

Schritt 4: Sicheres Abschalten

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

Referenz für Geschwindigkeitsgrenzwerte

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

Beginnen Sie mit konservativen Werten (50% maximal) in Ihren ersten Sitzungen.

Einheit 2 ist fertig, wenn...

Sie haben den K1 erfolgreich vorwärts, rückwärts und seitlich gelaufen. Yaw-Rotation funktioniert. Sie haben mindestens zweimal die sichere Abschaltsequenz (WALK → PREP → DAMP) durchgeführt. Es gab keine ungeplanten Stürze.

[← Zurück zum Wegüberblick]