跳转到内容

机械臂相关接口

ArmFactory 类提供了如下方法用于创建机械臂实例。

  1. 根据机械臂的厂商和名称,创建机械臂实例

    • 方法原型:

      create_arm(vendor_type: str, name: str, params: dict[str, str]) -> ArmInterface
    • 参数说明:

      参数名称说明

      vendor_type

      机械臂厂商。

      name

      机械臂名称,如 "left_arm""right_arm"

      params

      机械臂其他参数,如 IP 地址、端口等。

      {
      'ip':'192.168.1.10', # TCP IP 地址
      'port':'5000', # TCP 端口号
      'udp_ip':'192.168.1.100', # UDP IP 地址
      'udp_port':'6000', # UDP 端口号
      'udp_cycle':'20', # UDP 周期,以 udp_cycle*5 毫秒为周期
      }
    • 返回值:

      若创建成功,则返回 ArmInterface 实例;否则返回 None

  2. 根据 ArmFactoryParam 对象,创建机械臂实例

    • 方法原型:

      create_arm(param: ArmFactoryParam) -> ArmInterface
    • 参数说明:

      参数名称说明
      param机械臂相关参数,具体参见 ArmFactoryParam
    • 返回值:

      若创建成功,则返回 ArmInterface 实例;否则返回 None

  3. 根据配置文件,创建机械臂实例

    • 方法原型:

      create_arm_from_config(config_path: str) -> ArmInterface
    • 参数说明:

      参数名称说明

      config_path

      配置文件路径。配置文件为 JSON 文件,包含以下键值对。

      {
      "arm_type":"xxxx", # 机械臂厂商
      "arm_name":"left_arm", # 机械臂名称
      "ip": "192.168.1.18", # TCP IP 地址
      "port": "8080", # TCP 端口号
      "udp_ip": "192.168.1.102", # UDP IP 地址
      "udp_port": "8089", # UDP 端口号
      "udp_cycle": "1", # UDP 周期,以 udp_cycle*5 毫秒为周期
      "enable_gripper": "false" # 是否启用夹爪
      }
    • 返回值:

      若创建成功,则返回 ArmInterface 实例;否则返回 None

ArmFactoryParam 类用于描述创建机械臂时所需的参数,可以通过空构造或传入字典初始化。

对于 ArmFactoryParam 类,以下属性均可读写。

属性(可读写)数据类型说明
arm_typestr机械臂厂商。
arm_namestr机械臂名称,例如 "left_arm"
ipstrTCP IP 地址。
udp_ipstrUDP IP 地址。
portintTCP 端口号。
udp_portintUDP 端口号。
udp_cycleintUDP 周期,以 udp_cycle * 5 毫秒为周期。
  • 方法原型:

    __init__(self, arg0: dict[str, str]) -> None
  • 参数说明:

    参数名称说明
    arg0

    包含创建机械臂时所有必要参数的字典,必须包含以下示例中的键。
    若必需键缺失或格式错误,构造函数会抛出 RuntimeError 错误。

    {
    'arm_type':'xxx', # 机械臂厂商
    'arm_name':'left_arm', # 机械臂名称
    'ip':'192.168.1.10', # TCP IP 地址
    'port':'5000', # TCP 端口号
    'udp_ip': '192.168.1.100', # UDP IP 地址
    'udp_port':'6000', # UDP 端口号
    'udp_cycle':'20', # UDP 周期,以 udp_cycle*5 毫秒为周期
    }

ArmInterface 类提供了一系列用于控制机械臂的公共方法,例如移动、抓取和状态查询。在使用前,请确保已创建机械臂实例。

属性(只读)数据类型说明
namestr机械臂名称
  • 方法原型:

    connect(self) -> alphabot.core.AbcErrorCode
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    disconnect(self) -> None
  • 返回值:

    None

  • 方法原型:

    move_joint_position(
    self,
    joints: list[float],
    v: int,
    r: int,
    trajectory_connect: int,
    block: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    joints目标关节位置,单位为角度。
    v规划速度和加速度占关节最大线转速和加速度的百分比,取值范围为 0~100。
    r轨迹交融半径,默认值为 0。
    trajectory_connect轨迹连接标志,取值为 0 或 1。
    - 0:立即规划并执行轨迹,不与后续轨迹连接。
    - 1:将当前轨迹与下一条轨迹一起规划,但不立即执行。注意:在阻塞模式下,即使运动轨迹发送成功,函数也会立即返回。
    block设置阻塞模式,取值为 0 或 1。
    - 0:非阻塞模式。函数在成功将运动轨迹发送至控制器后立即返回。
    - 1:阻塞模式。函数将等待,直到机械臂完成运动或发生错误后才返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    move_cartesian_linear(
    self,
    pose: alphabot.core.Pose,
    v: int,
    r: int,
    trajectory_connect: int,
    block: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    pose目标位姿,具体参见 Pose
    v规划速度和加速度占关节最大线转速和加速度的百分比,取值范围为 0~100。
    r轨迹交融半径,默认值为 0。
    trajectory_connect轨迹连接标志,取值为 0 或 1。
    - 0:立即规划并执行轨迹,不与后续轨迹连接。
    - 1:将当前轨迹与下一条轨迹一起规划,但不立即执行。注意:在阻塞模式下,即使运动轨迹发送成功,函数也会立即返回。
    block设置阻塞模式,取值为 0 或 1。
    - 0:非阻塞模式。函数在成功将运动轨迹发送至控制器后立即返回。
    - 1:阻塞模式。函数将等待,直到机械臂完成运动或发生错误后才返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

在关节空间中规划一条运动轨迹,使机械臂运动至指定位姿。

  • 方法原型:

    move_joint_pose(
    self,
    pose: alphabot.core.Pose,
    v: int,
    r: int,
    trajectory_connect: int,
    block: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    pose目标位姿,具体参见 Pose
    v规划速度和加速度占关节最大角速度和角加速度的百分比,取值范围为 0~100。
    r轨迹交融半径,默认值为 0。
    trajectory_connect轨迹连接标志,取值为 0 或 1。
    - 0:立即规划并执行轨迹,不与后续轨迹连接。
    - 1:将当前轨迹与下一条轨迹一起规划,但不立即执行。注意:在阻塞模式下,即使运动轨迹发送成功,函数也会立即返回。
    block设置阻塞模式,取值为 0 或 1。
    - 0:非阻塞模式。函数在成功将运动轨迹发送至控制器后立即返回。
    - 1:阻塞模式。函数将等待,直到机械臂完成运动或发生错误后才返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

角度通过 CAN FD(Controller Area Network Flexible Data-rate)透传给机械臂,不需控制器规划。若调用正确,机械臂立即执行。

  • 方法原型:

    move_joint_position_canfd(
    self,
    joints: list[float],
    follow: bool,
    trajectory_mode: int = 0,
    radio: int = 0
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    joints目标关节位置,单位为角度。
    follow设置跟随模式,取值为 TrueFalse
    - True:高跟随。
    - False:低跟随。
    若使用高跟随,透传周期要求不超过 10ms。
    trajectory_mode高跟随模式下使用,取值为 0、1 或 2。
    - 0:完全透传模式。
    - 1:曲线拟合模式。
    - 2:滤波模式。
    radio- 曲线拟合模式:radio 是平滑系数,取值范围为 0~100。
    - 滤波模式:radio 是滤波参数,取值范围为 0~1000。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

位姿通过 CAN FD(Controller Area Network Flexible Data-rate)透传给机械臂,不需控制器规划。

当目标位姿被透传到机械臂控制器时,控制器首先尝试进行逆解计算。若逆解成功且计算出的各关节角度与当前角度差异不大,则直接下发至关节执行,跳过额外的轨迹规划步骤。

这一特性适用于需要周期性调整位姿的场景,如视觉伺服等应用。

  • 方法原型:

    move_cartesian_pose_canfd(
    self,
    pose: alphabot.core.Pose,
    follow: bool,
    trajectory_mode: int = 0,
    radio: int = 0
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    pose目标位姿。
    follow设置跟随模式,取值为 TrueFalse
    - True:高跟随。
    - False:低跟随。
    若使用高跟随,透传周期要求不超过 10ms。
    trajectory_mode高跟随模式下使用,取值为 0、1 或 2。
    - 0:完全透传模式。
    - 1:曲线拟合模式。
    - 2:滤波模式。
    radio- 曲线拟合模式:radio 是平滑系数,取值范围为 0~100。
    - 滤波模式:radio 是滤波参数,取值范围为 0~1000。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

关节空间跟随运动是指在关节空间内进行实时路径规划,以实现对目标关节位置的动态跟随。

  • 方法原型:

    move_joint_follow(self, joints: list[float]) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    joints目标关节位置。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

笛卡尔空间跟随运动是指在笛卡尔空间内进行实时路径规划,以实现对目标位姿的动态跟随。

  • 方法原型:

    move_pose_follow(self, pose: alphabot.core.Pose) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    pose目标位姿,具体参见 Pose
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    realtime_arm_state_call_back(self, callback: typing.Callable) -> None
  • 参数说明:

    参数名称说明
    callback当机械臂状态更新时,系统会自动调用此回调函数。回调函数接收类型为 ArmRealtimeState 的参数。
  • 返回值:

    None

机械臂在当前正在运行的轨迹上缓慢停止。

  • 方法原型:

    set_arm_slow_stop(self) -> alphabot.core.AbcErrorCode
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

机械臂在当前正在运行的轨迹上以关节最快速度停止。此操作为不可恢复的中止,无法从中断点继续执行。

  • 方法原型:

    set_arm_stop(self) -> alphabot.core.AbcErrorCode
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

机械臂在当前正在运行的轨迹上暂停。此操作为可恢复的中止,支持从中断位置恢复执行。

  • 方法原型:

    set_arm_pause(self) -> alphabot.core.AbcErrorCode
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

机械臂在暂停后,从中断点恢复并继续执行未完成的运动任务。

  • 方法原型:

    set_arm_continue(self) -> alphabot.core.AbcErrorCode
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    set_plus_mode(self, mode: int) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    mode末端生态协议模式。
    - 0:禁用协议。
    - 9600:开启协议(波特率 9600)。
    - 115200:开启协议(波特率 115200)。
    - 256000:开启协议(波特率 256000)。
    - 460800:开启协议(波特率 460800)。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

夹爪以指定的速度运动到开口最大处。

  • 方法原型:

    set_gripper_release(
    self,
    speed: int,
    block: bool,
    timeout: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    speed夹爪松开速度,取值范围为 1~1000,无单位量纲。
    block设置阻塞模式,取值为 TrueFalse
    - True:阻塞模式,等待控制器返回夹爪到位指令。
    - False:非阻塞模式,不接收夹爪到位指令。
    timeout- 阻塞模式:设置等待夹爪到位的超时时间,单位为秒。
    - 非阻塞模式:若设置为 0,表示发送后立即返回;若设置为其他值,表示接收设置成功指令后返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

夹爪以设定的速度和力夹取,当夹持力超过设定的力阈值后,停止夹取。

  • 方法原型:

    set_gripper_pick(
    self,
    speed: int,
    force: int,
    block: bool,
    timeout: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    speed夹爪开合速度,取值范围为 1~1000,无单位量纲。
    force力控阈值,取值范围为 50~1000,无单位量纲。
    block设置阻塞模式,取值为 TrueFalse
    - True:阻塞模式,等待控制器返回夹爪到位指令。
    - False:非阻塞模式,不接收夹爪到位指令。
    timeout- 阻塞模式:设置等待夹爪到位的超时时间,单位为秒。
    - 非阻塞模式:若设置为 0,表示发送后立即返回;若设置为其他值,表示接收设置成功指令后返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    set_gripper_pick_on(
    self,
    speed: int,
    force: int,
    block: bool,
    timeout: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    speed夹爪开合速度,取值范围为 1~1000,无单位量纲。
    force力控阈值,取值范围为 50~1000,无单位量纲。
    block设置阻塞模式,取值为 TrueFalse
    - True:阻塞模式,等待控制器返回夹爪到位指令。
    - False:非阻塞模式,不接收夹爪到位指令。
    timeout- 阻塞模式:设置等待夹爪到位的超时时间,单位为秒。
    - 非阻塞模式:若设置为 0,表示发送后立即返回;若设置为其他值,表示接收设置成功指令后返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

在夹爪到达指定位置后,若当前开口小于指定开口,夹爪以指定速度松开到指定开口位置;若当前开口大于指定开口时,夹爪以指定速度和力矩往指定开口处闭合,当夹持力超过力矩阈值或者达到指定位置后,夹爪停止。

  • 方法原型:

    set_gripper_position(
    self,
    position: int,
    block: bool,
    timeout: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    position夹爪开口位置,取值范围为 1~1000,无单位量纲。
    block设置阻塞模式,取值为 TrueFalse
    - True:阻塞模式,等待控制器返回夹爪到位指令。
    - False:非阻塞模式,不接收夹爪到位指令。
    timeout- 阻塞模式:设置等待夹爪到位的超时时间,单位为秒。
    - 非阻塞模式:若设置为 0,表示发送后立即返回;若设置为其他值,表示接收设置成功指令后返回。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    get_gripper_state(self) -> tuple[alphabot.core.AbcErrorCode, GripperState]
  • 返回值:

    包含两个元素的元组。

    元素数据类型说明
    AbcErrorCodeAbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode
    GripperState夹爪状态,具体参见 GripperState
  • 方法原型:

    set_hand_posture(
    self,
    posture_num: int,
    block: bool,
    timeout: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    posture_num预先保存在灵巧手内的手势序列号,取值范围为 1~40。
    block- True 表示阻塞模式,等待灵巧手运动结束后返回。
    - False 表示非阻塞模式,发送后立即返回。
    timeout设置阻塞模式下的超时时间,单位为秒。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

灵巧手有 6 个自由度,从 1~6 分别为小拇指、无名指、中指、食指、大拇指弯曲、大拇指旋转。

  • 方法原型:

    set_hand_angle(
    self,
    hand_angle: list[int]
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    hand_angle手指角度数组,数组长度为 6,每个元素的取值范围为 0~1000。另外,-1 代表该自由度不执行任何操作,保持当前状态。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

灵巧手有 6 个自由度,从 1~6 分别为小拇指、无名指、中指、食指、大拇指弯曲、大拇指旋转。

  • 方法原型:

    set_hand_follow_angle(
    self,
    hand_angle: list[int],
    block: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    hand_angle手指角度数组,数组长度为 6,角度范围由灵巧手厂商定义(例如因时的角度范围为 0~2000)。
    block等待返回超时时间,0 表示非阻塞,单位为毫秒。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

灵巧手有 6 个自由度,从 1~6 分别为小拇指、无名指、中指、食指、大拇指弯曲、大拇指旋转。

  • 方法原型:

    set_hand_follow_pos(
    self,
    hand_pos: list[int],
    block: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    hand_angle手指位置数组,数组长度为 6,位置范围由灵巧手厂商定义(例如因时的位置范围为 0~1000)。
    block等待返回超时时间,0 表示非阻塞,单位为毫秒。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    set_hand_speed(self, speed: int) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    speed手指速度,取值范围为 1~1000。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    set_hand_force(self, hand_force: int) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    hand_force手指力,取值范围为 1~1000。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    get_joint_degree(self) -> tuple[alphabot.core.AbcErrorCode, list[float]]
  • 返回值:

    包含两个元素的元组。

    元素数据类型说明
    AbcErrorCodeAbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode
    list[float]当前关节角数据。
  • 方法原型:

    forward_kinematics(
    self,
    joints: list[float]
    ) -> tuple[alphabot.core.AbcErrorCode, alphabot.core.Pose]
  • 参数说明:

    参数名称说明
    joints关节角数据。
  • 返回值:

    包含两个元素的元组。

    元素数据类型说明
    AbcErrorCodeAbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode
    Pose正解的位姿,具体参见 Pose
  • 方法原型:

    inverse_kinematics(
    self,
    pose: alphabot.core.Pose,
    ref_joints: list[float],
    mode: int = 0
    ) -> tuple[alphabot.core.AbcErrorCode, list[float]]
  • 参数说明:

    参数名称说明
    pose位姿,具体参见 Pose
    ref_joints参考关节角度。
    mode求解方式,取值为 0 或 1。
    - 0:单步求解。
    - 1:遍历求解。
  • 返回值:

    包含两个元素的元组。

    元素数据类型说明
    AbcErrorCodeAbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode
    list[float]逆解的关节角度。

在机械臂启动后,用户必须先调用如下方法配置 Modbus RTU 模式,才可对通信端口进行操作,否则会返回错误信息。另外,机械臂将会对用户的配置方式进行保存,机械臂重启后会自动恢复到用户断电之前配置的模式。

  • 方法原型:

    set_modbus_mode(
    self,
    port: int,
    baudrate: int,
    timeout: int
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    port指定通信端口,取值为 0、1 或 2。
    - 0:控制器 RS485 端口为 RTU 主站。
    - 1:末端接口板 RS485 接口为 RTU 主站。
    - 2:控制器 RS485 端口为 RTU 从站。
    baudrate波特率,支持 9600、115200 和 460800 三种常见波特率。
    timeout超时时间,单位百毫秒。对 Modbus 设备所有的读写指令,在规定的超时时间内未返回响应数据,则返回超时错误提示信息。超时时间不能为 0,若设置为 0,则机械臂按通信端口 1 进行配置。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    close_modbus_mode(self, port: int) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    port指定关闭的通信端口,取值为 0、1 或 2。
    - 0:控制器 RS485 端口为 RTU 主站。
    - 1:末端接口板 RS485 接口为 RTU 主站。
    - 2:控制器 RS485 端口为 RTU 从站。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    write_registers(
    self,
    params: PeripheralReadWriteParams,
    values: list[int]
    ) -> alphabot.core.AbcErrorCode
  • 参数说明:

    参数名称说明
    params通信配置参数,具体参见 PeripheralReadWriteParams
    values要写入寄存器的数据数组,每个值为 0~65535 的 16 位无符号整数。
  • 返回值:

    AbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode

  • 方法原型:

    get_error_flag(self) -> tuple[alphabot.core.AbcErrorCode, tuple[list[int], list[int]]]
  • 返回值:

    包含两个元素的元组。

    元素数据类型说明
    AbcErrorCodeAbcErrorCode.SUCCESS 表示成功;其他错误码,请参见 AbcErrorCode
    tuple[list[int], list[int]]list[int]反馈关节错误码。
    list[int]反馈关节抱闸状态。
    - 1:抱闸未打开。
    - 0:抱闸已打开。

ArmForceSensor 是一个机械臂力传感器数据类,用于处理力或力矩传感器数据。

属性(可读写)数据类型说明
forcelist[float]当前力传感器原始数据,单位为 0.001N 或 0.001N·m。
zero_forcelist[float]当前力传感器系统外受力数据,单位为 0.001N 或 0.001N·m。
coordinateint系统外受力数据的坐标系。
- 0:传感器坐标系。
- 1:当前工作坐标系。
- 2:当前工具坐标系。

ArmRealtimeState 是一个机械臂实时状态类,用于获取和存储机械臂运行时的完整状态信息。

属性(可读写)数据类型说明
namestr机械臂名称
timestamptyping.Any状态时间戳
joint_statusJointState关节状态
force_sensorArmForceSensor力传感器状态
arm_current_statusArmCurrentStatus机械臂当前状态
gripper_stateGripperState夹爪状态
ee_posePose末端位姿

JointState 是一个关节状态类,包含如下数据信息。

属性(可读写)数据类型说明
joint_positionlist[float]当前各关节角度,单位为 °(度)。
joint_speedlist[float]当前各关节速度,单位为 RPM(转/分)。
joint_currentlist[float]当前各关节电流,单位为 mA(毫安)。
joint_temperaturelist[float]当前各关节温度,单位为 °C(摄氏度)。
joint_voltagelist[float]当前各关节电压,单位为 V(伏特)。
joint_err_codelist[int]当前各关节错误码。
joint_en_flaglist[bool]当前各关节使能标志位。
- True 为上使能。
- False 为掉使能。

GripperState 是一个夹爪状态类,包含如下数据信息。

属性(可读写)数据类型说明
statusint夹爪状态。
- 0:离线。
- 1:在线。
- -1:在线,且处于下使能状态。
errorint夹爪错误信息。
- 低 8 位:夹爪内部的错误信息。
- bit 5~7:预留。
- bit 4:内部通信。
- bit 3:驱动。
- bit 2:过流。
- bit 1:过温。
- bit 0:堵转。
modeint当前工作状态。
- 1:夹爪张开到最大且空闲。
- 2:夹爪闭合到最小且空闲。
- 3:夹爪停止且空闲。
- 4:夹爪正在闭合。
- 5:夹爪正在张开。
- 6:夹爪闭合过程中遇到力控停止。
current_forceint夹爪当前压力,单位为 g。
temperatureint当前温度,单位为 °C。
actposint夹爪开口度,取值范围为 0~1000。
- 0:夹爪闭合到最小。
- 1000:夹爪张开到最大。

PeripheralReadWriteParams 是一个 Modbus 通信参数配置类,用于配置控制器与外设设备之间的通信参数。

属性(可读写)数据类型说明
portint通信端口。
- 0:控制器 RS485 端口。
- 1:末端接口板 RS485 接口。
- 3:控制器 Modbus TCP 设备。
addressint数据起始地址
deviceint外设设备地址
numint数据的数量