跳到主要内容

速度控制

set_velocity_source()

Python
set_velocity_source(source: int) -> bool

设置速度命令来源。在调用 set_velocity() 之前必须先将来源设置为 2(Navigation),否则速度命令会被静默忽略。

来源说明
0Joystick手柄控制
1Handheld手持设备(APP)
2Navigation客户端控制

返回:成功返回 True,超时返回 False

示例

Python
client.set_velocity_source(2) # 切换到客户端控制

get_velocity_source()

Python
get_velocity_source() -> int

返回当前速度命令来源的数值。


get_velocity_source_name()

Python
get_velocity_source_name() -> str

返回当前速度命令来源的名称字符串,例如 "Navigation"


set_velocity()

Python
set_velocity(vx: float, vy: float, yaw: float, duration: float = 1.0)

向机器人发布速度命令。命令在 duration 秒内有效,超时后机器人将停止移动。

参数类型说明
vxfloatX 方向线速度(前进为正,m/s)
vyfloatY 方向线速度(左移为正,m/s)
yawfloatZ 轴角速度(左转为正,rad/s)
durationfloat命令有效时长(s),默认 1.0

示例

Python
client.set_velocity_source(2)
client.set_fsm_state(3) # 切换到 RL Locomotion
time.sleep(1.0)

client.set_velocity(0.5, 0.0, 0.0, 3.0) # 以 0.5 m/s 向前走 3 秒
time.sleep(3.0)

client.set_velocity(0.0, 0.0, 0.0, 1.0) # 停止