ZSL-1w SDK API 定义
1. HighLevel函数介绍
class HighLevel
该类包含控制 ZSL-1w 机器狗应用功能的方法,用户可以使用这些方法来进行上层控制和获取数据。
1.1 初始化
函数原型
1 | |
功能概述 与机器狗建立通信,默认 IP 为 "192.168.234.1",如更改机器人 IP,需要传入新 IP。
参数说明
| 参数名 | 类型 | 说明 | 选项 | 备注 |
|---|---|---|---|---|
| local_ip | string& | 用户主机 IP 地址 | 必选项 | - |
| local_port | int | 用户主机端口 | 必选项 | - |
| dog_ip | string& | 机器狗 IP 地址 | 可选项 | 默认"192.168.234.1" |
返回值 无
备注 通信建立失败时,终端输出失败日志
1.2 检查通讯状态
函数原型
1 | |
功能概述 检查机器人通讯状态
参数说明
无
返回值类型:bool
| 返回值 | 说明 |
|---|---|
| true | 连接正常 |
| false | 连接失败 |
备注 可做心跳检测
1.3 站起
函数原型
1 | |
功能概述 控制机器狗站立
参数说明
无
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 表示正常 |
| 其他 | 其他错误码同 ZSL-1 |
备注 移动中不可直接切入
1.4 趴下
函数原型
1 | |
功能概述 控制机器狗趴下
参数说明
无
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 表示正常 |
| 其他 | 其他错误码同 ZSL-1 |
备注 移动中不可直接切入
1.5 阻尼
函数原型
1 | |
功能概述 控制机器狗进入阻尼模式
参数说明
无
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 表示正常 |
| 其他 | 其他错误码同 ZSL-1 |
备注 紧急停止用
1.6 移动
函数原型
1 | |
功能概述 控制机器狗按速度运动
参数说明
| 参数名 | 类型 | 说明 | 选项 | 备注 |
|---|---|---|---|---|
| vx | float | 前向速度 m/s | 必选项 | 不进行移动时需传入0,范围(-3.7 ~ -0.05/0.05 ~ 3.7m/s") |
| vy | float | 侧向速度 m/s | 必选项 | 不进行移动时需传入0,范围(-1 ~ -0.1/0.1 ~ 1.0m/s) |
| yaw_rate | float | 绕 Z 轴角速度 rad/s | 必选项 | 不进行移动时需传入0,范围(-3 ~ -0.1/0.1 ~ 3.0 rad/s) |
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 表示正常 |
| 其他 | 其他错误码同 ZSL-1 |
备注 需在站立状态下调用
1.7 匍匐爬行
函数原型
1 | |
功能概述 控制机器狗低姿态爬行
参数说明
| 参数名 | 类型 | 说明 | 选项 | 备注 |
|---|---|---|---|---|
| vx | float | 前向速度 m/s | 必选项 | 不进行移动时需传入0,范围(-3 ~ -0.1/0.1 ~ 3.0m/s) |
| vy | float | 侧向速度 m/s | 必选项 | 不进行移动时需传入0,范围(-0.5 ~ -0.1/0.1 ~ 0.5m/s) |
| yaw_rate | float | 绕 Z 轴角速度 rad/s | 必选项 | 不进行移动时需传入0,范围(-1 ~ -0.1/0.1 ~ 1.0 rad/s) |
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 表示正常 |
| 其他 | 其他错误码同 ZSL-1 |
备注 与 move 类似,但使用爬行步态,高速移动中不可切入此状态。
1.8 退出匍匐
函数原型
1 | |
功能概述 退出爬行模式
参数说明
无
返回值 无
备注 无
1.9 姿态控制
函数原型
1 | |
功能概述 控制身体扭动和高度变化
参数说明
| 参数名 | 类型 | 说明 | 选项 | 备注 |
|---|---|---|---|---|
| roll_vel | float | 绕X轴角速度 | 必选项 | 不进行控制则传入0,范围(-0.5rad/s~0.5rad/s) |
| pitch_vel | float | 绕Y轴角速度 | 必选项 | 不进行控制则传入0,范围(-0.5rad/s~0.5rad/s) |
| yaw_vel | float | 绕Z轴角速度 | 必选项 | 不进行控制则传入0,范围(-0.5rad/s~0.5rad/s) |
| height_vel | float | 垂直高度速度 | 必选项 | 不进行控制则传入0,范围(-0.5m/s-0.5m/s) |
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 表示正常 |
备注 需在站立状态下调用
1.10 获取姿态/速度/位置
函数原型
1 | |
功能概述 获取姿态四元数
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [w, x, y, z] | 四元数 |
备注 无
函数原型
1 | |
功能概述 获取欧拉角
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [roll, pitch, yaw] | 欧拉角,单位 rad |
备注 无
函数原型
1 | |
功能概述 获取机体加速度
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [ax, ay, az] | 单位 m/s² |
备注 无
函数原型
1 | |
功能概述 获取机体角速度
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [gx, gy, gz] | 单位 rad/s |
备注 无
函数原型
1 | |
功能概述 获取机身位置
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [x, y, z] | 机身位置,单位 m |
备注 无
函数原型
1 | |
功能概述 获取世界坐标系下的机身速度
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [vx, vy, vz] | 机身线速度,单位 m/s |
备注 无
函数原型
1 | |
功能概述 获取机体坐标系下的机身速度
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [vx, vy, vz] | 机身线速度,单位 m/s |
备注 无
1.11 获取电池电量
函数原型
1 | |
功能概述 获取电池电量
参数说明
无
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0-100 | 电池电量百分比 |
备注 无
1.12 获取控制模式
函数原型
1 | |
功能概述 获取当前机器狗控制状态
参数说明
无
返回值类型:uint32_t
| 返回值 | 说明 |
|---|---|
| 0 | 阻尼模式 |
| 1 | 站立模式 |
| 3 | 移动模式 |
备注 无
1.13 关节信息获取
1.13.1 获取关节角度
函数原型
1 2 3 4 | |
功能概述 获取各关节角度值
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [FR, FL, RR, RL] | 各腿关节角度,单位 rad |
备注
- LegAbadJoint 对应髋关节 abduction/adduction 方向
- LegHipJoint 对应髋关节 hip 方向
- LegKneeJoint 对应膝关节
- LegFootJoint 对应足部关节
1.13.2 获取关节速度
函数原型
1 2 3 4 | |
功能概述 获取各关节速度值
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [FR, FL, RR, RL] | 各腿关节速度,单位 rad/s |
备注
- LegAbadJointVel 对应髋关节 abduction/adduction 方向
- LegHipJointVel 对应髋关节 hip 方向
- LegKneeJointVel 对应膝关节
- LegFootJointVel 对应足部关节
1.13.3 获取关节扭矩
函数原型
1 2 3 4 | |
功能概述 获取各关节扭矩值
参数说明
无
返回值类型:vector
| 返回值 | 说明 |
|---|---|
| [FR, FL, RR, RL] | 各腿关节扭矩,单位 N·m |
备注
- LegAbadJointTorque 对应髋关节 abduction/adduction 方向
- LegHipJointTorque 对应髋关节 hip 方向
- LegKneeJointTorque 对应膝关节
- LegFootJointTorque 对应足部关节