Booster K1 Pathに戻る

移動制御

動作列,速度コマンド,横向移動,回転,安全なシャットダウンをマスターする. ブースターK1で最初の実際の歩行セッション.

5つ目のユニット 2 移動制御 3時間

DAMP → PREP → WALKモードのシーケンス.スピードコマンド,横向移動,ヤウ回転,そして正しい安全シャットダウンシーケンス.これはあなたの最初の実際の歩行セッションです.

このユニット全体で電子ストップを搭載した検出器が必要です. ウォークモードに単独で移行することは決してありません. すべての歩行コマンドでロボットから少なくとも2m離れた場所に立ってください.

モード 順序 を 理解 する

K1 は特定の順序でモードを通過する必要があります. ステップを跳ねることは落ちる原因です. 常にこの順序を通過します.

準備 → 歩行

シャットダウンではいつも逆に戻る

ウォーキング → プレップ → ダンプ

ステップ1: 制御されたPREP移行

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

ステップ 2: WALK を入力して,最初にスピードコマンドを送信する

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)

3 ステップ: 横部移動と痛みが

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

ステップ 4: 安全のシャットダウンシーケンス

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

速度制限基準

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

最初のセッションでは保守的な値 (50% 最大) を開始します.K1のバランスコントローラは安定性を処理しますが,限界に近い突然のコマンド変更はロボットの転倒を引き起こす可能性があります.

ユニット2 完成する...

歩行順序は,K1を前後,横向に順調に歩いた. Yaw 回転が動作します.安全停止順序 (WALK → PREP → DAMP) を少なくとも2回実行しました.予定外の落下はありません.ユニット3に進む前にセッションメモを記録します.

[← 経路概要に戻る]