跳转到内容

机械臂相关接口

机械臂相关的接口由如下两个类实现。您可以在 c++\include\drivers\arm 目录下找到对应的头文件以获取完整 API。

头文件类名说明
arm_factory.hArmFactory机械臂工厂类,用于创建不同类型的机械臂实例。
arm_interface.hArmInterface机械臂接口基类,定义了机械臂控制的通用接口。所有特定厂商的机械臂驱动都应该继承此类。

ArmFactory 类提供了三种方式创建机械臂实例,具体如下。

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

    • 方法原型:

      static std::shared_ptr<ArmInterface> create_arm(
      const std::string& arm_type,
      const std::string& name,
      const std::unordered_map<std::string, std::string>& params);
    • 参数说明:

      参数名类型说明
      arm_type输入参数机械臂厂商。
      name输入参数机械臂名称,如 "left_arm""right_arm"
      params输入参数机械臂其他参数,如 {{"ip", "192.168.1.18"}, {"port", "8080"}}
    • 返回值:

      若创建成功,则返回 ArmInterface 类型的共享智能指针;否则返回 nullptr

  2. 根据机械臂参数,创建机械臂实例。

    • 方法原型:

      static std::shared_ptr<ArmInterface> create_arm(const ArmFactoryParam& param)
    • 参数说明:

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

      若创建成功,则返回 ArmInterface 类型的共享智能指针;否则返回 nullptr

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

    • 方法原型:

      static std::shared_ptr<ArmInterface> create_arm_from_config(
      const std::string& config_path)
    • 参数说明:

      参数名称类型说明

      config_path

      输入参数

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

      {
      "arm_type":"xxx", # 机械臂厂商
      "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 类型的共享智能指针;否则返回 nullptr

在创建机械臂实例后,您可通过如下方法与机械臂建立连接。

  • 方法原型:

    AbcErrorCode connect()
  • 返回值:

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

您可通过如下方法断开与机械臂的连接。

  • 方法原型:

    AbcErrorCode disconnect()
  • 返回值:

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

控制机械臂轨迹包括控制运动和控制透传。

  • 运动:包括关节空间运动、笛卡尔直线运动、笛卡尔空间运动等。
  • 透传:包括角度透传和位姿透传。

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

  • 方法原型:

    AbcErrorCode move_joint_position(
    const std::vector<AbcType>& joints,
    int v,
    int r,
    int trajectory_connect,
    int block)
  • 参数说明:

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

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

在笛卡尔空间中规划一条直线运动轨迹,使机械臂沿直线运动至指定位姿。

  • 方法原型:

    AbcErrorCode move_cartesian_linear(
    const AbcPose& pose,
    int v,
    int r,
    int trajectory_connect,
    int block)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode move_joint_pose(
    const AbcPose& pose,
    int v,
    int r,
    int trajectory_connect,
    int block)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode move_joint_position_canfd(
    const std::vector<AbcType>& joints,
    bool follow,
    int trajectory_mode = 0,
    int radio = 0)
  • 参数说明:

    参数名称
    类型
    说明
    joints输入参数目标关节位置,单位为角度。其内部数据结构,请参见 AbcType
    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_position_canfd() 基础上,本方法增加避障功能。当机械臂可能与本体发生碰撞时,机械臂将不会执行操作。

  • 方法原型:
AbcErrorCode move_joint_position_canfd_collision_avoid(
const std::vector<AbcType>& arm_joints,
const std::vector<AbcType>& torso_head_joints,
bool follow,
int trajectory_mode = 0,
int radio = 0)
  • 参数说明:
参数名称
类型
说明
arm_joints输入参数目标关节位置,单位为角度。其内部数据结构,请参见 AbcType
torso_head_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)透传给机械臂,不需控制器规划。

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

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

  • 方法原型:

    AbcErrorCode move_cartesian_pose_canfd(
    const AbcPose& pose,
    bool follow,
    int trajectory_mode = 0,
    int radio = 0)
  • 参数说明:

    参数名称
    类型
    说明
    pose输入参数目标位姿。其内部数据结构,请参见 AbcPose
    follow输入参数设置跟随模式,取值为 truefalse
    - true:高跟随。
    - false:低跟随。
    若使用高跟随,透传周期要求不超过 10ms。
    trajectory_mode输入参数(可缺省)高跟随模式下使用,取值为 0、1 或 2。
    - 0:完全透传模式。
    - 1:曲线拟合模式。
    - 2:滤波模式。
    radio输入参数(可缺省)- 曲线拟合模式:radio 是平滑系数,取值范围为 0~100。
    - 滤波模式:radio 是滤波参数,取值范围为 0~1000。
  • 返回值:

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

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

  • 方法原型:

    AbcErrorCode move_joint_follow(std::vector<AbcType>& joints)
  • 参数说明:

    参数名称
    类型
    说明
    joints输入参数目标关节位置。其内部数据结构,请参见 AbcType
  • 返回值:

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

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

  • 方法原型:

    AbcErrorCode move_pose_follow(const AbcPose& pose)
  • 参数说明:

    参数名称
    类型
    说明
    pose输入参数目标位姿。其内部数据结构,请参见 AbcPose
  • 返回值:

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

  • 方法原型:

    AbcErrorCode get_joint_degree(std::vector<AbcType>& joints)
  • 参数说明:

    参数名称
    类型
    说明
    joints输出参数当前关节角数据。其内部数据结构,请参见 AbcType
  • 返回值:

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

本软件包提供了一系列与机械臂相关的算法接口,包括正逆运动学求解等。

  • 方法原型:

    AbcErrorCode forward_kinematics(
    const std::vector<AbcType>& joints,
    AbcPose& pose)
  • 参数说明:

    参数名称
    类型
    说明
    joints输入参数关节角数据。其内部数据结构,请参见 AbcType
    pose输出参数正解的位姿。其内部数据结构,请参见 AbcPose
  • 返回值:

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

  • 方法原型:

    AbcErrorCode inverse_kinematics(
    const AbcPose& pose,
    const std::vector<AbcType>& ref_joints,
    std::vector<AbcType>& joints,
    int mode = 0)
  • 参数说明:

    参数名称
    类型
    说明
    pose输入参数位姿。其内部数据结构,请参见 AbcPose
    ref_joints输入参数参考的关节角度。其内部数据结构,请参见 AbcType
    joints输出参数逆解的关节角度。其内部数据结构,请参见 AbcType
    mode输入参数(可缺省)求解方式,取值为 0 或 1。
    - 0:单步求解。
    - 1:遍历求解。
  • 返回值:

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

本软件包支持对机械臂进行缓停、急停、暂停及继续等基本运动控制。

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

  • 方法原型:

    AbcErrorCode set_arm_slow_stop()
  • 返回值:

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

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

  • 方法原型:

    AbcErrorCode set_arm_stop()
  • 返回值:

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

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

  • 方法原型:

    AbcErrorCode set_arm_pause()
  • 返回值:

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

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

  • 方法原型:

    AbcErrorCode set_arm_continue()
  • 返回值:

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

  • 方法原型:

    AbcErrorCode set_plus_mode(int mode)
  • 参数说明:

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

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

本软件包提供对夹爪的全面控制,包括设置夹爪开合、抓取位置与抓取力度,并支持读取夹爪的状态。

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

  • 方法原型:

    AbcErrorCode set_gripper_release(
    int speed,
    bool block,
    int timeout)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode set_gripper_pick(
    int speed,
    int force,
    bool block,
    int timeout)
  • 参数说明:

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

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

  • 方法原型:

    AbcErrorCode set_gripper_pick_on(
    int speed,
    int force,
    bool block,
    int timeout)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode set_gripper_position(
    int position,
    bool block,
    int timeout)
  • 参数说明:

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

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

  • 方法原型:

    AbcErrorCode get_gripper_state(AbcGripperState* state)
  • 参数说明:

    参数名称
    类型
    说明
    state输出参数存放夹爪状态。其内部数据结构,请参见 AbcGripperState
  • 返回值:

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

  • 方法原型:

    AbcErrorCode set_hand_posture(
    int posture_num, bool block,
    int timeout)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode set_hand_angle(const std::vector<int>& hand_angle)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode set_hand_follow_angle(
    const std::vector<int>& hand_angle,
    int block)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode set_hand_follow_pos(
    const std::vector<int>& hand_pos,
    int block)
  • 参数说明:

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

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

  • 方法原型:

    AbcErrorCode set_hand_speed(int speed)
  • 参数说明:

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

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

  • 方法原型:

    AbcErrorCode set_hand_force(int hand_force)
  • 参数说明:

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

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

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

  • 方法原型:

    AbcErrorCode set_modbus_mode(
    int port,
    int baudrate,
    int timeout)
  • 参数说明:

    参数名称
    类型
    说明
    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

  • 方法原型:

    AbcErrorCode close_modbus_mode(int port)
  • 参数说明:

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

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

  • 方法原型:

    AbcErrorCode write_registers(
    const PeripheralReadWriteParams& params,
    const std::vector<uint8_t>& data)
  • 参数说明:

    参数名称
    类型
    说明
    params输入参数多个寄存器数据写入参数结构体。其中寄存器每次写的数量不超过 10 个,即该结构体成员 num <= 10。其内部数据结构,请参见 PeripheralReadWriteParams
    data输入参数要写入寄存器的数据数组。
  • 返回值:

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

本软件包提供机械臂状态主动上报接口。在同一局域网下,通过设置 UDP 主动上报配置,以及注册机械臂状态回调函数,即可按设定周期(默认 5ms)接收机械臂周期性状态数据。

  • 方法原型:

    AbcErrorCode realtime_arm_state_set_configuration(
    const RealtimePushConfig& config)
  • 参数说明:

    参数名称
    类型
    说明
    config输入参数UDP 配置。其内部数据结构,请参见 RealtimePushConfig
  • 返回值:

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

  • 方法原型:

    void realtime_arm_state_call_back(
    AbcArmRealtimeStateCallback realtime_callback)
  • 参数说明:

    参数名称
    类型
    说明
    realtime_callback输入参数当机械臂状态更新时,系统会自动调用此回调函数。AbcArmRealtimeStateCallback 为函数指针类型。其数据类型,请参见 AbcArmRealtimeStateCallback
  • 返回值:

    无。

  • 方法原型:

    AbcErrorCode get_error_flag(
    std::vector<uint16_t>& err_flag,
    std::vector<uint16_t>& brake_state)
  • 参数说明:

    参数名称
    类型
    说明
    err_flag输出参数反馈关节错误码。
    brake_state输出参数反馈关节抱闸状态。
    - 1:抱闸未打开。
    - 0:抱闸已打开。
  • 返回值:

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

  • 方法原型:

    std::string get_name() const
  • 返回值:

    机械臂名称。