跳到主要内容

运行示例

示例代码在 latentos_sdk_example 仓库中。先完成 安装连接配置,再在仓库根目录操作。

后文用 $CLIENT 表示:

cd /path/to/latentos_sdk_example
CLIENT="$PWD/config/echo/mode/client.yaml"

核心示例

示例功能
get_battery / subscribe_battery获取或订阅电量、电压、电流及充放电状态
switch_group切换运动 group
query_motion_state查询当前运动控制状态(current/target group)
switch_policy在当前 group 内切换 policy
send_velocity发送 SE2 速度
camera_*查询相机能力、热控件、开/停推流与流参数(C++)

前五项 Python 与 C++ 同名示例的参数一致(--client-config 可选)。只读数据都成对提供 get_*(一次性)与 subscribe_*(持续)。相机示例目前仅有 C++。

Python

在仓库根目录执行,无需编译。需要 Python 3.9+,并已设置 PYTHONPATH

python3 -c 'from latentos_sdk import Client'

C++

cd /path/to/latentos_sdk_example
export CMAKE_PREFIX_PATH="/data/latentos/sdk_cpp:/data/latentos/sdk_runtime:/data/latentos/sdk_runtime/third_party"
cmake -S examples/cpp -B build/examples
cmake --build build/examples -j

每个示例按模块组织(motion/ telemetry/ low_level/ power/ camera/ nav/)。CMake 会对每个模块 find_package(... QUIET),只编译已安装模块的示例,缺失的模块打印 skipping ... examples 并跳过,不报错。

核心示例编译后位于:

build/examples/get_battery
build/examples/subscribe_battery
build/examples/send_velocity
build/examples/switch_group
build/examples/query_motion_state
build/examples/switch_policy

其他 C++ 模块

第一版不单独展开这些示例,只列出模块对照。危险操作请先在仿真或吊架下试验,不要直接在真机上开环跑。

模块示例说明
telemetryget_imusubscribe_imuget_gnsssubscribe_gnssIMU / GNSS
low_levelget_joint_statesubscribe_joint_statesend_joint_command关节状态;send_joint_command 是开环 MIT 命令,可能让机器摔倒
powerget_power_* / subscribe_power_*power_controlPMU 只读与控制;power_control 会开关电源/灯/风扇
cameracamera_capabilitiescamera_set_controlcamera_set_streamcamera_set_stream_params相机控制
navadvertise_pointcloud上报点云流地址

典型上电后发速度:

passive → stand → locomotion default → send_velocity