跳到主要内容

在 Python 工程中使用

Python SDK 通过统一的 Client 访问运动与电池接口。

最小工程

my_latentos_python_project/
├── config/
│ └── client.yaml
└── main.py

配置环境

export PYTHONPATH="/data/latentos/sdk_python/python/site-packages:/data/latentos/sdk_runtime/python/site-packages${PYTHONPATH:+:$PYTHONPATH}"
python3 -c 'from latentos_sdk import Client'

需要 Python 3.9 或以上。不需要现场 pip install

创建 Client

client_config_path 必须指向有效的 Echo client yaml。用完后调用 close()

from latentos_sdk import Client, CommandOptions

client = Client(client_config_path="config/client.yaml")
try:
result = client.switch_group("stand", "", CommandOptions(timeout_ms=1000))
result = client.switch_group("locomotion", "default", CommandOptions(timeout_ms=1000))
result = client.switch_current_policy("policy2", CommandOptions(timeout_ms=1000))
client.set_remote_velocity_control(False)
client.set_velocity_smoothing(False)
client.send_velocity(0.1, 0.0, 0.0)

client.subscribe_battery()
status = client.get_latest_battery()
if status is not None:
print(status.power_state)
finally:
client.close()

常用接口:

接口说明
switch_group(group, policy)切换运动 group
query_motion_control_state()查询当前/目标 group 与是否正在切换
switch_current_policy(policy)切换当前 group 的 policy
set_velocity_smoothing(enabled)开启或关闭速度平滑
set_remote_velocity_control(enabled)开启或关闭遥控速度控制
send_velocity(x, y, yaw)发送速度指令
subscribe_battery(callback=None)订阅电池;可传入回调
get_latest_battery()读取本地缓存的最新电池状态,包括 power_state

命令类接口返回 CommandResult。至少同时检查 okaccepted,不要只看 ok。字段含义见 C++ 工程集成

SDK 1.1 仍提供 latentos_high_level_sdk 作为 latentos_sdk 的兼容 re-export,供 1.0.x 项目迁移。新代码统一从 latentos_sdk 导入。