01 机械臂基础接口
机械臂基础行为接口,包括状态查询、负载与坐标系设置、运动参数设置等。
其中函数主要分为三类:状态读取接口、参数设置接口(前缀set)、行为附加参数接口(前缀with)。其中行为附加参数接口被推荐使用链式或管道式的调用方式:
坐标系 Coord
坐标系使用 Coord 枚举表示,定义了运动指令的参考坐标系:
接口列表
state
获取机械臂当前状态。
set_load参数设置接口,设置末端执行器的负载状态。
set_coord参数设置接口,设置机械臂的坐标系。
with_coord行为附加参数接口,设置下一个运动指令的坐标系。
set_scale参数设置接口,设置机械臂的速度比。
参数 scale 的值通常在 0.0 到 1.0 之间,表示速度的百分比。
with_scale行为附加参数接口,设置下一个运动指令的速度比。
with_velocity行为附加参数接口,设置下一个运动指令的关节速度。单位:[rad/s]
with_acceleration行为附加参数接口,设置下一个运动指令的关节加速度。单位:[rad/s²]
with_jerk行为附加参数接口,设置下一个运动指令的关节加加速度。单位:[rad/s³]
with_cartesian_velocity行为附加参数接口,设置下一个运动指令的笛卡尔速度。单位:[m/s]
with_cartesian_acceleration行为附加参数接口,设置下一个运动指令的笛卡尔加速度。单位:[m/s²]
with_cartesian_jerk行为附加参数接口,设置下一个运动指令的笛卡尔加加速度。单位:[m/s³]
with_rotation_velocity行为附加参数接口,设置下一个运动指令的旋转速度。单位:[rad/s]
with_rotation_acceleration行为附加参数接口,设置下一个运动指令的旋转加速度。单位:[rad/s²]
with_rotation_jerk行为附加参数接口,设置下一个运动指令的旋转加加速度。单位:[rad/s³]
机械臂状态
ArmState 描述了机械臂当前的完整状态:
pub struct ArmState<const N: usize> {
pub joint: Option<[f64; N]>, // 关节位置 [rad]
pub joint_vel: Option<[f64; N]>, // 关节速度 [rad/s]
pub joint_acc: Option<[f64; N]>, // 关节加速度 [rad/s²]
pub torque: Option<[f64; N]>, // 关节力矩 [Nm]
pub pose_o_to_ee: Option<Pose>, // 基座到末端的位姿
pub pose_ee_to_k: Option<Pose>, // 末端到法兰的位姿
pub cartesian_vel: Option<[f64; 6]>, // 笛卡尔速度
pub load: Option<LoadState>, // 负载状态
}