跳到主要内容

SDK接口与HMI功能对应

通用接口

本章列出C++版本的 xCore SDK 与Robot Assist界面的对应关系。

连接机器人

建立与机器人的连接。机器人地址为创建robot 实例时传入的

template<WorkType Wt, unsigned short DoF>
void rokae::Robot_T< Wt, DoF >::connectToRobot (error_code &ec )
  • 参数:[out] ec: 错误码

连接

断开连接

断开与机器人连接。断开前会停止机器人运动, 请注意安全

void rokae::BaseRobot::disconnectFromRobot (error_code & ec) 
  • 参数: [out] ec: 错误码

    断开连接

查询机器人基本信息

  • 参数: [out] ec: 错误码
  • 返回: 机器人基本信息(控制器版本,机型,轴数)
struct Info {
std::string id; ///< 机器人uid, 可用于区分连接的机器人
std::string mac; ///< Mac地址
std::string version; ///< 控制器版本
std::string type; ///< 机器人机型名称
int joint_num; ///< 轴数
};
 Info robotInfo(error_code &ec) const noexcept;

查询机器人基本信息

机器人上下电急停状态

机器人上下电以及急停状态

PowerState powerState(error_code &ec)
  • 参数: [out] ec: 错误码

  • 返回:

    • on - 上电

    • off - 下电

    • estop - 急停

    • gstop - 安全门打开

上下电急停状态

状态值

机器人上下电

机器人上下电。注: 只有无外接使能开关或示教器的机器人才能手动模式上电。

void setPowerState(bool on, error_code &ec)
  • 参数:
    • [in] on: true-上电|false-下电
    • [out] ec: 错误码

上下电急停状态

机器人操作模式及切换

查询机器人当前操作模式

OperateMode operateMode(error_code &ec)

切换手自动模式

void setOperateMode(OperateMode mode, error_code &ec)
 enum class OperateMode {
manual = 0, ///< 手动
automatic = 1, ///< 自动
unknown = Unknown ///< 未知(发生异常)
};

mode

查询机器人运行状态

查询机器人当前运行状态 (空闲,运动中, 拖动开启等)

enum class OperationState {
idle = 0, ///< 机器人静止
jog = 1, ///< jog状态(未运动)
rtControlling = 2, ///< 实时模式控制中
drag = 3, ///< 拖动已开启
rlProgram = 4, ///< RL工程运行中
demo = 5, ///< Demo演示中
dynamicIdentify = 6, ///< 动力学辨识中
frictionIdentify = 7, ///< 摩擦力辨识中
loadIdentify = 8, ///< 负载辨识中
moving = 9, ///< 机器人运动中
jogging = 10, ///< Jog运动中
unknown = Unknown ///< 未知
};
 OperationState operationState(error_code &ec)

运行状态

状态说明:

状态显示

获取当前关节角度

机器人当前轴角度, 单位: 弧度

  • 参数: [out] ec: 错误码
  • 返回: 轴角度值
 std::array<double, DoF> jointPos(error_code &ec)

关节角度

关节角度

关节速度

机器人当前关节速度,单位:弧度/秒

  • 参数: [out] ec: 错误码
  • 返回: 关节速度
 std::array<double, DoF> jointVel(error_code &ec)

关节速度

获取关节力矩

关节力传感器数值,单位:NM

  • 参数: [out] ec: 错误码
  • 返回: 关节速力矩的值
std::array<double, DoF> jointTorque(error_code &ec)

关节力矩

查询控制器日志

查询控制器最新的日志

  • 参数:
    • [in] count 查询个数,上限是 10 条
    • [in] level 指定日志等级,空集合代表不指定
    • [out] ec: 错误码
  • 返回: 日志信息
std::vector< LogInfo > rokae::BaseRobot::queryControllerLog ( unsigned count,const std::set< LogInfo::Level > & level,error_code & ec )

控制器日志

设置碰撞检测相关参数,打开/关闭碰撞检测功能

设置碰撞检测相关参数, 打开碰撞检测功能

  • 参数:
    • [in] sensitivity 碰撞检测灵敏度,范围 0.01-2.0
    • [in] behaviour 碰撞后机器人行为, 支持 stop1(安全停止, stop0 和 stop1 处理方式相同)和 stop2(触发暂停), suppleStop(柔顺停止)
    • [in] fallback_compliance
      1. 碰撞后行为是安全停止或触发暂停时,该参数含义是碰撞后回退距离,单位: 米
      2. 碰撞后行为是柔顺停止时,该参数含义是柔顺度,范围 [0.0, 1.0]
    • [out] ec: 错误码
void enableCollisionDetection(const std::array<double, DoF> &sensitivity, StopLevel behaviour,
double fallback_compliance, error_code &ec) noexcept;

关闭碰撞检测功能

void disableCollisionDetection(error_code &ec) 

设置碰撞检测

坐标系标定

坐标系标定 (N 点标定)

  • 注解 各坐标系类型支持的标定方法及注意事项:
    1. 工具坐标系: 三点/四点/六点标定法
    2. 工件坐标系: 三点标定。标定结果不会相对用户坐标系做变换,即,若为外部工件, - 返回:的结果是相对于基坐标系的。
    3. 基坐标系: 六点标定。标定前请确保动力学约束和前馈已关闭。 若标定成功(无错误码),控制器会自动保存标定结果,重启控制器后生效。
    4. 导轨基坐标系: 三点标定。若标定成功(无错误码),控制器会自动保存标定结果,重启控制器后生效。
  • 参数:
    • [in] points 轴角度列表,列表长度为 N。例如,使用三点法标定工具坐标系,应传入 3 组轴角度。轴角度的单位是弧度。
    • [in] is_held true - 机器人手持 | false - 外部。仅影响工具/工件的标定
    • [in] base_aux 基坐标系标定时用到的辅助点, 单位[米]
    • [out] ec: 错误码
  • 返回: 标定结果,当错误码没有被置位时,标定结果有效
template<WorkType Wt, unsigned short DoF>
FrameCalibrationResult rokae::Robot_T< Wt, DoF >::calibrateFrame (
FrameType type,
const std::vector< std::array< double, DoF > > &points,
bool is_held,
error_code &ec,
const std::array< double, 3 > & base_aux = {} )

坐标系标定

基坐标标定

导轨坐标标定


设置导轨参数

  • 模板参数: 参数类型

  • 参数:

    • [in] name: 参数名,见 value 说明

    • [in] value:

    • 参数:参数名数据类型
      开关enablebool
      基坐标系baseFrameFrame
      导轨名称namestd::string
      编码器分辨率encoderResolutionint
      减速比reductionRatiodouble
      电机最大转速(rpm)motorSpeedint
      软限位(m), [下限,上限]softLimitstd::vector<double>
      运动范围(m), [下限,上限]rangestd::vector<double>
      最大速度(m/s)maxSpeeddouble
      最大加速度(m/s^2)maxAccdouble
      最大加加速度(m/s^3)maxJerkdouble
template<typename R>
void rokae::setRailParameter(const std::string &name, R value, error_code &ec)

读取导轨参数

  • 模板参数: 参数类型
  • 参数:
    • [in] name 参数名,见 setRailParameter()
    • [out] value 参数数值,见 setRailParameter()
    • [out] ec: 错误码,参数名不存在或数据类型不匹配返回错误码
template<typename R>
void getRailParameter(const std::string &name, R &value, error_code &ec) noexcept;

设置导轨参数

机器人运行速率调整

动态调整机器人运动速率,非实时模式时生效。

  • 参数:
    • [in] scale: 运动指令的速度的比例,范围 0.01 - 1。当设置 scale 为 1 时,机器人将以路径原本速度运动。
    • [out] ec: 错误码
void rokae::BaseRobot::adjustSpeedOnline(double scale, error_code &ec)

image-20260107103337644

通信相关

设置输入仿真模式

state true - 打开 | false - 关闭

void setSimulationMode(bool state, error_code &ec) 

设置仿真模式

设置 xPanel 对外供电模式

xPanel 设置可对机器人的末端工具进行模式设置,该功能仅适用于协作机器人 xMate CR SR系列。

struct xPanelOpt {
/*
@brief 供电模式
*/
enum Vout {
off, ///< 不输出
reserve, ///< 保留
supply12v, ///< 输出12V
supply24v, ///< 输出24V
};
};
void setxPanelVout(xPanelOpt::Vout opt, error_code& ec)

设置xPanel供电模式

协作相关

打开拖动&关闭拖动

打开拖动

  • space 拖动空间. 轴空间拖动仅支持自由拖拽类型
  • type 拖动类型
  • ec 错误码
void enableDrag(DragParameter::Space space, DragParameter::Type type, error_code& ec, bool enable_drag_button = false)

关闭拖动

void disableDrag(error_code& ec) 

拖动

路径操作

开始录制路径&停止录制路径&取消录制&保存路径&路径回放&删除保存的路径

路径操作

力传感器标定

力传感器标定。标定过程需要约100ms, 该函数不会阻塞等待标定完成。标定前需要通过setToolset()设置正确的负载(Toolset::load), 否则会影响标定结果准确性。

  • all_axes true - 标定所有轴 | false - 单轴标定
  • 轴下标, 范围[0, DoF), 仅当单轴标定时生效
  • ec 错误码
 void calibrateForceSensor(bool all_axes, int axis_index, error_code &ec) 

力传感器标定

SDK接口与RL指令的对应关系

轴运动MoveAbsJ

  • 目标轴角度
  • 末端线速度, 单位mm/s, 关节速度根据末端线速度大小划分几个区间,详见setDefaultSpeed()
  • 转弯区, 单位mm
 MoveAbsJCommand(JointPosition target, double speed = USE_DEFAULT, double zone = USE_DEFAULT);

RL指令:MoveAbsJ

说明:

MoveAbsJ (Move Absolute Joint) 用于把机器人和外部轴运动到一个以轴角度定义的位置上,用于快速定位或者移动机器人到某个精确的轴角度。所有的轴同步运动,机器人末端沿一条不规则的曲线移动,请注意是否有发生碰撞的危险。MoveAbsJ 指令中使用的 tool 参数不会影响机器人的终点位置,但控制器仍然需要使用 tool 参数进行动力学的计算。

轴运动MoveJ

  • 目标笛卡尔点位
  • 末端线速度, 单位mm/s, 关节速度根据末端线速度大小划分几个区间,详见setDefaultSpeed()
  • 转弯区, 单位mm
MoveJCommand(CartesianPosition target, double speed = USE_DEFAULT, double zone = USE_DEFAULT);

RL指令:MoveJ

说明:

MoveJ (Move The Robot By Joint Movement) 用于对机器人末端运动轨迹没有要求的场合,
使机器人快速的从一个点运动到另一个点。所有的轴同步运动,机器人末端沿一条不规则的曲线移动,请注意是否有发生碰撞的危险。
MoveJ 指令与 MoveAbsJ 最大的区别在于给定的目标点格式不同。 MoveJ 的目标点是工具(TCP)的空间位姿而不是关节轴角度。

末端直线轨迹MoveL

  • 目标笛卡尔点位
  • 末端线速度, 单位mm/s, 关节速度根据末端线速度大小划分几个区间,详见setDefaultSpeed()
  • 转弯区, 单位mm
MoveLCommand(CartesianPosition target, double speed = USE_DEFAULT, double zone = USE_DEFAULT);

RL指令:MoveL

说明:

用于将工具中心点 TCP 沿直线移动到给定的目标位置。
当起点和终点姿态不同时, 姿态将与位置同步旋转到终点的姿态。由于平移和旋转速度是分开指定的,为了保证不超出指定速度的限制, MoveL 指令最终的运动时间取决于姿态、位置和臂角变化时间较长的那一个。因此在执行某些特定轨迹(例如位移很小而姿态变化很大)时,如果机器人运动速度明显过慢或过快,请检查转动速度设置是否合理。当需要保持工具中心点 TCP 静止,而只调整工具姿态时,可以通过为 MoveL 指定位置相同但姿态不同的起点和终点来实现。

圆弧轨迹MoveC

  • 目标点
  • 辅助点
  • 末端线速度, 单位mm/s, 关节速度根据末端线速度大小划分几个区间,详见setDefaultSpeed()
  • 转弯区, 单位mm
 MoveCCommand(CartesianPosition target, CartesianPosition aux, double speed = USE_DEFAULT, double zone = USE_DEFAULT);

RL指令:MoveC

说明:

MoveC ( Move Circle) 用于将工具中心点 TCP 沿圆弧经过中间辅助点移动到给定的目标位置。当起点和终点姿态不同时,姿态将与位置同步旋转到终点的姿态,辅助点的姿态不影响圆弧运动过程。由于平移和旋转速度是分开指定的,为了保证不超出指定速度的限制,MoveC 指令最终的运动时间取决于姿态、位置和臂角变化时间较长的那一个。 因此在某些特定轨迹(例如位移很小而姿态变化很大)下,如果机器人运动速度明显过慢或过快,请检查转动速度设置是否合理。

全圆轨迹MoveCF

  • 目标点
  • 辅助点
  • 末端线速度, 单位mm/s
  • 转弯区, 单位mm
  • 执行角度, 单位弧度
MoveCFCommand(const CartesianPosition &target, const CartesianPosition &aux, double angle, double speed = USE_DEFAULT, double zone = USE_DEFAULT);

RL指令:MoveCF

说明:

MoveCF(Move Circle Full)用于将工具中心点 TCP 沿着由起点和两个辅助点确定的圆形路径,以给定的全圆执行角度进行移动和旋转。MoveCF 全圆运动的终点由全圆执行角度确定,两个辅助点只用来确定圆形路径的空间位置。全圆运动过程中姿态将以参数指定的方式变化,且辅助点的姿态不影响全圆运动过程中的姿态。MoveCF 指令最终的运动时间只取决于位置变化的时间。因此在圆半径较小的情况下,请检查运动速度设置是否合理,以免发生姿态旋转过快的情况。

螺旋线轨迹MoveSP

  • target 终点姿态
  • r0 初始半径 [m]
  • rStep每旋转单位角度,半径的变化 [m/rad]
  • angle合计旋转角度 [rad]
  • dir 旋转方向, true - clockwise | false - anticlockwise
  • speed 末端线速度, 单位mm/s
 MoveSPCommand(const CartesianPosition &target, double r0, double rStep, double angle, bool dir, double speed = USE_DEFAULT);

RL指令:MoveSP

说明:

MoveSP (Move Spiral) 用于将工具中心点 TCP 按照指定初始半径、旋转增率、合计旋转角度和旋转方向,在与工件坐标系 xy 平行的平面内画阿基米德螺旋线。运动过程中姿态线性变化到目标点中的指定姿态。注意:当 MoveSP 指令运动中途暂停,继续运行,将以当前点为起点重新生成路径,不再继续之前的路径。

力控初始化

  • frame_type 力控坐标系,支持world/wobj/tool/base/flange。工具工件坐标系使用setToolset()设置的坐标系

  • ec 错误码

void fcInit(FrameType frame_type, error_code &ec)

RL指令:FcInit

说明:

用于力控开启前的一些初始化工作,如设置工件、工具和力控坐标系。

设置阻抗控制类型

  • type 0 - 关节阻抗 | 1 - 笛卡尔阻抗

  • ec 错误码

void setControlType(int type, error_code &ec) 

RL指令:SetControlType (ctrl_type)

说明:

ctrl_type,数据类型:int,阻抗控制类型,
支持:
0:关节阻抗
1:笛卡尔阻抗

设置笛卡尔阻抗刚度

  • stiffness 依次为:X Y Z方向阻抗力刚度[N/m], X Y Z方向阻抗力矩刚度[Nm/rad]

  • ec 错误码

void setCartesianStiffness(const std::array<double, 6> &stiffness, error_code &ec)

RL指令:

SetCartCtrlStiffVec trans(stiff_x,trans_stiff_y,trans_stiff_z,rot_stiff_x,rot_stiff_y,rot_stiff_z);
trans_stiff_x,数据类型:double,X 方向笛卡尔阻抗力刚度,单位:N/m。
trans_stiff_y,数据类型:double,Y 方向笛卡尔阻抗力刚度,单位:N/m。
trans_stiff_z,数据类型:double,Z 方向笛卡尔阻抗力刚度,单位:N/m。
rot_stiff_x,数据类型:double,X 方向笛卡尔阻抗力矩刚度,单位:N.m/rad。
rot_stiff_y,数据类型:double,Y 方向笛卡尔阻抗力矩刚度,单位:N.m/rad。
rot_stiff_z,数据类型:double,Z 方向笛卡尔阻抗力矩刚度,单位:N.m/rad。

设置笛卡尔零空间阻抗刚度

  • stiffness 范围[0,4], 大于4会默认设置为4, 单位Nm/rad

  • ec 错误码

 void setCartesianNullspaceStiffness(double stiffness, error_code &ec)

RL指令:

SetCartNsStiff(cart_ns_stiff);
cart_ns_stiff,数据类型:double,笛卡尔零空间阻抗刚度,取值范围(0~4),单位:Nm/rad。

设置关节阻抗刚度

  • stiffness 各轴刚度
  • ec 错误码
void setJointStiffness(const std::array<double, DoF> &stiffness, error_code &ec)

RL指令:

SetJntCtrlStiffVec( jnt1_stiff,jnt2_stiff,jnt3_stiff,jnt4_stiff,jnt5_stiff, jnt6_stiff,jnt7_stiff);
Jnt1_stiff,数据类型:double,关节 1 阻抗刚度,单位:Nm/rad。
Jnt2_stiff,数据类型:double,关节 2 阻抗刚度,单位:Nm/rad。
Jnt3_stiff,数据类型:double,关节 3 阻抗刚度,单位:Nm/rad。
Jnt4_stiff,数据类型:double,关节 4 阻抗刚度,单位:Nm/rad。
Jnt5_stiff,数据类型:double,关节 5 阻抗刚度,单位:Nm/rad。
Jnt6_stiff,数据类型:double,关节 6 阻抗刚度,单位:Nm/rad。
Jnt7_stiff,数据类型:double,关节 7 阻抗刚度,单位:Nm/rad。//设置 6 轴机器人时此参数默认为 0。

设置关节期望力矩

  • torque 力矩值, 范围[-30,30], 单位Nm
  • ec 错误码
void setJointDesiredTorque(const std::array<double, DoF> &torque, error_code &ec) 

RL指令 SetJntTrqDes (tau_d1,tau_d2,tau_d3,tau_d4,tau_d5,tau_d6,tau_d7);

tau_d1,数据类型:double,关节 1 期望力矩,取值范围(-30~30),单位 N.m。
tau_d2,数据类型:double,关节 2 期望力矩,取值范围(-30~30),单位 N.m。
tau_d3,数据类型:double,关节 3 期望力矩,取值范围(-30~30),单位 N.m。
tau_d4,数据类型:double,关节 4 期望力矩,取值范围(-30~30),单位 N.m。
tau_d5,数据类型:double,关节 5 期望力矩,取值范围(-30~30),单位 N.m。
tau_d6,数据类型:double,关节 6 期望力矩,取值范围(-30~30),单位 N.m。
tau_d7,数据类型:double,关节 7 期望力矩,取值范围(-30~30),单位 N.m。//设置 6 轴机器人时此参数默认为 0。

设置笛卡尔期望力/力矩

  • value 依次为: X Y Z方向笛卡尔期望力, 范围[-60,60], 单位N; X Y Z方向笛卡尔期望力矩, 范围[-10,10], 单位Nm
  • ec 错误码
void setCartesianDesiredForce(const std::array<double, 6> &value, error_code &ec)

RL指令:SetCartForceDes (force_x,force_y,force_z,torque_x,torque_y,torque_z);

force_x,数据类型:double,X 方向笛卡尔期望力,取值范围(-60~60),单位 N。
force_y,数据类型:double,Y 方向笛卡尔期望力,取值范围(-60~60),单位 N。
force_z,数据类型:double,Z 方向笛卡尔期望力,取值范围(-60~60),单位 N。
torque_x,数据类型:double,X 方向笛卡尔期望力矩,取值范围(-10~10),单位 N.m。
torque_y,数据类型:double,Y 方向笛卡尔期望力矩,取值范围(-10~10),单位 N.m。
torque_z,数据类型:double,Z 方向笛卡尔期望力矩,取值范围(-10~10),单位 N.m。

设置绕单轴旋转的正弦搜索运动

设置阻抗控制类型为笛卡尔阻抗(即setControlType(1))之后, startOverlay()之前调用生效。

各机型的搜索运动幅值上限和搜索运动频率上限不同,请参考《xCore控制系统手册》 SetSineOverlay指令的说明。

  • line_dir 搜索运动参考轴: 0 - X | 1 - Y | 2 - Z
  • amplify 搜索运动幅值, 单位Nm
  • frequency 搜索运动频率, 单位Hz
  • phase 搜索运动相位, 范围[0, PI], 单位弧度
  • bias 搜索运动偏置, 范围[0, 10], 单位Nm
  • ec 错误码
void setSineOverlay(int line_dir, double amplify, double frequency, double phase,double bias, error_code &ec)

RL指令:SetSineOverlay( line_dir, amplify, frequncy, phase, bias);

line_dir,数据类型:int,搜索运动参考轴,支持
0:参考方向为 X 轴
1:参考方向为 Y 轴
2:参考方向为 Z 轴
Amplify,数据类型:double,搜索运动幅值,单位 N.m。
Frequncy,数据类型:double,搜索运动频率,单位 Hz。
Phase,数据类型:double,搜索运动相位,取值范围(-3.14~3.14),单位 rad。
Bias,数据类型:double,搜索运动偏置,取值范围(-10~10),单位 N.m。

设置平面内的莉萨如搜索运动

设置阻抗控制类型为笛卡尔阻抗(即setControlType(1))之后, startOverlay()之前调用生效。

  • plane 搜索运动参考平面: 0 - XY | 1 - XZ | 2 - Y
  • amplify_one 搜索运动一方向幅值, 范围[0, 20], 单位Nm
  • frequency_one 搜索运动一方向频率, 范围[0, 5], 单位Hz
  • amplify_two 搜索运动二方向幅值, 范围[0, 20]单位Nm
  • frequency_two 搜索运动二方向频率, 范围[0, 5], 单位Hz
  • phase_diff 搜索运动两个方向相位偏差, 范围[0, PI], 单位弧度
  • ec 错误码
void setLissajousOverlay(int plane, double amplify_one, double frequency_one, double amplify_two,double frequency_two, double phase_diff, error_code &ec) 

RL指令:SetLissajousOverlay(plane, amplify_one, frequncy_one, amplify_two, frequncy_two, phase_diff);

Plane,数据类型:int,搜索运动参考平面,支持
0:参考平面为 XY 平面
1:参考平面为 XZ 平面
2:参考平面为 YZ 平面
amplify_one,数据类型:double,搜索运动一方向幅值,取值范围(-20~20),单位 N.m。
frequncy_one,数据类型:double,搜索运动一方向频率,取值范围(0~5),单位 Hz。
amplify_two,数据类型:double,搜索运动二方向幅值,取值范围(-20~20),单位 N.m。
frequncy_two,数据类型:double,搜索运动二方向频率,取值范围(0~5),单位 Hz。
phase_diff,数据类型:double,搜索运动两个方向相位偏差,取值范围(-3.14~3.14),单位 rad

设置力控模块使用的负载

  • load 负载
  • ec 错误码
void setLoad(const Load &load, error_code &ec)

RL指令:SetLoad(m,rx,ry,rz,Ixx,Iyy,Izz );

M,数据类型:double,负载质量,单位:kg,范围(0~25);
Rx,数据类型:double,负载质心在法兰坐标系 x 方向的距离,单位:mm,范围(-300300);
Ry,数据类型:double,负载质心在法兰坐标系 y 方向的距离,单位:mm,范围(-300300);
Rz,数据类型:double,负载质心在法兰坐标系 z 方向的距离,单位:mm,范围(-300300);
Ixx,数据类型:double,负载质心 x 轴的主轴惯量,单位:kg*mm^2,范围(0100000);
Iyy,数据类型:double,负载质心 y 轴的主轴惯量,单位:kg*mm^2,范围(0100000);
Izz,数据类型:double,负载质心 z 轴的主轴惯量,单位:kg*mm^2,范围(0100000);

其他力控指令的SDK接口与RL的对应关系

功能SDK接口RL指令
开启前面设置的搜索运动startOverlayStartOverlay
暂停搜索运动pauseOverlayPauseOverlay
重新开启暂停的搜索运动restartOverlay()RestartOverlay
停止搜索运动stopOverlayStopOverlay
开启力控fcStartFcStart
停止力控fcStopFcStop
设置与接触力有关的终止条件setForceConditionFcCondForce
设置与接触力矩有关的终止条件setTorqueConditionFcCondTorque
设置与接触位置有关的终止条件setPoseBoxConditionFcCondPosBox
激活设置的终止条件并等待waitConditionFcCondWaitWhile
启动/关闭力控模块保护监控fcMonitorFcMonitor
设置力控模式下的轴最大速度setJointMaxVelSetFcJointVelMax
设置机械臂末端相对基坐标系的最大速度setCartesianMaxVelSetFcCartVelMax
设置力控模式下轴最大动量setJointMaxMomentumSetFcJointMomentumMax
设置力控模式下轴最大动能setJointMaxEnergySetFcJointEnergyMax

路径回放

SDK接口:

  • name 要回放的路径名称

  • rate 回放速率, 应小于3.0, 1为路径原始速率。注意当速率大于1时,可能产生驱动器无法跟随错误

  • ec 错误码

void replayPath(const std::string& name, double rate, error_code& ec)

RL指令:ReplayPath( path [, rate] [, wobj/tool] );

Path,数据类型:path,拖动回放路径类型,在路径列表中定义、拖动示教录制。
Rate,数据类型:double,回放百分比,范围 0.01~3.00。0.01 表示按照拖动时 1%运行速率回放;
1.00 表示 100%运行速率原速回放;3.00 表示 300%运行速率回放。
wobj/tool,数据类型:工具|工件。指定多动回放指令的末端设备是某个工具或者工件,回放时机
器人会按照对应设备的工具更改回放的控制参数,提高运行的稳定性