自定义类型

本文档列出 Lua API 中使用的位姿类型。与 SDK 自定义类型 不同,Lua API 中的位姿使用 Lua 表(table)表示。

提示

  • 关节位姿 JointPose 为指定索引键的关联数组(弧度)。
  • 笛卡尔位姿 CartesianPose 为数字顺序索引的数组:位置单位 m,角度单位 rad。
  • 可通过 sdk_poselua_pose 与 SDK 格式互转。
  • 详细说明见 位置和姿态

位姿类型

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:

索引字段类型说明
1x[float]X 坐标(m)
2y[float]Y 坐标(m)
3z[float]Z 坐标(m)
4rz[float]绕 Z 轴旋转角度(rad)
5ry[float]绕 Y 轴旋转角度(rad)
6rx[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_tcpmodbus.new_rtumodbus.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写入多个保持寄存器