跳转到内容

AimDK 公共协议

本页面包含所有模块公用(common)的协议内容定义。

2D空间中的矩形框

FieldTypeDescription
x1float左上角x坐标
y1float左上角y坐标
x2float右下角x坐标
y2float右下角y坐标

控制源,由安全模块向MC设置,用于MC过滤不匹配的控制源输入

NameNumberDescription
ControlSource_AUTO0默认值,一般是自动算法发起
ControlSource_MANUAL1手动控制,从遥控模块发起
ControlSource_SAFE2安全模块,从安全模块发起
ControlSource_DISABLED255无效控制源,为MC的默认值

一般消息的header

FieldTypeDescription
sequint32sequence ID: consecutively increasing ID
timestampaimdk::protocol::Timestamptimestamp
frame_idstringFrame this data is associated with
control_sourceaimdk::protocol::ControlSource控制源(一般算法模块保持默认即可,无需设置)
uuidstring设备ID(用于鉴别AIMMASTER设备, 通常无需设置)

图像消息

FieldTypeDescription
headeraimdk::protocol::Header消息头
heightuint32图像高度
widthuint32图像宽度
encodingstring图像编码格式
stepuint32每行字节数
databytes图像数据

通用二进制IO数据包

FieldTypeDescription
timestampaimdk::protocol::Timestamp时间戳
io_databytes二进制数据

关节状态信息

FieldTypeDescription
namestring关节名称
sequenceuint32关节消息的序号
positiondouble关节角度,单位:弧度 or m
velocitydouble关节角速度,单位:弧度/秒 or m/s
effortdouble关节扭矩,单位:N or N*m

动捕关节状态信息

FieldTypeDescription
namestring关节名称
iduint32动捕tracker id
statusuint32动捕状态
err_codeuint32动捕错误码
positionaimdk::protocol::Vec3位置坐标
orientationaimdk::protocol::Quaternion方向四元数

里程计信息

FieldTypeDescription
timestampaimdk::protocol::Timestamp时间戳
child_frame_idstring子坐标系ID
poseaimdk::protocol::SE3PoseSE3位姿
twistaimdk::protocol::Twist速度信息

2D像素坐标

FieldTypeDescription
uint32像素横坐标
vint32像素纵坐标

2D像素位姿

FieldTypeDescription
positionaimdk::protocol::Pixel2D像素坐标
angledouble角度从u轴转向v轴的角度,单位:弧度

QR码位姿信息

FieldTypeDescription
qr_codeint32二维码值
poseaimdk::protocol::SE3Pose6D位姿

四元数

FieldTypeDescription
xdoubleX分量
ydoubleY分量
zdoubleZ分量
wdoubleW分量

RPC请求体的header

FieldTypeDescription
timestampaimdk::protocol::Timestamp时间戳
control_sourceaimdk::protocol::ControlSource控制源(一般算法模块保持默认即可,无需设置)
uuidstring设备ID(用于鉴别AIMMASTER设备, 通常无需设置)
trace_idstringRPC请求方ID
domainstring请求方来源域

RPC响应体的header

FieldTypeDescription
codeuint64处理结果 - 为0: 成功 - 非0: 失败
msgstring处理结果描述
timestampaimdk::protocol::Timestamp时间戳
trace_idstringRPC请求方ID
domainstring请求方来源域

关节参数配置

FieldTypeDescription
namestring关节名称
position_upper_limitdouble关节位置上限,单位:弧度或者米
position_lower_limitdouble关节位置下限,单位:弧度或者米
velocity_limitdouble关节速度限制,单位:弧度/秒或者米/秒
acceleration_limitdouble关节加速度限制,单位:弧度/秒^2或者米/秒^2
effort_limitdouble关节扭矩限制,单位:N或者N·m

RPY角度姿态表示

FieldTypeDescription
rxdouble绕固定轴X旋转角度,单位:rad
rydouble绕固定轴Y旋转角度,单位:rad
rzdouble绕固定轴Z旋转角度,单位:rad

标量轨迹点

FieldTypeDescription
time_since_referencedouble相对参考时间的时间,单位:秒
positionsdouble[]轨迹位置,单位:弧度或米
velocitiesdouble[]轨迹速度,单位:弧度/秒或米/秒
accelerationsdouble[]轨迹加速度,单位:弧度/秒^2或米/秒^2

标量轨迹

FieldTypeDescription
reference_timedouble所有轨迹点相对的参考时间
pointsaimdk::protocol::ScalarTrajectoryPoint[]轨迹点列表

SE2 加速度

FieldTypeDescription
linearaimdk::protocol::Vec2线加速度,单位:米/秒^2
angulardouble角加速度,单位:弧度/秒^2

SE2位姿

FieldTypeDescription
positionaimdk::protocol::Vec22D位置,单位:米
angledouble角度,单位:弧度

SE2 速度

FieldTypeDescription
linearaimdk::protocol::Vec2线速度,单位:米/秒
angulardouble角速度,单位:弧度/秒

SE3 加速度

FieldTypeDescription
linearaimdk::protocol::Vec3线加速度,单位:米/秒^2
angularaimdk::protocol::Vec3角加速度,单位:弧度/秒^2

SE3位姿(四元数姿态表示)

FieldTypeDescription
positionaimdk::protocol::Vec33D位置,单位:米
orientationaimdk::protocol::Quaternion四元数

SE3轨迹点

FieldTypeDescription
time_since_referencedouble相对参考时间的时间,单位:秒
poseaimdk::protocol::SE3PoseSE3位姿
velocityaimdk::protocol::SE3VelocitySE3速度
accelerationaimdk::protocol::SE3AccelerationSE3加速度

SE3轨迹

FieldTypeDescription
reference_timedouble所有轨迹点相对的参考时间,单位:秒
pointsaimdk::protocol::SE3TrajectoryPoint[]SE3轨迹点列表

SE3 速度

FieldTypeDescription
linearaimdk::protocol::Vec3线速度,单位:米/秒
angularaimdk::protocol::Vec3角速度,单位:弧度/秒

时间戳

FieldTypeDescription
secondsint64UTC时间秒数,自Unix epoch 1970-01-01T00:00:00Z开始。必须在0001-01-01T00:00:00Z到9999-12-31T23:59:59Z范围内。
nanosint32纳秒精度的非负秒数分数。即使秒数为负值,纳秒值也必须为非负且向前计时。必须在0到999,999,999范围内。
ms_since_epochint64前端使用的自epoch开始的毫秒数

速度

FieldTypeDescription
linearaimdk::protocol::Vec3线速度
angularaimdk::protocol::Vec3角速度

二维向量

FieldTypeDescription
xdoubleX分量
ydoubleY分量

三维向量

FieldTypeDescription
xdoubleX分量
ydoubleY分量
zdoubleZ分量

力矩

FieldTypeDescription
forceaimdk::protocol::Vec3力,单位:N
torqueaimdk::protocol::Vec3扭矩,单位:N*m

通用状态定义

NameNumberDescription
CommonState_UNKNOWN0未知
CommonState_SUCCESS1成功
CommonState_FAILURE2失败
CommonState_ABORTED3中止
CommonState_TIMEOUT4超时
CommonState_INVALID5无效
CommonState_IN_MANUAL6手动模式
CommonState_NOT_READY100未就绪
CommonState_PENDING200等待中
CommonState_CREATED300已创建
CommonState_RUNNING400运行中

通用请求类型

FieldTypeDescription
headeraimdk::protocol::RequestHeader请求头

通用响应类型

FieldTypeDescription
headeraimdk::protocol::ResponseHeader响应头
stateaimdk::protocol::CommonState状态

通用任务请求类型

FieldTypeDescription
headeraimdk::protocol::RequestHeader请求头
task_iduint64任务ID

通用任务响应类型

FieldTypeDescription
headeraimdk::protocol::ResponseHeader响应头
task_iduint64任务ID
stateaimdk::protocol::CommonState状态
FieldTypeDescription
namestring关节名称
position_upper_limitdouble关节位置上限,单位:弧度或者米
position_lower_limitdouble关节位置下限,单位:弧度或者米
velocity_limitdouble关节速度限制,单位:弧度/秒或者米/秒
acceleration_limitdouble关节加速度限制,单位:弧度/秒^2或者米/秒^2
effort_limitdouble关节扭矩限制,单位:N或者N·m

RPY角度姿态表示

FieldTypeDescription
rxdouble绕固定轴X旋转角度,单位:rad
rydouble绕固定轴Y旋转角度,单位:rad
rzdouble绕固定轴Z旋转角度,单位:rad

SE2 加速度

FieldTypeDescription
linearaimdk::protocol::Vec2线加速度,单位:米/秒^2
angularaimdk::protocol::Vec2角加速度,单位:弧度/秒^2

二维向量

FieldTypeDescription
xdouble
ydouble

给客户端推送视频流的图像数据格式

FieldTypeDescription
heightint32单帧高
widthint32单帧宽
timestampaimdk::protocol::Timestamp时间戳
image_databytes图片数据

SE3 速度

FieldTypeDescription
linearaimdk::protocol::Vec3线速度,单位:米/秒
angularaimdk::protocol::Vec3角速度,单位:弧度/秒

odometry

FieldTypeDescription
timestampaimdk::protocol::Timestamp
child_frame_idstring
poseaimdk::protocol::SE3Pose
twistaimdk::protocol::Twist

Scalar轨迹点

FieldTypeDescription
time_since_referencedoubletime since reference. Unit s.
positionsdouble[]The position of the trajectory. Unit rad or m.
velocitiesdouble[]The velocity of the trajectory. Unit rad/s or m/s.
accelerationsdouble[]The acceleration of the trajectory. Unit rad/s^2 or m/s^2.

Scalar轨迹

FieldTypeDescription
reference_timedoubleAll trajectories specify times relative to this reference time.
pointsaimdk::protocol::ScalarTrajectoryPoint[]The trajectory points.

A box in a 2D space.

FieldTypeDescription
x1float
y1float
x2float
y2float

一般消息的 header

FieldTypeDescription
sequint32sequence ID: consecutively increasing ID
timestampaimdk::protocol::Timestamptimestamp
frame_idstringFrame this data is associated with
control_sourceaimdk::protocol::ControlSource控制源(一般算法模块保持默认即可,无需设置)
uuidstring设备ID(用于鉴别AIMMASTER设备, 通常无需设置)

RPC 请求体的 header

FieldTypeDescription
timestampaimdk::protocol::Timestamptimestamp
control_sourceaimdk::protocol::ControlSource控制源(一般算法模块保持默认即可,无需设置)
uuidstring设备ID(用于鉴别AIMMASTER设备, 通常无需设置)
trace_idstringrpc请求方id
dominstring请求方来源域

RPC 响应体的 header

FieldTypeDescription
codeuint64处理结果 - 为0: 成功 - 非0: 失败
msgstring处理结果描述
timestampaimdk::protocol::Timestamp时间戳
trace_idstringrpc请求方id
dominstring请求方来源域

可阻塞的 RPC 请求体的 header

FieldTypeDescription
timestampaimdk::protocol::Timestamp时间戳
blockedbool是否阻塞调用(默认 false)
control_sourceaimdk::protocol::ControlSource控制源(一般算法模块保持默认即可,无需设置)
uuidstring设备ID(用于鉴别AIMMASTER设备, 通常无需设置)
trace_idstringrpc请求方id
dominstring请求方来源域
FieldTypeDescription
codeuint64处理结果 - 为0: 成功 - 非0: 失败
msgstring处理结果描述
timestampaimdk::protocol::Timestamp时间戳
iduint64请求关联的 rpc id,若设置了非阻塞模式,该字段可用于调用者向执行者定期查询 rpc 执行情况, 该值需由执行者维护并设置,默认为零无效。
trace_idstringrpc请求方id
dominstring请求方来源域

力矩

FieldTypeDescription
forceaimdk::protocol::Vec3force 单位:N
torqueaimdk::protocol::Vec3torque 单位:N*m

力矩,带时间戳

FieldTypeDescription
timestampaimdk::protocol::Timestamp
wrenchaimdk::protocol::Wrench

SE3位姿(四元数姿态表示)

FieldTypeDescription
positionaimdk::protocol::Vec33d 位姿,单位:米
orientationaimdk::protocol::Quaternion四元数

SE3位姿(RPY角度表示)

FieldTypeDescription
positionaimdk::protocol::Vec33d 位姿,单位:米
rpyaimdk::protocol::RpyRPY角度

SE3 加速度

FieldTypeDescription
linearaimdk::protocol::Vec3线加速度,单位:米/秒^2
angularaimdk::protocol::Vec3角加速度,单位:弧度/秒^2

状态定义

NameNumberDescription
CommonState_UNKNOWN0未知
CommonState_SUCCESS1成功
CommonState_FAILURE2失败
CommonState_ABORTED3中止
CommonState_TIMEOUT4超时
CommonState_INVALID5无效
CommonState_IN_MANUAL6手动
CommonState_NOT_READY100未就绪
CommonState_PENDING200等待中
CommonState_CREATED300已创建
CommonState_RUNNING400运行中

通用请求类型

FieldTypeDescription
headeraimdk::protocol::RequestHeader

通用返回类型

FieldTypeDescription
headeraimdk::protocol::ResponseHeader
stateaimdk::protocol::CommonState

通用Task请求类型

FieldTypeDescription
headeraimdk::protocol::RequestHeader
task_iduint64

通用Task返回类型

FieldTypeDescription
headeraimdk::protocol::ResponseHeader
task_iduint64
stateaimdk::protocol::CommonState

SE2 速度

FieldTypeDescription
linearaimdk::protocol::Vec2线速度,单位:米/秒
angularaimdk::protocol::Vec2角速度,单位:弧度/秒

通用二进制IO packet

FieldTypeDescription
timestampaimdk::protocol::Timestamp时间戳
io_databytes图片数据

通用二进制IO packet queue

FieldTypeDescription
timestampaimdk::protocol::Timestamp时间戳
data_queuebytes[]图片数据

三维向量

FieldTypeDescription
xdouble
ydouble
zdouble

时间戳

FieldTypeDescription
secondsint64Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
nanosint32Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
ms_since_epochint64miliseconds since epoch for counts using by frontend.

SE3轨迹点

FieldTypeDescription
time_since_referencedoubletime since reference. Unit s.
poseaimdk::protocol::SE3PoseThe se3 pose of the trajectory.
velocityaimdk::protocol::SE3VelocityThe se3 velocity of the trajectory.
accelerationaimdk::protocol::SE3AccelerationThe se3 acceleration of the trajectory.

SE3轨迹

FieldTypeDescription
reference_timedoubletime since reference. Unit s.
pointsaimdk::protocol::SE3TrajectoryPoint[]The se3 trajectory points.

QR位姿

FieldTypeDescription
qr_codeint32二维码值
poseaimdk::protocol::SE3Pose6D位姿

控制源,由安全模块向 MC 设置,用于 MC 过滤不匹配的控制源输入

NameNumberDescription
ControlSource_AUTO0默认值,一般是自动算法发起
ControlSource_MANUAL1手动控制,从遥控模块发起
ControlSource_SAFE2安全模块,从安全模块发起
ControlSource_DISABLED255无效控制源,为 MC 的默认值

SE2位姿

FieldTypeDescription
positionaimdk::protocol::Vec22d 位姿,单位:米
angledouble角度,单位:弧度

2d 像素坐标

FieldTypeDescription
uint32像素横坐标
vint32像素纵坐标

2d 像素位姿

坐标系示意

+--------> u

- (angle)
*
v
FieldTypeDescription
positionaimdk::protocol::Pixel2d 像素坐标
angledouble角度从u轴转向v轴的角度,单位:弧度

四元数

FieldTypeDescription
xdouble
ydouble
zdouble
wdouble

速度

FieldTypeDescription
linearaimdk::protocol::Vec3
angularaimdk::protocol::Vec3

速度 带时间戳

FieldTypeDescription
timestampaimdk::protocol::Timestamp
twistaimdk::protocol::Twist
FieldTypeDescription
namestring
iduint32动捕tracker id
statusuint32动捕状态
err_codeuint32动捕错误码
positionaimdk::protocol::Vec3
orientationaimdk::protocol::Quaternion