自定义类型
本文档列出 Lua API 中使用的位姿类型。与 SDK 自定义类型 不同,Lua API 中的位姿使用 Lua 表(table)表示。
提示
位姿类型
JointPose
关节位姿(弧度),用指定索引键的关联数组表示:
| 字段 | 类型 | 说明 |
|---|---|---|
| j1 | [float] | 关节 1 角度(rad) |
| j2 | [float] | 关节 2 角度(rad) |
| j3 | [float] | 关节 3 角度(rad) |
| j4 | [float] | 关节 4 角度(rad) |
| j5 | [float] | 关节 5 角度(rad) |
| j6 | [float] | 关节 6 角度(rad) |
{j1=0.024, j2=math.rad(-15), j3=math.pi, j4=math.pi/2, j5=math.rad(30), j6=0}
CartesianPose
笛卡尔位姿(位置单位 m,角度单位 rad),用数字顺序索引的数组表示,依次为 x、y、z、rz、ry、rx:
| 索引 | 字段 | 类型 | 说明 |
|---|---|---|---|
| 1 | x | [float] | X 坐标(m) |
| 2 | y | [float] | Y 坐标(m) |
| 3 | z | [float] | Z 坐标(m) |
| 4 | rz | [float] | 绕 Z 轴旋转角度(rad) |
| 5 | ry | [float] | 绕 Y 轴旋转角度(rad) |
| 6 | rx | [float] | 绕 X 轴旋转角度(rad) |
{0.2, 0, 0, math.pi/2, math.rad(30), 0.024}
Pose
位姿参数:关节位姿或笛卡尔位姿,即 [JointPose] | [CartesianPose]
KinResult
带解算结果的位姿,在 [JointPose] 或 [CartesianPose] 基础上附加 ok 字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| ok | [bool] | 解算是否成功,true:成功,false:失败 |
{j1=0, j2=1.57, j3=-1.57, j4=0, j5=3.14, j6=3.14, ok=true}
Wrench
力/力矩数据,用指定索引键的关联数组表示:
| 字段 | 类型 | 说明 |
|---|---|---|
| force_x | [float] | 沿 X 轴的力(N) |
| force_y | [float] | 沿 Y 轴的力(N) |
| force_z | [float] | 沿 Z 轴的力(N) |
| torque_x | [float] | 绕 X 轴的力矩(N·m) |
| torque_y | [float] | 绕 Y 轴的力矩(N·m) |
| torque_z | [float] | 绕 Z 轴的力矩(N·m) |
{force_x=0, force_y=0, force_z=0, torque_x=0, torque_y=0, torque_z=0}
对象类型
Serial
串口实例,由 serial.open 创建,提供如下方法:
| 方法 | 说明 |
|---|---|
| set_timeout | 设置超时时间 |
| set_baud_rate | 设置波特率 |
| set_parity | 设置奇偶校验位 |
| write | 发送数据 |
| read | 接收数据 |
Modbus
Modbus 从站实例,由 modbus.new_tcp、modbus.new_rtu 或 modbus.new_flange 创建,提供如下方法:
| 方法 | 说明 |
|---|---|
| set_slave | 设置从站 ID |
| disconnect | 断开连接 |
| set_timeout | 设置超时时间 |
| set_retry | 设置超时重传次数 |
| read_coils | 读取多个线圈 |
| read_discrete_inputs | 读取多个离散输入 |
| read_input_registers | 读取多个输入寄存器 |
| read_holding_registers | 读取多个保持寄存器 |
| write_single_coil | 写入单个线圈 |
| write_multiple_coils | 写入多个线圈 |
| write_single_register | 写入单个保持寄存器 |
| write_multiple_registers | 写入多个保持寄存器 |
