TRON 2 · 使用与开发
上层 · 双足与双轮足控制
3.8 双足/双轮足协议接口定义
该机器人接口设计遵循与遥控器操控一致的流程和状态流转,确保调用顺序、响应时序及状态过渡与遥控器控制逻辑严格对齐。用户通过接口调用可获得如同使用遥控器的直观体验,同时支持遥控器与接口间的无缝切换,实现统一、稳定的机器人操控效果。

3.8.1 起立状态
3.8.1.1 请求:request_stand_mode
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_stand_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
}
}
3.8.1.2 响应:response_stand_mode
{
"accid": "SF_TRON2A_001",
"title": "response_stand_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
3.8.1.3 消息推送:notify_stand_mode
机器人站起过程失败或完成后,主动推送此消息。
{
"accid": "SF_TRON2A_001",
"title": "notify_stand_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.2 行走状态
3.8.2.1 请求:request_walk_mode
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_walk_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
}
}
3.8.2.2 响应:response_walk_mode
{
"accid": "SF_TRON2A_001",
"title": "response_walk_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
3.8.2.3 消息推送:notify_walk_mode
机器人站起过程失败或完成后,主动推送此消息。
{
"accid": "SF_TRON2A_001",
"title": "notify_walk_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.3 控制行走
3.8.3.1 请求:request_twist
请按 30Hz 及以上发送指令。
- 掌足模式下按如下规则:
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_twist",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"x": 0.0, // 前进后退速度比值,取值范围[-1, 1]
"y": 0.0, // 横向行走速度比值,取值范围[-1, 1]
"z": 0.0 // 旋转角速度比值,取值范围[-1, 1]
}
}
- 轮足模式下按如下规则:
{
"accid": "WF_TRON1A_075", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_twist",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"x": 0.0, // 前进后退速度(m/s),取值范围[-3.0, 3.0];同时注意,楼梯模式下发速度需要大于1.5,否则上不了楼梯
"y": 0.0, // 横向行走速度为0.0(m/s),轮足模式下不支持横向移动
"z": 0.0 // 旋转角速度(m/s),取值范围[-1.5, 1.5]
}
}
3.8.3.2 响应:无
3.8.3.3 消息推送:notify_twist
机器人行走失败时,主动推送此消息。
{
"accid": "SF_TRON2A_001",
"title": "notify_twist",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "fail_motor" // fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.4 调整机器身高
3.8.4.1 请求:request_base_height
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_base_height",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"direction": -1 // 1:表示升高,-1:表示降低
// 每次调用此请求会使机器人身高相应升高或降低 5cm
}
}
3.8.4.2 响应:response_base_height
{
"accid": "SF_TRON2A_001",
"title": "response_base_height",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_status: 则表示机器人当前状态不允许调整身高
}
}
3.8.4.3 消息推送:无
3.8.5 蹲下
3.8.5.1 请求:request_sitdown
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_sitdown",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {}
}
3.8.5.2 响应:response_sitdown
{
"accid": "SF_TRON2A_001",
"title": "response_sitdown",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.5.3 消息推送:notify_sitdown
机器人蹲下过程失败或完成后,主动推送此消息。
{
"accid": "SF_TRON2A_001",
"title": "notify_sitdown",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.6 开启楼梯模式(仅适用于双轮足形态)
3.8.6.1 请求:request_stair_mode
{
"accid": "WF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_stair_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"enable": true // true: 开启楼梯模式, false: 关闭楼梯模式
}
}
3.8.6.2 响应:response_stair_mode
{
"accid": "WF_TRON2A_001",
"title": "response_stair_mode",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.6.3 消息推送:无
3.8.7 紧急停止
3.8.7.1 请求:request_emgy_stop
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_emgy_stop",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {}
}
3.8.7.2 响应:response_emgy_stop
{
"accid": "SF_TRON2A_001",
"title": "response_emgy_stop",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU 错误, fail_motor: 电机错误
}
}
3.8.7.3 消息推送:无
3.8.8 开启 IMU 数据
3.8.8.1 请求:request_enable_imu
该功能用于开启 IMU 数据推送,开启后系统将主动推送 IMU 数据。
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_enable_imu",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"enable": true // true: 开启IMU, false: 禁用IMU
}
}
3.8.8.2 响应:response_enable_imu
{
"accid": "SF_TRON2A_001",
"title": "response_enable_imu",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功, fail_imu: IMU
}
}
3.8.8.3 消息推送:notify_imu
开启 IMU 数据后,系统将主动推送包含 IMU 状态的消息。
{
"accid": "SF_TRON2A_001",
"title": "notify_imu",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"euler": [0.0, 0.0, 0.0], // 欧拉角 [roll, pitch, yaw] in degrees
"acc": [0.0, 0.0, 0.0], // 加速度 [x, y, z] in m/s²
"gyro": [0.0, 0.0, 0.0], // 陀螺仪角速度 [x, y, z] in rad/s
"quat": [0.0, 0.0, 0.0, 0.0] // 四元数 [w, x, y, z]
}
}
3.8.9 摔倒恢复
3.8.9.1 请求:request_recover
当机器人摔倒后,可以调用此接口让机器人自动爬起来并恢复到行走模式。
{
"accid": "SF_TRON2A_001", // 机器人序列号,注意修为您机器人的序列号;
"title": "request_recover",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {}
}
3.8.9.2 响应:response_recover
{
"accid": "SF_TRON2A_001",
"title": "response_recover",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 成功收到指令,开始恢复爬起, fail_no_fallover: 当前没摔倒
}
}
3.8.9.3 消息推送:notify_recover
完成恢复爬起后,推送此消息。
{
"accid": "SF_TRON2A_001",
"title": "notify_recover",
"timestamp": 1672373633989,
"guid": "746d937cd8094f6a98c9577aaf213d98",
"data": {
"result": "success" // success: 摔倒恢复成功, fail_recover: 摔倒恢复失败
}
}
继续阅读双足/双轮足 · C++ / Python 示例