系统函数说明#
移动控制#
Op={number:time_or_dist_1,number:trig_io_1,boolean:trig_value_1, number:trig_time_1,number:trig_dist_1, string:trig_event_1, number:time_or_dist_2,number:trig_io_2,boolean:trig_value_2, number:trig_time_2,number:trig_dist_2, string:trig_event_2}
特殊类型说明:
该参数类型用于控制机械臂在移动过程中控制机器人系统IO与寄存器输出。
参数说明:
time_or_dist_1:轨迹起始点触发类型,0:不启用,1:时间触发,2:距离触发。
trig_io_1::轨迹起始点目标触发IO或寄存器索引号,定义如下:1-16为控制柜通用IO输出1-16,101-164为bool寄存器输出1-64,201-232为word寄存器输出1-32,301-332为float寄存器输出1-32,401-402为机器人末端IO输出1-2。
trig_value_1::轨迹起始点目标触发IO或寄存器目标值。当目标触发类型为IO时,0为低电平,非零为搞定平。当目标触发类型为寄存器时,trig_value_1的值会根据目标寄存器数据类型进行强制转换后输出。
trig_time_1:轨迹起始点触发时间参数。当且仅当time_or_dist_1为时间触发时有效,代表轨迹运行多少时间长度触发IO,单位ms。
trig_dist_1:轨迹起始点触发距离参数。当time_or_dist_1为距离触发时,代表轨迹运行多少距离长度触发IO,单位m。
trig_event_1 : 轨迹起始点触发目标用户自定义事件名称。目标触发触发事件需要预先在机器人系统事件功能中定义且名称匹配。事件触发优先级高于IO或寄存器触发优先级,即若存在目标触发自定义事件,则不会触发目标IO或寄存器。若目标触发IO或寄存器,该参数写空。
time_or_dist_2:轨迹结束点触发类型,0:不启用,1:时间触发,2:距离触发。
trig_io_2:轨迹结束点目标触发IO或寄存器索引号,定义如下:1-16为控制柜通用IO输出1-16,101-164为bool寄存器输出1-64,201-232为word寄存器输出1-32,301-332为float寄存器输出1-32,401-402为机器人末端IO输出1-2。
trig_value_2:轨迹结束点目标触发IO或寄存器目标值。当目标触发类型为IO时,0为低电平,非零为搞定平。当目标触发类型为寄存器时,trig_value_2的值会根据目标寄存器数据类型进行强制转换后输出。 。 trig_time_2:轨迹结束点触发时间参数。对于 time_or_dist_2为时间触发时有效。当trig_time_2 > =0时,代表轨迹运行剩余多少时间长度触发目标IO或寄存器,单位ms; 当trig_time_2 < 0时,代表代表轨迹运行结束后多少时间长度后触发目标IO与寄存器。
trig_dist_2:轨迹结束点触发距离参数。对于 time_or_dist_2为距离触发时有效,当trig_dist_2 > =0时,代表轨迹运行剩余多少距离长度触发IO,单位m; 当trig_dist _2 < 0时,代表代表轨迹运行结束后多少距离长度后触发目标IO与寄存器。
trig_event_2:轨迹结束点触发目标用户自定义事件名称。目标触发触发事件需要预先在机器人系统事件功能中定义且名称匹配。事件触发优先级高于IO或寄存器触发优先级,即若存在目标触发自定义事件,则不会触发目标IO或寄存器。若目标触发IO或寄存器,该参数写空。
!注意
Op参数在所有移动脚本中均为可缺省参数,即当没有Op指令时,不会再运动过程中触发IO、寄存器或事件
movej2( joints : axis, number : v, number : a, number : rad = 0, boolean : block = true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂从当前状态,按照各关节相位同步运动的方式移动到目标关节角状态。
参数说明:
axis : 目标机器人关节角度位置,范围[-2*PI, 2*PI],单位 (rad)。
v : 最大关节角速度指令,范围[0.01*PI/180, 1.25*PI],单位(rad/s)。
a : 最大关节角加速度指令,范围[0.01*PI/180, ∞],单位(rad/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op : 详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
movej2({0,0,1.57,0,-1.57,0},0.523,5.23,0)
movej_pose2(pose : p, number : v, number : a, number : rad, joints : qnear, string : tool, string : wobj, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂从当前状态,按照各关节相位同步运动的方式移动到末端目标位置。
参数说明:
p : 目标机器人工具在参考机器人工件坐标系中的位姿,位置单位m,姿态以Rx、Ry、Rz表示,范围[-2*PI, 2*PI],单位 (rad)。
v : 最大关节角速度,范围[0.01*PI/180, 1.25*PI],单位(rad/s)。
a : 最大关节加速度,范围[0.01*PI/180, ∞],单位(rad/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
qnear : 目标点附近位置对应的关节角度,用于确定逆运动学选解。
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op : 详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
movej_pose2({0.49,0.14,0.44,-3.14,0,-1.57},0.5,5,0,{0,0,1.57,0,-1.57,0} ,”default”,”default”)
movel( pose : p, number : v, number : a, number : rad, joints : qnear, string : tool, string : wobj, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂末端从当前状态按照直线路径移动到目标位姿。
参数说明:
p : 目标机器人工具在参考机器人工件坐标系中的位姿,位置单位m,姿态以Rx、Ry、Rz表示,范围[-2*PI, 2*PI],单位(rad)。
v : 最大末端线速度,范围[0.01, 5],单位(m/s)。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位(m),默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
qnear : 目标点附近位置对应的关节角度,用于校验机器人运动过程中逆运动学选解空间。
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op : 详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
movel({0.49,0.14,0.35,-3.14,0,-1.57},0.5,5,0,{0,0.02,1.77,-0.22,-1.57, 0},”default”,”default”)
movec( pose : p1, pose : p2, number : v, number : a, number : rad, number: mode, joints : qnear, string : tool, string : wobj, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂做圆弧运动,起始点为当前位姿点,途径p1点,终点为p2点。
参数说明:
p1 :圆弧运动过程中任意机器人工具在参考机器人工件坐标系中的位姿中间点,位置单位m,姿态以Rx、Ry、Rz表示范围[-2*PI, 2*PI],单位(rad) 。
p2 :目标机器人工具在参考机器人工件坐标系中的位姿,位置单位m,姿态以Rx、Ry、Rz表示范围[-2*PI, 2*PI],单位(rad) 。
v : 最大末端线速度,范围[0.01, 5],单位(m/s)。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
mode:姿态控制模式。
0:姿态与终点保持一致,即机器人会以p2点的姿态为目标姿态,平滑运动到目标姿态。
1:姿态与起点保持一致,即机器人会以开始执行movec函数时机器人末端工具坐标系在工件坐标系中的姿态为准,始终保持该姿态值。
2:姿态受圆心约束,即机器人会以开始执行movec函数时机器人末端工具坐标系与目标圆弧路径起点处切线方向间关系为参考,在圆弧运动过程中始终保持末端工具与圆弧实时运动所处位置切线方向参考关系。
qnear : 目标点附近位置对应的关节角度,用于校验机器人运动过程中逆运动学选解空间。
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op : 详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
movec({0.397,0.14,0.35,-3.14,0,-1.57},{0.397,0.04,0.35,-3.14,0,-1.57}, 0.5,5,0,{-0.47,-0.26,2.02,-0.19,-1.57,-0.47},”default”,”default”)
move_circle ( pose : p1, pose : p2, number : v, number : a, number : rad, number: mode, joints : qnear, string : tool, string : wobj, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂做圆周运动,起始点为当前位姿点,途径p1点和p2点
参数说明:
p1 圆周运动过程中任意机器人工具在参考机器人工件坐标系中的位姿中间点1,位置单位m,姿态以Rx、Ry、Rz表示范围[-2*PI, 2*PI],单位(rad) 。
p2 :圆周运动过程中任意机器人工具在参考机器人工件坐标系中的位姿中间点2,最终以机器人初始运动位置-p1-p2的顺序决定最终整圆轨迹,位置单位m,姿态以Rx、Ry、Rz表示范围[-2*PI, 2*PI],单位(rad) 。
v : 最大末端线速度,范围[0.01, 5],单位(m/s)。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
mode:姿态控制模式。
1:姿态与起点保持一致,即机器人会以开始执行movec函数时机器人末端工具坐标系在工件坐标系中的姿态为准,始终保持该姿态值。
2:姿态受圆心约束,即机器人会以开始执行movec函数时机器人末端工具坐标系与目标圆弧路径起点处切线方向间关系为参考,在圆弧运动过程中始终保持末端工具与圆弧实时运动所处位置切线方向参考关系。
qnear : 目标点附近位置对应的关节角度,用于校验机器人运动过程中逆运动学选解空间。
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
move_circle({0.5,0.0114,0.35,-3.14,0,-1.57},{0.358,0.144,0.35,-3.14,0, -1.57},0.5,5,0,{-0.01,-0.3,2.05,-0.179,-1.57,-0.012},”default”,” default”)
tcp_move(pose:pose_offset, number : v, number : a, number : rad, string : tool, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂沿工具坐标系直线移动一个增量。
参数说明:
pose_offset:pose数据类型,或者长度为6的number型数组,表示工具坐标系下的位姿偏移量。偏移量将会转换为齐次变换矩阵右乘于当前机器人末端位姿之上。
v:最大末端线速度,范围[0.01, 5],单位m/s,当x、y、z均为0时,线速度按比例换算成角速度。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
tool : 设置使用的工具的名称,默认为当前使用的工具。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
tcp_move({0,0,0.1,0,0,0},0.5,5,0 ,”default”)
tcp_move_2p (pose:p1, pose:p2 , number : v, number : a, number : rad, string : tool, string : wobj,boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机器人沿工具坐标系直线移动一个增量,增量为p1与p2点之间的差,运动的目标点为:当前点*p1-1*p2。
参数说明:
p1 :表示工具坐标系下的位姿偏移量计算点1。
p2 :表示工具坐标系下的位姿偏移量计算点2。
v:最大末端线速度,范围[0.01, 5],单位(m/s),当x、y、z均为0时,线速度按比例换算成角速度。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
tcp_move_2p({0.397,0.04,0.25,-3.14,0,-1.57},{0.397,-0.045,0.43,-3.14,0, -1.57},0.5,5,0,”default”,”default”)
wobj_move(pose:pose_offset, number : v, number : a, number : rad, string : wobj, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机械臂沿工件坐标系直线移动一个增量。
参数说明:
pose_offset:pose数据类型,或者长度为6的number型数组,表示工件坐标系下的位姿偏移量。
v:最大末端线速度,范围[0.01, 5],单位m/s,当x、y、z均为0时,线速度按比例换算成角速度。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
wobj : 设置使用的工件的名称,默认为当前使用的工件。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
wobj_move({0,0,0.1,0,0,0},0.5,5,0 ,”default”)
wobj_move_2p (pose:p1, pose:p2 , number : v, number : a, number : rad, string : tool, string : wobj,boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令控制机器人沿工件坐标系直线移动一个增量,增量为p1与p2点之间的位姿偏移在工件坐标系下的描述offsetwobj,运动的目标点为:当前点* offsetwobj。
参数说明:
p1 :表示工件坐标系下的位姿偏移量计算点1。
p2 :表示工件坐标系下的位姿偏移量计算点2。
v:最大末端线速度,范围[0.01, 5],单位(m/s),当x、y、z均为0时,线速度按比例换算成角速度。
a :最大末端线 加速度,范围[0.01, ∞],单位(m/s2)。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。产生融合运动时,机器人程序会根据融合预读取设定参数在运动指令执行过程中尝试提前获取后续运动函数。
tool : 参考点使用的工具的名称,默认为当前使用的工具。
wobj : 参考点使用的工件坐标系的名称,默认为当前使用的工件坐标系。
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
wobj_move_2p({0.397,0.04,0.25,-3.14,0,-1.57},{0.397,-0.045,0.43,-3.14,0, -1.57},0.5,5,0,”default”,”default”)
speedj (joints : axis_speed, number: a, number: t =-1)
函数说明:
该指令控制机械臂每个关节按照给定的速度一直运动,函数执行后会直接运行后续指令。运行 speedj函数后,机械臂会持续运动并忽略后续运动指令,直到接收到speed_stop()函数后停 止。
参数说明:
axis_speed:每个关节的速度,范围[0.01*PI/180, 1.25*PI],单位(rad/s)。
a: 主导轴的关节加速度,范围[0.01*PI/180, ∞],单位(rad/ s2)。
t: 运行时间,到达时间会停止运动,单位ms。 默认-1表示一直运行。
返回值:
无
示例:
speedj({0.2,0.2,0,0,0,0},5,3000)
speedl (pose : position_speed, number: a, number: t=-1)
函数说明:
该指令控制机械臂末端按照给定的速度一直运动,函数执行后会直接运行后续指令。运行speedl函数后,机械臂会持续运动并忽略后续运动指令,直到接收到speed_stop()函数后停止。
参数说明:
position_speed:末端速度向量,线速度范围[0.01, 5],单位(m/s),角速度范围(0, 1. 25*PI],单位(rad/s)。
a:末端的线性加速度,范围[0.01, ∞],单位(rad/ s2)。
t: 运行时间,到达时间会停止运动, 单位ms。 默认-1表示一直运行。
返回值:
无
示例:
speedl({0.2,0.2,0,0,0,0},5,3000)
speed_stop ( )
函数说明:
停止speedj及speedl函数的运动。
参数说明:
无
返回值:
无
示例:
speed_stop()
spline(pose_list : p_list, number : v, number : a, string : tool, string : wobj, boolean : block=true,Op,number : rad, boolean : def_acc=false)
函数说明:
样条运动函数,该指令控制机器人按照空间样条进行运动。
参数说明:
p_list:在设置工件坐标系下的末端位姿列表,最多不超过50个点,格式如下:
{p1,p2,p3,…,pi,…}
其中pi为空间位姿,如{0.4,0.5,0.5,1.2,0.717,1.414}。
v : 最大末端线速度,范围[0.01, 5],单位(m/s)。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
rad : 轨迹融合半径,单位m,默认值为 0,表示无融合。当数值大于0时表示与下一条运动融合。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
spline({{0.397,-0.11,0.5,-3.14,0,-1.57},{0.397,-0.11,0.43,-3.14,0,-1. 57},{0.316,-0.11,0.43,-3.14,0,-1.57}},0.5,5,”default”,”default”)
警告
连续两条spline一起使用时,需要注意前一条的spline结束点与后一条的spline起始点,不能是同一个点。
move_spiral(pose_list : p1, pose_list : p1, number : rev, number : len, number : rad, number : mode, number : v, number : a, joints : qnear, string : tool, string : wobj, boolean : block=true,Op, boolean : def_acc=false)
函数说明:
该指令通过参数或者结束点两种设置方式,在笛卡尔空间做螺旋轨迹运动。
参数说明:
p1 : 螺旋线中心点位姿。
p2 : 螺旋线的目标点位姿,参数设置模式时不参考此参数。
rev : 总旋转圈数,rev < 0,表示顺时针旋转;rev > 0,表示逆时针旋转。
len : 轴向移动距离,正负号遵循右手定则,结束点设置模式时不参考
此参数,单位(m)。
red : 目标点半径,结束点设置模式时不参考此参数,单位(m)。
mode : 螺旋线示教模式,0:参数设置,1:结束点设置。
v : 最大末端线速度,范围[0.01, 5],单位(m/s)。
a : 最大末端线加速度,范围[0.01, ∞],单位(m/s2)。
qnear : 目标点位置对应的关节角度,用于确定逆运动学选解,单位(rad)
tool : 设置使用的工具的名称,默认为当前使用的工具。
wobj : 设置使用的工件坐标系的名称,默认为当前使用的工件坐标系
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回,默认为阻塞。
Op:详见上方Op特殊类型说明,可缺省参数。
def_acc : 是否使用默认加速度,默认为false,可缺省参数。当开启默认加速度时,执行运动时最大加速度参数不在生效,系统将会根据实际工况计算机器人可以产生的最大加速度指令进行运动,从而提升节拍。
返回值:
无
示例:
move_spiral({{0.41,0.008,0.43,-3.14,0,-1.57},{},2,0.2,0,0.1,nil,” default”,”default”)
hand_teach ( )
函数说明:
当运行脚本程序时,该函数调用并且触发末端牵引按钮时,可以启用手动牵引功能。
参数说明:
无
返回值:
无
示例:
hand_teach()
replay(string : name, number : v, number : mode)
函数说明:
该函数用于对记录的轨迹基于关节空间(或基于笛卡尔空间)复现。
参数说明:
name : 轨迹名称
v : 轨迹速度,(系统设定速度的百分比%),取值范围(0,100]。
mode : 复现方式,0:基于关节空间,1:基于笛卡尔空间。
返回值:
无
示例:
replay(“tmp”, 100,0)
is_moving()
函数说明:
该函数判断机器人是否处于运动状态。
参数说明:
无。
返回值:
True : 机器人正在运动;
False :机器人没有运动。
示例:
is_moving()
set_blend_ahead (number :per, number:pre_num)
函数说明:
该函数用于设置融合预读取百分比以及预读取运动指令数量。
参数说明:
per : 融合预读取的百分比,单位:%,通常设为0或者50。
pre_num:当前仅当融合预读取百分比参数设置为0时生效,可缺省,范围[1,3],默认为1,即仅额外预读取一行运动指令。在机器人目标工作在高速连续短轨迹融合运动时,若不存在过程逻辑问题,应尽可能设置较大的预读取轨迹数量以保证融合稳定性。
返回值:
无
示例:
set_blend_ahead (0,2)
网络通信#
socket_open( string : ip, number : port, string : name ="socket1" , number : timeout=3000)
函数说明:
创建一个以太网客户端并连接目标服务端,如果超时时间内没有创建成功,那么链接创建失败并返回false。
参数说明:
ip:服务器端的IP地址,需要用“”括起来。
port:服务器端的端口号。
name: 连接名称,可省略,默认为“socket1”。
tiomeout : 设置超时时间,单位(ms),默认3000ms。
返回值:
true: 操作成功。
false: 操作失败。
示例:
socket_open("192.168.67.60",2003,"socket2",3000)
socket_write (msg_send,string : name="socket1", number : timeout=3000)
函数说明:
发送数据给已连接的服务器,函数根据不同数据类型自动判断。
参数说明:
msg_send : 需要发送的数据,接受以下类型:
<1> 字符串,需要以“作为字符串头并且已”作为字符串结尾。
<2> number列表,列表中每个数据为32位float。
name: 连接名称,默认为“socket1” 。
tiomeout : 设置超时时间,单位(ms),默认3000ms。
返回值:
true: 操作成功。
false: 操作失败。
示例:
socket_write ("send message", "socket1",1000)
socket_write ({1,2,3.14},"socket1",1000)
socket_read_string(number:length,string:prefix="",string:subfix="", string: name="socket1", number:timeout = 3000)
函数说明:
从已连接的服务器接收一定长度的字符串。
参数说明:
length:需要接收的字符串长度,当设置后缀时,长度参数无效。
prefix:接收的字符串前缀,默认为空,当设置前缀后,从设置前缀开始读取,直至达到设置长度或者设置后缀。
subfix:接收的字符串的后缀,默认为空,当设置后缀后,从字符串开始位置读取,直至读取到设置后缀,当达到最大限制长度255时,返回255字节长度的字符串。
name: socket连接的名字,字符串格式。
timeout: 超时时间,单位ms。不填写时默认为3000ms。
返回值:
收到字符串信息,如果读取失败,返回空string。
示例:
socket_read_string (10, " ", " ","socket1",3000)
socket_read_str_num (string:name="socket1",number: timeout = 3000)
函数说明:
从已连接的服务器接收一组字符串,解析成num数值,所有数据应当在括号内,数据之间通过“,”隔开,数据格式为:(num1,num2,num3)
参数说明:
name: socket连接的名字,字符串格式。
timeout: 超时时间,单位(ms)。不填写时默认为3000ms。
返回值:
收到的number型列表,如果读取失败返回空列表。
示例:
list=socket_read_str_num("socket",1000)
socket_read_num(number:count, name="socket1",timeout = 3000)
函数说明:
从已连接的服务器接收一组浮点数。
参数说明:
count:需要接收的数据个数,每个数据为单精度浮点数。
name:socket连接的名字,字符串格式。
timeout: 超时时间,单位(ms)。不填写时默认为3000ms。
返回值:
收到的number列表,如果读取失败返回空列表。
示例:
list= socket_read_num (10, "socket",1000)
socket_close( string : name = "socket1")
函数说明:
关闭和服务器端的以太网通信链接。
参数说明:
name: 连接名称,默认为“socket1” 。
返回值:
无
示例:
list= socket_close ("socket")
set_data_frequence( number : freq)
函数说明:
设置2001端口数据的发送频率。
参数说明:
freq: 发送频率,范围[1,100],单位hz。
返回值:
无
示例:
list= set_data_frequence (10)
socket_write_byte_list (table:list,table:head,table:tail,name=”socket1”,timeout=3000)
函数说明:
发送byte类型数据给已连接的服务器。
参数说明:
list: 发送的byte类型数据列表
head:数据头。该数据可缺省。
tail:数据尾。该数据可缺省。
name: socket连接的名字,字符串格式,默认为socket1。
timeout: 超时时间,单位(ms)。不填写时默认为3000ms。
返回值:
true: 操作成功。
false: 操作失败。
示例:
socket_write_byte_list ({255,254,1,2,3,253,252},”socket1” ,3000)
socket_write_byte_list ({1,2,3},{255,254},{253,252}"socket1",1000)
socket_read_byte_list (table:head, int:len(table:tail),name=”socket1”,timeout=3000)
函数说明:
从已连接的服务器接收一组byte类型数据。
参数说明:
head: 数据头。该数据可缺省,如果缺省,则数据长度是必要参数;如果使用数据头,则数据长度或数据尾,可任选一种。
len:数据长度。可以用数据头与数据尾代替。
tail:数据尾。该数据可缺省。
name: socket连接的名字,字符串格式,默认为socket1。
timeout: 超时时间,单位(ms)。不填写时默认为3000ms。
返回值:
收到的byte_list列表,如果读取失败返回空列表。
示例:
list=socket_read_byte_list (10,”socket1” ,3000);
list=socket_read_byte_list ({255,254},10,”socket1” ,3000);
list=socket_read_byte_list ({255,254},{253,252},”socket1” ,3000);
can及485总线#
read_raw_data_485 (number:len, number:time=3000)
函数说明:
485端口在设置的时间内读取长度为len的字节数据。
参数说明:
len:需要读取的长度。
time:等待时间,默认3000ms,单位(ms)。
返回值:
number_list读取到的数据,在规定的时间内,接收到指定长度的数据会立即返回,未接收到指 定长度的数据时,等待结束后,返回收到的数据。
示例:
list= read_raw_data_485 (10,3000)
read_raw_data_485 (number_list:head, number_list:tail, number:time=3000)
函数说明:
匹配头head和尾tail读取到一帧匹配的数据。
参数说明:
head:需要匹配的头数据。
tail:需要匹配的尾数据。
time:等待时间,默认3000ms,单位(ms)。
返回值:
number_list读取到的数据,在规定的时间内,接收到指定长度的数据会立即返回,未接收到指 定长度的数据时,等待结束后,返回收到的数据。
示例:
list= read_raw_data_485 ({255,1},{1,255})
read_raw_data_485 (number_list:head, number:len, number:time=3000)
函数说明:
匹配头head后读取到长度为len的一帧数据。
参数说明:
head:需要匹配的头数据。
len:需要读取的长度。
time:等待时间,默认3000ms,单位(ms)。
返回值:
number_list读取到的数据,在规定的时间内,接收到指定长度的数据会立即返回,未接收到指 定长度的数据时,等待结束后,返回收到的数据。
示例:
list= read_raw_data_485 ({255,1},10)
read_data_485 ()
函数说明:
配方485读数据,按照配方将输入的数据转换成配方后的数据(自定义配方情况下使用)。
参数说明:
无
返回值:
number_list读取到的数据,未读到数据返回空列表。
示例:
list= read_data_485 ()
write_raw_data_485 (number_list:value)
函数说明:
485写原生数据,将列表value中的数据写入485端口。
参数说明:
value:需要写入的数据列表。
返回值:
true:成功。
false:失败。
示例:
write_raw_data_485 ({1,2,3})
write_raw_data_485 (number_list:value,number_list:head)
函数说明:
485写原生数据,将列表value中的数据加上head写入485端口。
参数说明:
value:需要写入的数据列表。
head:需要添加的头。
返回值:
true:成功。
false:失败
示例:
write_raw_data_485 ({1,2,3},{255,255})
write_raw_data_485 (number_list:value,number_list:head, number_list:tail)
函数说明:
485写原生数据,将列表value中的数据加上头head和尾tail写入485端口。
参数说明:
value:需要写入的数据列表。
head:需要添加的头。
tail:需要添加的尾
返回值:
true:成功。
false:失败。
示例:
write_raw_data_485 ({1,2,3},{255,255},{255,255})
write_data_485 (number_list:value)
函数说明:
配方485写数据,按照配方的输出配置将转换后的流数据写入485端口(自定义配方情况)。
参数说明:
value:需要写入的数据列表。
返回值:
true:成功。
false:失败。
示例:
write_data_485 ({255,255,1,1,1,238,238})
tool_read_raw_data_485 (number:len)
函数说明:
末端485端口读取长度为len的字节数据。
参数说明:
len:需要读取的长度。
返回值:
number_list读取到的数据,未读到数据返回空列表。
示例:
list= tool_read_raw_data_485 (10)
tool_read_raw_data_485 (number_list:head, number_list:tail)
函数说明:
末端485匹配头head和尾tail读取到一帧匹配的数据。
参数说明:
head:需要匹配的头数据。
tail:需要匹配的尾数据。
返回值:
number_list读取到的数据,未读到数据返回空列表。
示例:
list= tool_read_raw_data_48 ({255,1},{1,255})
tool_read_raw_data_485 (number_list:head, number:len)
函数说明:
末端485匹配头head后读取到长度为len的一帧数据。
参数说明:
head:需要匹配的头数据。
len:需要读取的长度。
返回值:
number_list读取到的数据,未读到数据返回空列表。
示例:
list= tool_read_raw_data_485 ({255,1},10)
tool_read_data_485 ()
函数说明:
末端配方485读数据,按照配方将输入的数据转换成配方后的数据(自定义配方情况下使用)。
参数说明:
无
返回值:
number_list读取到的数据,未读到数据返回空列表。
示例:
list= tool_read _data_485 ()
tool_write_raw_data_485 (number_list:value)
函数说明:
末端485写原生数据,将表value中的数据写入485端口。
参数说明:
value:需要写入的数据列表。
返回值:
true:成功。
false:失败。
示例:
tool_write_raw_data_485 ({1,2,3})
tool_write_raw_data_485 (number_list:value,number_list:head)
函数说明:
末端485写原生数据,将表value中的数据加上head写入485端口。
参数说明:
value:需要写入的数据列表。
head:需要添加的头。
返回值:
true:成功。
false:失败
示例:
tool_write_raw_data_485 ({1,2,3},{255,255})
tool_write_raw_data_485 (number_list:value,number_list:head, number_list:tail)
函数说明:
末端485写原生数据,将表value中的数据加上头head和尾tail写入485端口。
参数说明:
value:需要写入的数据列表。
head:需要添加的头。
tail:需要添加的尾
返回值:
true:成功。
false:失败。
示例:
tool_write_raw_data_485 ({1,2,3},{255,255},{255,255})
tool_write_data_485 (number_list:value)
函数说明:
末端配方485写数据,按照配方的输出配置将转换后的流数据写入485端口(自定义配方情况)。
参数说明:
value:需要写入的数据列表。
返回值:
true:成功。
false:失败。
示例:
tool_write_data_485 ({255,255,0,0,0,255,255})
read_raw_data_can ()
函数说明:
读取一帧can的字节数据。
参数说明:
无
返回值:
number_list读取到的数据,未读到数据返回空列表,读到数据时,列表的第一个数据为发送端的can帧 id。
示例:
list = read_raw_data_can ()
read_raw_data_can (number:id)
函数说明:
根据id读取一帧can的字节数据。
参数说明:
id:需要读取的帧id。
返回值:
number_list读取到的数据,未读到数据返回空列表,读到数据时,列表的第一个数据为发送端的can id。
示例:
list = read_raw_data_can (1)
read_data_can ()
函数说明:
配方can读数据,按照配方将输入的数据转换成配方后的数据(自定义配方情况下)。
参数说明:
无
返回值:
number_list读取到的数据,未读到数据返回空列表,读到数据时,列表的第一个数据为发送端的can id。
示例:
list = read_data_can ()
write_raw_data_can (number:id, number_list:value)
函数说明:
can写帧为id,数据为value的原生数据。
参数说明:
id:数据帧的id。
value:要发送的数据列表。
返回值:
true:成功。
false:失败。
示例:
write_raw_data_can (1,{1,2,3})
write_data_can (number: id, number_list: value)
函数说明:
can写帧为id,数据为value的配方数据。
参数说明:
id:数据帧的id。
value:要发送的数据列表。
返回值:
true:成功。
false:失败。
示例:
write_data_can (1,{1,2,3})
系统函数及外设#
!注意
若范围参数越界,函数将返回false或0
sleep( number : time )
函数说明:
该函数会让程序暂停一定时间。
参数说明:
time : 需要暂停的时间,单位(ms)。
返回值:
无
示例:
sleep (1000)
set_digital_output_mode (number : portnum, number: type, number: freq, number: duty_cycle )
函数说明:
该函数可设置控制柜上的通用IO输出的信号类型。
参数说明:
portnum : 控制柜上的IO输出口序号,范围从1-16。
type : 0为电平模式,1为周期脉冲模式。
freq : 频率,单位:Hz,范围从1-100。
duty_cycle : 占空比,单位:%,1-100。
参数错误时函数不改变IO输出信号类型。
类型设置完成后,若设置未电平迷失,则需要主动发送输出信号才能生效。若设置成周期脉冲模式后,需要发送一个高电平的启动信号。
返回值:
无
示例:
set _digital_out_mode (1,1,100,50)
set_standard_digital_out (1,true)
备注
若要将通用output修改为脉冲输出,在对通用IO输出类型完成配置后,仍然需要使用set_standard_digital_out函数来控制脉冲的有无。当前仅允许对脉冲类型统一设置,无法对不同通用output口,设置不同的脉冲类型。脉冲脉宽的最小识别率为1ms。即当频率为100hz时,占空比最小值为10。若超出范围将关闭脉冲输出。
set_standard_digital_out (number : portnum, boolean: val )
函数说明:
该函数可控制控制柜上的通用IO输出口的高低电平。
参数说明:
portnum : 控制柜上的IO输出口序号,范围从1-16。
val : true为高电平,false为低电平。
参数错误时函数不改变IO输出。
返回值:
无
示例:
set_standard_digital_out (1,true)
get_standard_digital_out (number : portnum )
函数说明:
该函数可读取控制柜上的通用IO输出口的高低电平,返回true为高电平,false为低电平。若对应的IO输出口被配置为周期性脉冲模式,则该接口返回值不具备参考意义。
参数说明:
portnum : 控制柜上的IO输出口序号,范围从1-16。
返回值:
boolean,返回true为高电平,false为低电平。
示例:
value = get_standard_digital_out (1)
get_standard_digital_in (number : portnum )
函数说明:
该函数可读取控制柜上的通用IO输入口的高低电平,返回true为高电平,false为低电平。
参数说明:
portnum : 控制柜上的IO输入口序号,范围从1-16。
返回值:
boolean,返回true为高电平,false为低电平。
示例:
value = get_standard_digital_in (1)
set_tool_digital_out ( number : portnum, boolean : val )
函数说明:
该函数可控制机械臂末端的IO输出口的高低电平。
参数说明:
portnum : 机械臂末端的IO输出口序号,范围从1-2。
val : true为高电平,false为低电平。
参数错误时函数不改变IO输出。
返回值:
无
示例:
set_tool _digital_out (1, true)
get_tool_digital_in ( number : portnum )
函数说明:
该函数可读取机械臂末端的IO输入口的高低电平,返回true为高电平,false为低电平。
参数说明:
portnum : 机械臂末端的IO输入口序号,范围从1-2。
返回值:
boolean,返回true为高电平,false为低电平。
示例:
value = get_tool _digital_in (1)
get_tool_digital_out ( number : portnum )
函数说明:
该函数可读取机械臂末端的IO输出口的高低电平,返回true为高电平,false为低电平。
参数说明:
portnum : 机械臂末端的IO输出口序号,范围从1-2。
返回值:
boolean,返回true为高电平,false为低电平。
示例:
value = get_tool _digital_out (1)
get_function_digital_in ( number : portnum )
函数说明:
该函数可读取控制柜功能输入IO高低电平,返回true为高电平,false为低电平。
参数说明:
portnum : 控制柜功能IO输入口序号,范围从1-8。
返回值:
boolean,返回true为高电平,false为低电平。
示例:
value = get_function _digital_in (1)
get_function_digital_out ( number : portnum )
函数说明:
该函数可读取控制柜功能输出IO高低电平,返回true为高电平,false为低电平。
参数说明:
portnum : 控制柜功能IO输出口序号,范围从1-8。
返回值:
boolean,返回true为高电平,false为低电平。
示例:
value = get_function _digital_out (1)
get_standard_analog_voltage_in ( int : num )
函数说明:
该函数可读取控制柜上的模拟电压输入。
参数说明:
num : 控制柜上的模拟电压通道序号,范围从1-4。
返回值:
对应通道的模拟电压值。
示例:
value = get_standard_analog_voltage_in (1)
set_standard_analog_voltage_out ( int : num, double : value, bool : block )
函数说明:
该函数可设置控制柜上的模拟电压输出。
参数说明:
num : 控制柜上的模拟电压通道序号,范围从1-4;
value : 设置的模拟电压值,范围[0,10],单位V;
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回。
返回值:
当配置为阻塞执行,返回值代表当前任务结束时的状态,当配置为非阻塞执行,返回值代表当前任务的id信息,用户可以调用get_noneblock_taskstate(id)函数查询当前任务的执行状态。
示例:
value = set_standard_analog_voltage_out (1, 1.5, true)
get_tool_analog_voltage_in ( int : num )
函数说明:
该函数可读取机械臂末端的模拟电压输入,单位V。
参数说明:
num : 机械臂末端的模拟电压通道序号,范围从1-2。
返回值:
对应通道的模拟电压值。
示例:
value = get_tool_analog_voltage_in (1)
get_standard_analog_current_in ( int : num )
函数说明:
该函数可读取控制柜上的模拟电流输入,单位mA。
参数说明:
num : 控制柜上的模拟电流通道序号,范围从1-4。
返回值:
对应通道的模拟电流值
示例:
value = get_standard_analog_current_in (1)
set_standard_analog_current_out ( int : num, double : value, bool : block )
函数说明:
该函数可设置控制柜上的模拟电流输出。
参数说明:
num : 控制柜上的模拟电流通道序号,范围从1-4;
value : 设置的模拟电流值, 范围[4,20], 单位mA;
block : 指令是否阻塞型指令,如果为false表示非阻塞指令,指令会立即返回。
返回值:
当配置为阻塞执行,返回值代表当前任务结束时的状态,当配置为非阻塞执行,返回值代表当前任务的id信息,用户可以调用get_noneblock_taskstate(id)函数查询当前任务的执行状态。
示例:
value = set_standard_analog_current_out (1, 1.5,true)
get_standard_analog_current_out ( int : num )
函数说明:
该函数可获取控制柜上的模拟电流输出。
参数说明:
num : 控制柜上的模拟电流通道序号,范围从1-4;
返回值:
对应通道的模拟电流值。
示例:
value = get_standard_analog_current_out (1)
get_standard_analog_voltage_out ( int : num )
函数说明:
该函数可获取控制柜上的模拟电压输出。
参数说明:
num : 控制柜上的模拟电压通道序号,范围从1-4;
返回值:
对应通道的模拟电压值。
示例:
value = get_standard_analog_voltage_out (1)
write_reg(number: num, number: type, val)
函数说明:
该函数可修改内部寄存器的值。
参数说明:
num: 内部寄存器序号。
type: 修改的寄存器类型1为bool寄存器,2为word寄存器,3为float寄存器。
val: 根据type类型确定val类型。
当type为1时,val类型为boolean,true表示真,false表示假,num范围为1-64
当type为2时,val类型为number,并且为整数,范围0-65535,num范围为1-32
当type为3时,val类型为number,num范围为1-32
参数错误时函数不改变内部寄存器数值。
返回值:
无
示例:
write_reg( 5, 1,true)
read_reg (number: num, number: type, number: in_out)
函数说明:
该函数可读取内部寄存器的值。
参数说明:
num: 内部寄存器序号。
type: 寄存器类型1为bool寄存器,2为word寄存器,3为float寄存器。
当type为1时,num范围为1-64。
当type为2时,num范围为1-32。
当type为3时,num范围为1-32。
参数错误时函数不改变内部寄存器数值。
in_out:为0时代表读取输入寄存器,1代表读取输出寄存器。
返回值:
当type为1时,返回值类型为boolean,true表示真,false表示假。
当type为2时,返回值类型为number,并且为整数,范围为0-65535。
当type为3时,返回值类型为number。
示例:
ret=read_reg(10,1,1)
get_function_reg_in ( number : portnum )
函数说明:
该函数可读取功能输入寄存器值。
参数说明:
portnum : 功能输入寄存器序号,范围从1-16。
返回值:
boolean,返回true为真,false为假。
示例:
ret= get_function_reg_in (1)
get_function_reg_out ( number : portnum )
函数说明:
该函数可读取功能输出寄存器值。
参数说明:
portnum : 功能输出寄存器序号,范围从1-16。
返回值:
boolean,返回true为真,false为假。
示例:
ret= get_function_reg_out (1)
set_wobj_offset (boolean : val ,number_list: wobj_offset)
函数说明:
基于当前的工件坐标系设置一个偏移量,后续的move类脚本的参考工件坐标系上都将添加这个偏移量。该偏移量以右乘的形式叠加在当前工件坐标系的初始值上。
参数说明:
val : true为启用偏移量,false为取消偏移量。
wobj_offset:{x, y, z, rx, ry, rz}工件坐标系偏移量(单位:m,rad)。
返回值:
无
示例:
ret= set_wobj_offset (true, {0.1,0,0,0,0,0})
set_tool_data(string: name, number_list: tool_offset, number_list: load, number_list inertia_tensor)
函数说明:
该函数会设置当前生效工具信息,设置成功后,后续运动函数中的TCP设置为空(即使用当前坐标系)时,使用该工具参数。
参数说明:
name:工具的名字,类型string,最长不超过32个字节长度。
tool_offset: 工具TCP偏移量 {x_off,y_off,z_off,rx,ry,rz},单位(m,rad)。
load:末端工具质量,质心,{mass,x_cog,y_cog,z_cog},相对于法兰坐标系,单位(kg,m)。
inertia_tensor: 末端工具惯量矩阵参数,参数1-6分别对应矩阵xx、xy、xz、yy、yz、zz元素,单位kg*m^2,可缺省,缺省时默认为0。
返回值:
无
示例:
ret= set_tool_data (“default”, {0.1,0,0,0,0,0}, {5,0,0.05,0},{0,0,0,0,0,0})
警告
该函数只会临时修改当前控制器软件中生效的工具的信息。即使目标工具名称与当前机器人系统中已存在工具名称相同,也不会修改该工具的原始参数信息。当其他函数以名称的方式在此访问并使用该工具时,其相关信息仍为原始信息。若想要永久性修改目标工具信息,请使用set_tool_data_workcell代替该函数。
set_wobj(string: name, number_list: wobj_offset)
函数说明:
该函数会设置当前生效工件坐标系信息,设置成功后,后续运动函数中的wobj设置为空(即使用当前坐标系)时,使用该工件坐标系参数。
参数说明:
name:工件坐标系的名字,类型string,最长不超过32个字节长度。
wobj_offset: 工件坐标系偏移量 {x_off,y_off,z_off,rx,ry,rz},单位(m,rad)。
返回值:
无
示例:
ret= set_wobj (“default”, {0.1,0,0,0,0,0})
警告
该函数只会临时修改当前控制器软件中生效的工件坐标系信息。即使目标工件坐标系名称与当前机器人系统中已存在工件坐标系名称相同,也不会修改该工件坐标系的原始参数信息。当其他函数以名称的方式在此访问并使用该工件坐标系时,其相关信息仍为原始信息。若想要永久性修改目标工件坐标系信息,请使用set_wobj_workcell代替该函数。
set_load_data (number_list: load)
函数说明:
设置抓取负载。可以在程序运行过程中设置机器人当前除工具以外的负载信息(质量、质心)。
参数说明:
load:末端工具抓取负载质量,质心,{mass,x_cog,y_cog,z_cog},相对于工具坐标系,质量范围[0, 35],单位(kg,m)。
返回值:
无
示例:
ret= set_load_data ({5,0,0.05,0})
警告
该函数会永久性改变当前除工具外的负载信息,即程序结束运行后仍然会保持。因此若出现运行该函数且程序停止运行后力控相关功能异常的情况,优先确认是否负载信息未被正确复位。
cal_ikine(pose : p, joints : q_near,number_list:tcp,number_list:wobj)
函数说明:
基于目标工具在工件坐标系中的笛卡尔空间位姿,通过机器人逆运动学计算机器人对应的关节角位置,在求解过程中,会选取靠近参考关节角位置或当前机械臂关节位置的解。
参数说明:
p:需要计算的末端位姿在设置工件坐标系的值,包含当前有效的工具偏移量,位置单位m,姿态单位rad。
q_near :用于计算逆运动学的参考关节位置,为空时使用当前关节值。
tcp : 工具坐标系信息,tcp偏移量{x_off,y_off,z_off,rx,ry,rz},(单位:m,rad),为空使用当前工具。
wobj: 工件坐标系相对于世界坐标系的位移{x, y, z, rx, ry, rz},(单位:m,rad),为空使用当前工件坐标系。
返回值:
返回的关节位置列表{q1,q2,q3,q4,q5,q6}
示例:
ret= cal_ikine({0.492,0.140,0.442,-3.14,0,-1.57},{},{},{})
cal_fkine(joints:axis,number_list:tcp,number_list:wobj)
函数说明:
基于目标机器人关节角位置,通过机器人正运动学计算目标工具在目标工件坐标系中的笛卡尔空间位姿。
参数说明:
axis : 目标机器人关节角位置,单位(rad)。
tcp : 目标工具坐标系信息,TCP偏移量{x_off,y_off,z_off,rx,ry,rz},(单位:m,rad),为空使用当前工具。
wobj: 目标工件坐标系相对于世界坐标系的偏移量{x, y, z, rx, ry, rz},(单位:m,rad),为空使用当前工件。
返回值:
返回末端姿态列表{x,y,z,rx,ry,rz}
示例:
ret= cal_fkine({0,0,1.57,0,-1.57,0},{},{})
get_tcp_pose()
函数说明:
该函数可获取当前状态下机械臂当前生效工具在基坐标系下的位姿。
参数说明:
无
返回值:
返回末端位置pose。
示例:
ret= get_tcp_pose()
get_tcp_pose_coord(string : tool, string : wobj)
函数说明:
该函数可获取末端法兰在目标工具坐标系参考目标工件坐标系下的位姿。
参数说明:
tool: 工具坐标系名称,默认为当前使用的坐标系。
wobj: 工件坐标系名称,默认为当前使用的坐标系。
返回值:
末端法兰的位姿,单位(m, rad)。
示例:
ret= get_tcp_pose_coord (“tool_1”, “wobj _1”)
get_tcp_speed()
函数说明:
该函数可获取当前状态下机械臂当前生效工具末端原点的空间速度。
参数说明:
无
返回值:
末端速度列表,单位m/s,rad/s。
示例:
ret= get_tcp_speed()
get_tcp_acceleration()
函数说明:
该函数可获取当前状态下机械臂工具当前生效工具末端原点的空间加速度。
参数说明:
无
返回值:
末端加速度列表,单位(m/s2, rad/s2)。
示例:
ret= get_tcp_acceleration()
get_tcp_force()
函数说明:
该函数可获取当前机械臂工具当前生效工具末端原点的空间力信息。该函数当且仅当安装了末端力传感器并正确配置启用时有效。
参数说明:
无
返回值:
返回末端力矩信息,{Fx,Fy,Fz,Mx,My,Mz},单位N、N.m。
示例:
ret= get_tcp_force()
get_tcp_force_tool(string : tool)
函数说明:
该函数可获取机械臂工具末端在目标工具坐标系下的力矩信息。该函数当且仅当安装了末端力传感器并正确配置启用时有效。
参数说明:
tool: 工具坐标系名称,默认为当前使用的坐标系。
返回值:
返回工具坐标系下的力矩信息,{Fx,Fy,Fz,Mx,My,Mz},单位(N、N.m)。
示例:
ret= get_tcp_force_tool (“tool_1”)
get_tcp_offset()
函数说明:
该函数可获取当前状态下机械臂有效的末端工具的偏移量。
参数说明:
无
返回值:
{x_off,y_off,z_off,rx,ry,rz}返回TCP偏移量信息,单位(m, rad)。
示例:
ret= get_tcp_offset()
get_tool_load()
函数说明:
该函数可获取当前设置工具的有效负载质量、质心位置和惯性张量。
参数说明:
无
返回值:
质量单位kg,质心位置单位(m),{mass,x_cog,y_cog,z_cog,t_1,t_2, t_3,t_4,t_5,t_6,}。
示例:
ret= get_tcp_load()
get_wobj()
函数说明:
该函数可获取当前设生效的工件坐标系的值。
参数说明:
无
返回值:
{x, y, z, rx, ry, rz}工件坐标系相对于世界坐标系的偏移量,单位(m,rad)。
示例:
ret= get_wobj()
get_actual_joints_position()
函数说明:
该函数可获取当前状态下机械臂各关节位置角度。
参数说明:
无
返回值:
返回1-6轴关节角度列表,单位(rad)。
示例:
ret= get_actual_joints_position()
get_target_joints_position()
函数说明:
该函数可获取当前状态下机械臂各关节位置指令角度。
参数说明:
无
返回值:
返回1-6轴关节角度列表,单位(rad)。
示例:
ret= get_target_joints_position()
get_actual_joints_speed()
函数说明:
该函数可获取当前状态下机械臂各关节角速度。
参数说明:
无
返回值:
返回1-6轴关节速度列表,单位(rad/s)。
示例:
ret= get_actual_joints_speed()
get_target_joints_speed()
函数说明:
该函数可获取当前状态下机械臂各关节角速度指令。
参数说明:
无
返回值:
返回1-6轴关节速度列表,单位(rad/s)。
示例:
ret= get_target_joints_speed()
get_actual_joints_acceleration()
函数说明:
该函数可获取当前状态下机械臂各关节角加速度。
参数说明:
无
返回值:
返回1-6轴关节加速度列表,单位(rad/ s2)。
示例:
ret= get_actual_joints_acceleration()
get_target_joints_acceleration()
函数说明:
该函数可获取当前状态下机械臂各关节角加速度指令。
参数说明:
无
返回值:
返回1-6轴关节加速度列表,单位(rad/ s2)。
示例:
ret= get_target_joints_acceleration()
get_actual_joints_torque()
函数说明:
该函数可获取当前状态下机械臂各关节力矩。
参数说明:
无
返回值:
返回1-6轴关节力矩列表,单位(N.m)。
示例:
ret= get_actual_joints_torque()
get_target_joints_torque()
函数说明:
该函数可获取当前状态下机械臂各关节力矩指令。
参数说明:
无
返回值:
返回1-6轴关节力矩列表,单位(N.m)。
示例:
ret= get_target_joints_torque()
get_flange_pose()
函数说明:
该函数可获取当前状态下机械臂末端法兰在基坐标系下的位姿。
参数说明:
无
返回值:
末端法兰位置pose。
示例:
ret= get_flange_pose()
get_flange_speed()
函数说明:
该函数可获取当前状态下机械臂末端法兰在基坐标系下的速度。
参数说明:
无
返回值:
末端法兰速度列表,单位(m/s, rad/s)。
示例:
ret= get_flange_speed()
get_flange_acceleration()
函数说明:
该函数可获取当前状态下机械臂末端法兰在基坐标系下的加速度。
参数说明:
无
返回值:
末端法兰加速度列表,单位(m/ s2,rad/ s2)。
示例:
ret= get_flange_acceleration()
sub_program( string : program_name, string: tree_name )
函数说明:
调用子程序。
参数说明:
program_name : 子程序名。
tree_name:子程序树节点名称,显示使用。
返回值:
无
示例:
sub_program("program1.jspf", " ")
start_record_track (string : name, number : mode, string : tool, string : wobj)
函数说明:
该函数开启轨迹记录,当超过允许记录的轨迹长度(针对基于位置记录)或允许记录的时长时(针对基于时间记录),会自动停止文件记录,并且暂停当前运行的程序。文件会记录机器人的各关节弧度值和选定工具、工件坐标系下的笛卡尔空间位姿。
参数说明:
name : 轨迹名称。
mode : 轨迹类型,mode=0基于位置记录(与上一记录点所有关节偏移总量到达5°时记录新点);mode=1基于时间记录(与上一记录点间隔250ms记录新点)。
tool : 工具坐标系名称。
wobj : 工件坐标系名称。
返回值:
无
示例:
start_record_track (“track”,0,”default”,”default”)
stop_record_track()
函数说明:
该函数停止轨迹记录。
参数说明:
无。
返回值:
无
示例:
stop_record_track()
collision_detect (number:level)
函数说明:
设置碰撞检测等级。
参数说明:
level:0:关闭碰撞检测,1-5:对应设置碰撞检测等级1到等级5。
返回值:
无
示例:
collision_detect (1)
set_value (string:name,var:data)
函数说明:
设置系统变量值。
参数说明:
name:系统变量名称
var:设置的系统变量值,根据对应的系统变量类型确定其类型
当系统变量类型为:
boolean,data类型为boolean;
number, data类型为number;
string, data类型为string;
number_list, data类型为number_list;
pose, data类型为number_list;
joints, data类型为number_list;
返回值:
无
示例:
set_value (“g_data”,true)
get_value (string:name)
函数说明:
获取系统变量值。
参数说明:
name:系统变量名称
返回值:
ret:根据对应的系统变量类型确定其返回类型,当系统变量类型为:
boolean, ret类型为boolean;
number, ret类型为number;
string, ret类型为string;
number_list, ret类型为number_list;
pose, ret类型为number_list;
joints, ret类型为number_list;
示例:
ret = get_value (“g_data”)
timer_start()
函数说明:
开始/重置计时器。
参数说明:
无
返回值:
无
示例:
timer_start()
timer_end (string : timer_list)
函数说明:
计算时间间隔。
参数说明:
timer_list:存放时间间隔的timer类型系统变量的名称。
返回值:
无
示例:
timer_end ("g_timer_1")
get_robot_state()
函数说明:
获取机器人状态信息。
参数说明:
无。
返回值:
number_list: 机器人状态信息列表,number_list[1]表示机器人状态,number_list[2]表示程序状态,number_list[3]表示安全控制器状态,number_list[4]表示操作模式。
示例:
get_robot_state()
get_program_state()
函数说明:
获取程序状态信息。
参数说明:
无。
返回值:
程序状态信息。0 : 程序停止,1 : 程序正在停止中,2 : 程序正在运行, 3 : 程序已经暂停,4 : 程序暂停中,5 : 手动示教任务执行中。
示例:
get_program_state()
get_safety_state()
函数说明:
获取机器人安全状态信息。
参数说明:
无。
返回值:
机器人安全状态信息。0 : 初始化,2 : 等待,3 : 配置模式,4 : 下电状态,5 : 正常运行状态,6 : 恢复模式,7 : Stop2,8 : Stop1,9 : Stop0,10 :模型配置状态,12 : 缩减模式状态,13 : 引导,14 : 致命错误状态,15 : 更新状态。
示例:
get_safety_state()
get_operation_mode()
函数说明:
获取手自动模式。
参数说明:
无。
返回值:
手自动模式。0 : 手动,1 : 自动。
示例:
get_operation_mode()
get_collision_state()
函数说明:
获取机器人碰撞触发状态。
参数说明:
无。
返回值:
机器人碰撞触发状态。0 : 碰撞未触发,1 : 碰撞触发。
示例:
get_collision_state()
get_robot_protective_stop_state()
函数说明:
获取机器人防护性停止状态。
参数说明:
无。
返回值:
机器人防护性停止状态。0:防护性停止未触发,1:防护性停止触发。
示例:
get_robot_protective_stop_state()
get_robot_automode_protective_stop_state()
函数说明:
获取机器人自动模式防护性停止状态。
参数说明:
无。
返回值:
机器人自动模式防护性停止状态。0:自动模式防护性停止未触发,1:自动模式防护性停止触发。
示例:
get_robot_automode_protective_stop_state()
get_robot_in_reduce_mode_state()
函数说明:
机器人是否处于缩减模式状态。
参数说明:
无。
返回值:
机器人缩减模式状态。0:正常模式,1:缩减模式。
示例:
get_robot_in_reduce_mode_state()
get_robot_at_home_position_state()
函数说明:
机器人是否处于安全home位置。
参数说明:
无。
返回值:
是否处于安全home位置。0:未处于安全home位置,1:处于安全home位置。
示例:
get_robot_at_home_position_state()
get_robot_safety_in(number: portnum)
函数说明:
获取指定通道的安全输入信号。
参数说明:
portnum: 安全信号输入通道。范围:[1, 2]。
返回值:
安全输入信号。0:低电平,1:高电平。
示例:
get_robot_safety_in(1)
get_robot_safety_out(number: portnum)
函数说明:
获取指定通道的安全输出信号。
参数说明:
portnum: 安全信号输出通道。范围:[1, 2]。
返回值:
安全输出信号。0:低电平,1:高电平。
示例:
get_robot_safety_out(1)
is_moving()
函数说明:
判断当前机器臂是否在运动。
参数说明:
无。
返回值:
机械臂运动时返回true; 机械臂不运动时返回false。
示例:
is_moving()
调试相关#
log(string: describe, val)
函数说明:
该函数可在程序中插入log日志,记录程序运行中的相关信息。
参数说明:
describe :需要在日志中记录的描述信息。
val:需要在describe信息后记录的变量值信息,会自动转换为string类型并被记录,可以是number,string,list等任意类型。
返回值:
无
示例:
log("this is log",{1,2,3,4})
message(string: describe)
函数说明:
该函数可在程序运行过程中产生弹窗,显示目标描述信息,并暂停当前程序。
参数说明:
describe : 弹窗所显示的目标描述信息。
返回值:
无
示例:
message ("this is message")
Modbus#
modbus_read(string : signal_name)
函数说明:
该函数可读取modbus节点的数据,返回值为number类型。
参数说明:
signal_name: modbus节点名。
返回值:
number
示例:
val=modbus_read(" mbus1")
modbus_write(string : signal_name, number : val)
函数说明:
该函数可对modbus节点进行写操作。
参数说明:
signal_name: modbus节点名。
val:要写入的数值,寄存器节点取值为0-65535内的整数,线圈节点取值为0或1。
返回值:
无
示例:
modbus_write(" mbus1", 1)
modbus_set_frequency(string : signal_name, number: frequence)
函数说明:
该函数可修改modbus节点的刷新频率,默认频率为10Hz。
参数说明:
signal_name: modbus节点名。
frequence: 频率值,取值范围:1~100Hz。
返回值:
无
示例:
modbus_set_frequency (" mbus1", 20)
modbus_write_multiple_regs(number : slave_num, string : name, number : len, number_list : word_list)
函数说明:
该函数可对多寄存器进行写操作。
参数说明:
slave_num : modbus节点号。
name : modbus节点名。
len : 需要写入数据的寄存器长度。
word_list: 需要写入的数据。
返回值:
无
示例:
modbus_write_multiple_regs (1, " mbus1", 5, {1,2,3,4,5})
modbus_write_multiple_coils(number : slave_num, string : name, number : len, number_list :byte_list)
函数说明:
该函数可对多线圈进行写操作。
参数说明:
slave_num : modbus节点号。
name : modbus节点名。
len : 需要写入数据的线圈长度。
byte_list: 需要写入的数据。
返回值:
无
示例:
modbus_write_multiple_coils (2, " mbus1", 5, {1,1,1,1,1})
数学运算函数#
abs(number: number)
函数说明:
计算绝对值。
参数说明:
number: number数据类型。
返回值:
number类型。
示例:
ret = abs (2)
cos(number: number)
函数说明:
计算余弦值。
参数说明:
number: number数据类型,单位(rad)。
返回值:
number类型。
示例:
ret = cos (1.57)
acos(number: number)
函数说明:
计算反余弦值。
参数说明:
number: number数据类型,余弦值,取值范围[-1,1]。
返回值:
number类型,单位(rad)。
示例:
ret = acos (0.5)
sin(number: number)
函数说明:
计算正弦值。
参数说明:
number: number数据类型,单位(rad)。
返回值:
number类型。
示例:
ret = sin (1.57)
asin(number: number)
函数说明:
计算反正弦值。
参数说明:
number: number数据类型,正弦值,取值范围[-1,1]。
返回值:
number类型,单位(rad)。
示例:
ret = asin (0.5)
tan(number: number)
函数说明:
计算正切值。
参数说明:
number: number数据类型,单位(rad)。
返回值:
number类型。
示例:
ret = tan (1.57)
atan(number: number)
函数说明:
计算反正切值。
参数说明:
number: number数据类型,正切值。
返回值:
number类型,范围(-pi/2,+pi/2),单位(rad)。
示例:
ret = atan (0.5)
atan2(number: number1,number: number2)
函数说明:
计算number1/number2的反正切值,根据number1、number2的符号,确定返回值所在的象限。
参数说明:
number1: number数据类型。
number2:number数据类型。
返回值:
number类型,范围(-pi,pi), 单位(rad)。
示例:
ret = atan2 (1,2)
pow(number: base,number: exponent)
函数说明:
幂运算。
参数说明:
base:底数。
exponent:指数。
注:如果base为负值并且exponet不是一个整数值,则发生定义域错误。当base为0且exponent小于0时,会发生定义域错误。
返回值:
number类型。
示例:
ret = pow (10,2)
sqrt(number: number)
函数说明:
计算平方根。
参数说明:
number: number数据类型,取值大于等于0。
返回值:
number类型。
示例:
ret = sqrt (10)
deg2rad(number: number)
函数说明:
角度值转换成弧度值。
参数说明:
number: number数据类型,单位度。
返回值:
number类型,单位(rad)。
示例:
ret = deg2rad (90)
rad2deg(number: number)
函数说明:
弧度值转换成角度值。
参数说明:
number: number数据类型,单位(rad)。
返回值:
number类型,单位度。
示例:
ret = rad2deg (1.57)
pose_trans (pose: p1,pose: p2)
函数说明:
坐标变换函数,位姿p1,经过p2变换得到一个新的位姿,返回的位姿ret=p1*p2。
参数说明:
p1:pose类型,姿态信息按照Rz*Ry*Rx方式计算旋转矩阵,位置单位m,姿态单位(rad)。
p2:pose类型,姿态信息按照Rz*Ry*Rx方式计算旋转矩阵,位置单位m,姿态单位(rad)。
返回值:
pose类型,经过坐标变换后的位姿,位置单位m,姿态单位(rad)。
示例:
ret = pose_trans ({492,140.5,442,-3.14,0,-1.57}, {231.4,140.5,582.3,-3.14, 0,-1.57} )
pose_inv (pose: p1)
函数说明:
坐标逆变换函数,求解一个变换的逆变换。
参数说明:
p1:pose类型,姿态信息按照Rz*Ry*Rx方式计算旋转矩阵,位置单位m,姿态单位(rad)。
返回值:
pose类型,逆变换的解。姿态信息按照Rz*Ry*Rx方式计算旋转矩阵,位置单位m,姿态单位(rad)。
示例:
ret = pose_inv ({492,140.5,442,-3.14,0,-1.57} )
pose_distance(pose: p1, pose: p2)
函数说明:
计算两点之间的空间距离,姿态不参与计算。
参数说明:
p1: 要计算的点1。
p2: 要计算的点2。
返回值:
number:两点间的距离。
示例:
ret = pose_distance ({492,140.5,442,-3.14,0,-1.57}, {231.4,140.5,582.3, -3.14,0,-1.57} )
pose_offset(pose: p1,pose: p2)
函数说明:
计算两个位姿之间的偏移量,计算方式为ret=p1-1*p2。
参数说明:
p1: 要计算的点1。
p2: 要计算的点2。
返回值:
两个位姿之间的偏移量。
示例:
ret = pose_offset ({492,140.5,442,-3.14,0,-1.57}, {231.4,140.5,582.3, -3.14,0,-1.57} )
num2str (number: num, number: precision)
函数说明:
将数值按照指定的精度转换为字符串。比如num2str(1.23456, 3)转换成“1.235”,num2str(1.23)转换成“1.230000”。
参数说明:
num:要转换的数值。
precision:保留的精度,可缺省,默认为6。
返回值:
string
示例:
ret = num2str (1.234, 2)
str2num (string:s)
函数说明:
将字符串转换成数值,比如“1.23”转换成1.23。
参数说明:
s:需要转译的字符串。
返回值:
number类型,转译后的数。
示例:
ret = str2num (“1.234”)
list2str (number_list:a)
函数说明:
将number类型列表转换为固定格式字符串,字符串以“(”开头,“)”结尾,中间的数据之间使用“,”分隔。比如:列表{1.23,1.57,2.3}会转换成字符串“(1.23,1.57,2.3)”。
参数说明:
a : number类型的列表。
返回值:
string
示例:
ret = list2str ({1.2,3.4,5.6})
str2list(string:s)
函数说明:
将字符串转换为列表,字符串以“(”开头,“)”结尾,中间的数据之间使用“,”分隔。比如:字符串“(1.23,1.57,2.3)” 会转换成列表{1.23,1.57,2.3}。
参数说明:
s : 需要转换的格式化字符串。
返回值:
number_list,如果转换错误,则返回空列表。
示例:
ret = str2list (“(1.2,3.4,5.6)”)
get_pose_trans(pose:p)
函数说明:
获取机器人位姿中关于位置的偏移量。
参数说明:
p : pose类型,机器人位姿数据,单位:m、rad。
返回值:
number_list,返回pose的3维位置偏移量信息,单位:m。
示例:
ret = get_pose_trans ({1,2,3,4,5,6})
期望结果:ret=({1,2,3})
get_pose_rpy(pose:p)
函数说明:
获取机器人位姿中关于姿态的偏移量。
参数说明:
p: pose类型,机器人位姿数据,单位:m、rad。
返回值:
number_list,返回pose的3维姿态偏移量信息,单位:rad。
示例:
ret = get_pose_rpy({1,2,3,4,5,6})
期望结果:ret=({4,5,6})
get_number_list_norm(number_list : nl)
函数说明:
获取nl中所有数据的模长,方式为取nl所有元素的平方和。
参数说明:
nl : number_list类型,输入参数。
返回值:
number,输入参数的模长。
示例:
ret = get_number_list_norm ({1,2,3,4,5,6})
normalize_number_list(number_list:nl)
函数说明:
将输入的nl归一化并返回输出,方式为nl的所有元素除以其模长。
参数说明:
nl : number_list类型,输入参数。
返回值:
number_list,归一化后的数据。
示例:
ret = normalize_number_list ({1,2,3,4,5,6})
number_list_cross(number_list : nl1, number_list : nl2)
函数说明:
计算两个维度为3的number_list的叉乘,计算方式为nl1×nl2。
参数说明: nl1 : number_list类型,输入参数,维度为3。
nl2 : number_list类型,输入参数,维度为3。
返回值:
number_list,叉乘结果。
示例:
ret = number_list_cross ({1,2,3},{4,5,6})
number_list_cross(list : nl)
函数说明:
计算的nl中所有number_list的叉乘。
参数说明:
nl : list类型,{number_list: nl1, number_list: nl2, ...},所有number_list的维度必须大于等于3且相等,且number_list的参数个数必须为number_list的维度-1。
返回值:
number_list,叉乘结果,维度与nl的元素的维度相同。
示例:
ret = number_list_cross({{1,2,3},{4,5,6})
number_list_dot(number_list : nl1, number_list : nl2)
函数说明:
计算nl1和nl2的点积。
参数说明:
nl1: number_list类型,输入参数。
nl2: number_list类型,维度与nl1相同。
返回值:
number,nl1·nl2的值。
示例:
ret = number_list_dot ({1,2,3,4,5,6},{1,2,3,4,5,6})
rpy_to_axial_angle(number_list : rpy)
函数说明:
计算输入rpy所对应的轴角,rpy默认为动态ZYX。
参数说明:
rpy : number_list类型,默认参考动态ZYX,单位rad,必须为3维。
返回值:
number_list,rpy所对应的轴角,维度为4维,第1个值对应参考旋转轴矢量的旋转角度,单位rad,后三个值为所对应的旋转轴矢量。
示例:
ret = rpy_to_axial_angle({1,2,3})
rpy_to_rot(number_list : rpy)
函数说明:
计算输入rpy所对应的旋转矩阵,rpy默认为动态ZYX。
参数说明:
rpy : number_list类型,默认参考动态ZYX,单位rad,必须为3维。
返回值:
list,{number_list, number_list, number_list},按RX、RY、RZ的顺序返回rpy所对应的3组正交基,组成对应的旋转矩阵。
示例:
ret = rpy_to_rot ({1,2,3})
rot_to_rpy(list : rot)
函数说明:
计算输入旋转矩阵rot所对应rpy,rpy默认为动态ZYX。
参数说明:
rpy : list类型,{number_list, number_list, number_list},按RX、RY、RZ的顺序输入三组正交基,numberl_list必须为3维。
返回值:
number_list,RX、RY、RZ值。
示例:
ret = rot_ro_rpy ({{1,2,3},{4,5,6},{7,8,9}})
字符串相关函数#
str_cat(string : str1, string : str2)
函数说明:
拼接两个字符串。
参数说明:
str1 : 要拼接的左侧字符串。
str2 : 要拼接的右侧字符串。
返回值:
拼接后的字符串。
示例:
ret = str_cat (“a”, ”b”)
str_cmp(string : str1, string : str2)
函数说明:
比较两个字符串是否相等,系统支持的字符串最大长度为255。
参数说明:
str1 : 要比较的字符串1。
str2 : 要比较的字符串2。
返回值:
false:不相等。
true:相等。
示例:
ret = str_cmp (“a”, ”b”)
str_del(string : str, number: index, number: num)
函数说明:
删除字符串中的一段。
参数说明:
str : 要进行操作的字符串。
index: 表示从第几位开始删除,从0开始计数。
num:表示删除几位。
返回值:
删除后的字符串。
示例:
ret = str_del (“abcde”, 2, 2)
str_insert(string : str1, number: index, number:num, string : str2)
函数说明:
在一个字符串中插入另一个字符串。
参数说明:
str1 : 进行操作的基准字符串。
index:从基准字符串哪一位开始插入,从0开始计数。
num:插入多少位。
str2 : 插入的字符串。
返回值:
操作后的字符串。
示例:
ret = str_insert (“abcde”, 2, “fff”)
str_substr(string: str, number: index, number: num)
函数说明:
取字符串的子集。
参数说明:
str : 要操作的字符串。
index:从哪一位开始取,从0开始计数。
num:取多少位。
返回值:
操作后的字符串。
示例:
ret = str_substr (“abcde”, 2, 2)
str_len(string : str)
函数说明:
字符串长度。
参数说明:
str1 : 要计算长度的字符串。
返回值:
number,字符串长度。
示例:
ret = str_len (“abcde”)
str_find(string : str1, string : str2)
函数说明:
字符串str1中首次出现str2的位置。
参数说明:
str1 : 要操作的字符串。
str2 : 要操作的字符串。
返回值:
number:返回位置,从0开始计数,未找到返回-1。
示例:
ret = str_find (“abcde”, “ab”)
str_split(string : str1, string : separator)
函数说明:
按照字符separator分割str1字符串,返回列表。
参数说明:
str1 : 要操作的字符串。
separator:分割字符。
返回值:
num_list,字符串列表。
示例:
ret = str_split (“abcde”,”c”)
str_at(string : str1, number : index)
函数说明:
获取字符串str1中index处的字符,index从1开始。
参数说明:
str1 : 要操作的字符串。
index : 索引,从1开始计数。
返回值:
string,index超出范围返回空字符串。
示例:
ret = str_at (“abcde”, 2)
辅助函数#
list_len (list:value)
函数说明:
该函数返回输入列表的长度。
参数说明:
value:输入的列表。
返回值:
number:列表的长度。
示例:
ret = list_len ({1,1,1,1,1,1})
is_valid (value)
函数说明:
该函数判断输入的条件是否合法。
参数说明:
value:输入的数据,会根据数据类型自动推断,判断逻辑如下
当value为boolean类型时,true为合法,false为非法
当value为list类型时,列表非空为合法,列表为空为非法
当value为string类型时,字符非空为合法,字符为空字符串为非法
当value为number类型时,数字大小非0为合法,打字大小为0为非法
当value为nil类型时为非法。
返回值:
false:非法。
true:合法。
示例:
ret = is_valid ("")
int16_to_byte_list (number:value)
函数说明:
将int16数据类型按照内存结构转换成byte list。
参数说明:
value:待转换的int16类型数据。
返回值:
转换得到的byte数据列表。
示例:
ret = int16_to_byte_list (5)
uint16_to_byte_list (number:value)
函数说明:
将uint16数据类型按照内存结构转换成byte list。
参数说明:
value:待转换的uint16类型数据。
返回值:
转换得到的byte数据列表。
示例:
ret = uint16_to_byte_list (5)
int32_to_byte_list (number:value)
函数说明:
将int32数据类型按照内存结构转换成byte list。
参数说明:
value:待转换的int32类型数据。
返回值:
转换得到的byte数据列表。
示例:
ret = int32_to_byte_list (5)
uint32_to_byte_list (number:value)
函数说明:
将uint32数据类型按照内存结构转换成byte list。
参数说明:
value:待转换的uint32类型数据。
返回值:
转换得到的byte数据列表。
示例:
ret = uint32_to_byte_list (5)
float_to_byte_list (number:value)
函数说明:
将float数据类型按照内存结构转换成byte list。
参数说明:
value:待转换的float类型数据。
返回值:
转换得到的byte数据列表。
示例:
ret = float_to_byte_list (5.0)
double_to_byte_list (number:value)
函数说明:
将double数据类型按照内存结构转换成byte list。
参数说明:
value:待转换的double类型数据。
返回值:
转换得到的byte数据列表。
示例:
ret = int16_to_byte_list (5.0005)
byte_list_to_int16 (byte_list:value)
函数说明:
将byte list数据类型按照内存结构转换成int16类型数据。
参数说明:
value:待转换的byte list(number list)类型数据。
返回值:
转换得到的int16类型数据。
示例:
ret = byte_list_to_int16 ({0x01,0x05})
byte_list_to_uint16 (byte_list:value)
函数说明:
将byte list数据类型按照内存结构转换成uint16类型数据。
参数说明:
value:待转换的byte list(number list)类型数据。
返回值:
转换得到的uint16类型数据。
示例:
ret = byte_list_to_uint16 ({0x01,0x05})
byte_list_to_int32 (byte_list:value)
函数说明:
将byte list数据类型按照内存结构转换成int32类型数据。
参数说明:
value:待转换的byte list(number list)类型数据。
返回值:
转换得到的int32类型数据。
示例:
ret = byte_list_to_int32 ({0x01,0x05})
byte_list_to_uint32 (byte_list:value)
函数说明:
将byte list数据类型按照内存结构转换成uint32类型数据。
参数说明:
value:待转换的byte list(number list)类型数据。
返回值:
转换得到的uint32类型数据。
示例:
ret = byte_list_to_uint32 ({0x01,0x05})
byte_list_to_float (byte_list:value)
函数说明:
将byte list数据类型按照内存结构转换成float类型数据。
参数说明:
value:待转换的byte list(number list)类型数据。
返回值:
转换得到的float类型数据。
示例:
ret = byte_list_to_float ({0x01,0x05})
byte_list_to_double (byte_list:value)
函数说明:
将byte list数据类型按照内存结构转换成double类型数据。
参数说明:
value:待转换的byte list(number list)类型数据。
返回值:
转换得到的double类型数据。
示例:
ret = byte_list_to_double ({0x01,0x05})
float2word (number:value)
函数说明:
将float数据类型按照内存结构转换成长度为2的word列表类型数据。
参数说明:
value:待转换的float类型数据。
返回值:
转换得到的word列表{word_H, word_L}。
示例:
ret = float2word (5.5)
word2float(number:word_H, number:word_L)
函数说明:
将两个word类型数据按照内存结构转换成一个float类型数据。
参数说明:
word_H, word_L:待合并转换的word类型数据。
返回值:
转换得到的float类型数据。
示例:
ret = word2float (5)
力控函数#
fc_start()
函数说明:
该指令控制机械臂开启机器人末端力控。开启末端力控后所有运动函数除正常运动外,会额外基于已配置的末端力控参数叠加末端力控运动实现力位混合运动。
参数说明:
无
返回值:
无
示例:
fc_start ()
警告
在使用fc_start函数启用末端力控功能前,需要严格确保机器人末端已正常安装力传感器,并在正确完成其通讯配置及安装位置设置启用。错误的通讯配置或未正确启用传感器会导致使用fc_start函数后机器人报错。错误的传感器安装位置参数会导致异常的末端力控运动,从而造成安全风险。
fc_stop()
函数说明:
该指令控制机械臂退出末端力控,结束力位混合控制。
参数说明:
无
返回值:
无
示例:
fc_stop ()
警告
当前在调用fc_stop函数退出末端力控前,需要严格保证所有机器人绝对位置运动已结束,即所有来自脚本以及外部接口所触发的机器人运动已结束。机器人运动过程中能够使用fc_stop函数结束末端力控,会引起机器人产生异常运动并报错。
fc_move()
函数说明:
该指令控制机械臂没有绝对位置运动的基础上产生仅基于末端力控产生的补偿运动。
参数说明:
无
返回值:
无
示例:
fc_move ()
fc_config(number_list: direction, number_list: ref_ft, number_list: damp, number_list: max_vel, string: tool, string: wobj, number: type, number_list:ft_deadzone)
函数说明:
该指令修改并配置机器人末端力控参数。
参数说明:
direction::6个笛卡尔空间方向末端力控开关,开为true,关为false。开启力控的笛卡尔空间方向,除了机器人末端原有绝对运动外,同时还会根据末端传感器感知到的外部力,基于其他力控参数做出对应力控运动调整。未开启力控的笛卡尔空间方向则保持原始机器人末端绝对运动。
ref_ft:6个笛卡尔空间方向末端力控目标维持力,范围[-1000, 1000],X/Y/Z方向单位N,RX/RY/RZ方向单位Nm,方向符号参考末端力控参考坐标系方向。该目标维持力会使机器人末端力控产生额外运动,直到机器人末端传感器感知到与外界接触力且达到目标维持力的大小。
damp:6个笛卡尔空间方向末端力控阻尼,X/Y/Z方向单位(N/(m/s),RX/RY/RZ方向单位(Nm/(rad/s))。末端力控所产生的叠加运动最大速度,会根据传感器在笛卡尔空间启用力控方向上感知到的外力与目标维持力之间的偏差值,除以对应方向的阻尼值计算得到。
max_vel:6个笛卡尔空间方向末端力控最大调整速度,范围[-5, 5],X/Y/Z方向单位(m/s),RX/RY/RZ方向单位(rad/s)。若基于末端传感器感知到的外力与目标维持力的偏差除以阻尼后计算得到的速度超过力控最大调整速度,则会以最大调整速度进行末端力控运动。该参数可以使末端力控运动在使用较小阻尼提升响应的基础上降低调整最大速度,从而保证末端力控运动的安全及稳定性。
tool : 设置使用的末端力控工具的名称,默认为当前使用的工具。所有末端力控运动所产生的叠加运动,都会以tool坐标系的原点产生。若同时末端力控参考坐标系配置为工具坐标系,则力控运动笛卡尔方向的定义参考tool坐标系的笛卡尔方向。
wobj : 设置使用的末端力控工件坐标系的名称,默认为当前使用的工件坐标系。若末端力控参考坐标系配置为工件坐标系,则力控运动笛卡尔方向的定义参考wobj坐标系的笛卡尔方向。
type:末端力控参考坐标系选择标志位,0为参考工具坐标系,1为参考工件坐标系。
number_list:6个笛卡尔空间方向末端接触力死区,范围[-1000, 1000],X/Y/Z方向单位N,RX/RY/RZ方向单位Nm。若末端力传感器感知到外力与目标维持力的偏差绝对值小于接触力死区时,则会停止对于力控运动,直到由于外力变化再次使偏差值大于死区。
返回值:
无
示例:
fc_config ({true,false,false,false,false,false},{0.1,0,0,0,0,0},{1000,1000, 1000,57.29,57.29,57.29},{0.15,0.15,0.15,1.04,1.04,1.04},"","",0, {0,0,0,0,0,0})
fc_guard_deact()
函数说明:
该指令控制机械臂在末端力控过程中禁用力安全力监控。
参数说明:
无
返回值:
无
示例:
fc_guard_deact ()
fc_guard_act(number_list: direction, number_list: ref_ft, string: tool, string: wobj, number: type, number: force_property)
函数说明:
该指令控制机械臂在末端力控过程中进行力安全力监控。当监控力拆过所设定范围时,机器人会触发急停并报警。
参数说明:
direction::6个笛卡尔空间方向末端力安全监控开关,开为true,关为false。
ref_ft:6个笛卡尔空间方向末端力安全监控最大力,X/Y/Z方向单位N,RX/RY/RZ方向单位Nm。该值未监控最大力范围绝对值,不区分所在自由度上的±方向。
tool : 设置使用的末端力安全监控工具的名称,默认为当前使用的工具。若末端力控参考坐标系配置为工具坐标系,则安全力监控的笛卡尔方向的定义参考tool坐标系的笛卡尔方向。
wobj : 设置使用的末端力安全监控工件坐标系的名称,默认为当前使用的工件坐标系。若末端力控参考坐标系配置为工件坐标系,则安全力监控的笛卡尔方向的定义参考wobj坐标系的笛卡尔方向。
type:末端力安全监控参考坐标系选择标志位,0为参考工具坐标系,1位参考工件坐标系。
force_property : 监控力属性,0为末端负载力及外力,1为末端外力(不含负载),可缺省,默认为0。
返回值:
无
示例:
fc_guard_act({true,false,false,false,false,false},{1,0,0,0,0,0},"","", 0, 0)
fc_force_set_value(number_list:direction,number_list:ref_ft)
函数说明:
该指令控制机械臂末端力传感器读数设置为指定值。
参数说明:
direction:6个末端力传感器输出力设置标志位,需要设置为true,不需要设置为false。需要注意的是,该方向定义未传感器自身力坐标系方向。
ref_ft:6个末端力传感器输出力设置目标值,X/Y/Z方向单位N,RX/RY/RZ方向单位Nm。
返回值:
无
示例:
fc_force_set_value({true,false,false,false,false,false},{1,0,0,0,0,0})
fc_wait_pos(number_list:middle_value,number_list:range,boolean:absolute,number:duration,number:timeout)
函数说明:
该指令控制机械臂在执行fc_start()函数后的末端力控过程中满足指定位置判断条件时自动停止当前运动函数并跳过后续运动函数,直到fc_stop()函数被执行停止末端力控或再次调用fc_wait_logic函数复位力控条件判断。
参数说明:
middle_value:位置判断条件绝对值,X/Y/Z方向单位m,RX/RY/RZ方向单位(rad)。
range:位置判断条件范围大小,X/Y/Z方向单位m,RX/RY/RZ方向单位(rad)。由于位置信息存在波动与偏差,适当设定范围大小可以有效保证逻辑触发成功率。
absolute:绝对/增量条件判断标志位,true为绝对位置判断,false为增量位置判断。增量判断会以最后一次调用fc_wait_logic函数复位力控条件判断时机器人所在位置为参考点。
duration:条件满足触发保持时间,单位ms。
timeout:条件满足触发超时时间,单位ms。起始计算时间未最后一次调用fc_wait_logic函数复位力控条件判断时刻。
返回值:
无
示例:
fc_wait_pos ({0.005,0.005,0,0,0,0},{0.001,0.001,0,0,0,0},false,1000,5000)
fc_wait_vel(number_list:middle_value,number_list:range,boolean:absolute,number:duration,number:timeout)
函数说明:
该指令控制机械臂在执行fc_start()函数后的末端力控过程中满足指定速度判断条件时自动停止当前运动函数并跳过后续运动函数,直到fc_stop()函数被执行停止末端力控或再次调用fc_wait_logic函数复位力控条件判断。
参数说明:
middle_value:速度判断条件绝对值,X/Y/Z方向速度范围[-5, 5],单位(m/s),RX/RY/RZ方向速度范围[-2*PI, 2*PI],单位(rad/s)。
range:速度判断条件偏移范围大小,X/Y/Z方向单位(m/s),RX/RY/RZ方向单位(rad/s)。由于速度信息存在波动与偏差,适当设定范围大小可以有效保证逻辑触发成功率。
absolute:绝对/增量条件判断标志位,true为绝对速度判断,false为增量速度判断。增量判断会以最后一次调用fc_wait_logic函数复位力控条件判断时机器人末端速度为参考基准。
duration:条件满足触发保持时间,单位ms。
timeout:条件满足触发超时时间,单位ms。起始计算时间未最后一次调用fc_wait_logic函数复位力控条件判断时刻。
返回值:
无
示例:
fc_wait_vel ({0.01,0.01,0,0,0,0},{0.001,0.001,0,0,0,0},false,0,5000)
fc_wait_ft(number_list:middle_value,number_list:range,boolean:absolute,number:duration,number:timeout)
函数说明:
该指令控制机械臂在执行fc_start()函数后的末端力控过程中满足指定力判断条件时自动停止当前运动函数并跳过后续运动函数,直到fc_stop()函数被执行停止末端力控或再次调用fc_wait_logic函数复位力控条件判断。
参数说明:
middle_value:力判断条件绝对值,范围[-1000, 1000],X/Y/Z方向单位N,RX/RY/RZ方向单位Nm。
range:力判断条件偏移范围大小,X/Y/Z方向单位N,RX/RY/RZ方向单位Nm。。由于力信息存在波动与偏差,适当设定范围大小可以有效保证逻辑触发成功率。
absolute:绝对/增量条件判断标志位,true为绝对力判断,false为增量力判断。增量判断会以最后一次调用fc_wait_logic函数复位力控条件判断时机器人末端感知力为参考基准。
duration:条件满足触发保持时间,单位ms。
timeout:条件满足触发超时时间,单位ms。起始计算时间未最后一次调用fc_wait_logic函数复位力控条件判断时刻。
返回值:
无
示例:
fc_wait_ft ({1,1,0,0,0,0},{0.1,0.1,0,0,0,0},false,0,5000)
fc_wait_logic(number : pos, number : vel, number : force)
函数说明:
该指令控制机械臂在执行fc_start()函数后的末端力控过程中位置条件判断、速度条件判断与力条件判断间的逻辑关系。不配置时默认三个条件判断都禁用。当已通过
参数说明:
pos : 位置条件判断, 0代表不启用,1代表与逻辑,2代表或逻辑;
vel : 速度条件判断, 0代表不启用,1代表与逻辑,2代表或逻辑;
force : 力条件判断, 0代表不启用,1代表与逻辑,2代表或逻辑;
例如开启位置条件判断,禁用速度条件判断,开启力条件判断,并且位置与力的关系为或,则输入{1,0,2}。
返回值:
无
示例:
fc_wait_logic (1,0,2)
fc_get_ft()
函数说明:
该指令用以获取当前机器人末端传感器的原始反馈读数。该读数经过去皮操作,当机器人上下使能或调用fc_force_set_value时,会根据机器人系统中设置的负载参数(默认负载安装在传感器力检测端)以及目标参考传感器输出度数的大小进行去皮。
参数说明:
无
返回值:
6自由度末端力读数,X/Y/Z方向单位N,RX/RY/RZ方向单位Nm
示例:
ret = fc_get_ft ()
fc_mode_is_active()
函数说明:
该指令用以获取当前机器人末端力控功能启用状态。需要注意的是,即使通过该函数获取到当前机器人末端处于力控状态下,也需要机器人当前存在正在执行的绝对运动函数,例如movel、movec、fc_move等,才会产生对应的末端力控运动。
参数说明:
无
返回值:
机器人末端力控启用返回true,未启用返回false。
示例:
ret = fc_mode_is_active ()
运动优化函数#
enable_speed_optimization()
函数说明:
该指令控制机械臂开启速度优化功能。开启该功能后,机器人会参考当前模式下的安全限制参数,以不会违反安全限制参数为基础实时优化机器人速度控制指令,以达到最优速度节拍。速度优化功能仅在机器人自动模式下有效。当机器人开启速度优化功能并且处于自动模式下,原始机器人程序中所设定的关节最大速度与末端最大速度参数不再生效。
参数说明:
无
返回值:
无
示例:
enable_speed_optimization ()
disable_speed_optimization()
函数说明:
该指令用以控制机械臂退出速度优化。
参数说明:
无
返回值:
无
示例:
disable_speed_optimization ()
enable_acc_optimization()
函数说明:
该指令控制机械臂开启加速度优化功能。开启该功能后,系统会根据机器人动力学模型、机械功率模型及电功率模型计算机器人起停最优加速度,在满足速度约束前提下,机械臂以尽可能高的加速度进行规划。当速度优化同时打开后,系统默认同时开启加速度优化功能,该函数不在生效。
参数说明:
无
返回值:
无
示例:
enable_acc_optimization ()
disable_acc_optimization()
函数说明:
该指令用以控制机械臂退出加速度优化。
参数说明:
无
返回值:
无
示例:
disable_acc_optimization ()
enable_vibration_control()
函数说明:
该指令用以开启对机械臂起停振动控制功能进行优化。该功能在机器人系统启动时默认开启,以最大程度的保证机器人运动起停稳定性。需要注意的是,该功能开启后,机器人每一次独立运动都会有短暂的节拍降低(约200-400ms)。
参数说明:
无
返回值:
无
示例:
enable_vibration_control ()
disable_vibration_control()
函数说明:
该指令用以退出对机械臂末端振动的优化。若在机器人实际调试过程中受限于连续独立短轨迹运行节拍,且对机器人末端起停稳定性要求较低,可以通过使用该函数临时禁用振动控制功能。需要注意的是,调用该函数后,机器人在程序运行结束后并不会自动复位并开启振动控制功能,因此若需要依旧保持手动试教过程中机器人运动起停稳定性,应再次调用enable_vibration_control函数开启振动控制功能。
参数说明:
无
返回值:
无
示例:
disable_vibration_control ()
enable_singularity_control()
函数说明:
该指令用以开启机械臂奇异点规避功能。开启奇异规避功能后,若机器人后续运动过程为笛卡尔空间运动且运动过程中会穿过机器人预先定义好的奇异空间,则会自动切换到关节空间过度运动,从而避免机器人经过奇异空间过程中引发的失速问题。在奇异规避过程中,机器人末端仅能尽可能保证末端与原始路径的一致性,实际会产生一定程度的精度损失。
参数说明:
无
返回值:
无
示例:
enable_singularity_control ()
disable_singularity_control()
函数说明:
该指令用以关闭机械臂奇异点规避功能。关闭该功能时,若机器人在笛卡尔空间运动过程中经过奇异区域,则会有失速风险,且机器人在接近奇异区域后会触发停机报警。
参数说明:
无
返回值:
无
示例:
disable_singularity_control ()
enable_posture_control()
函数说明:
该指令用以开启融合段姿态约束功能。开启该功能后,机器人在笛卡尔运动过程中,会以起点机器人末端工具坐标系与目标轨迹路径起点处切线方向之间的关系为参考,在运动过程中始终保持机器人末端工具坐标系与运动过程中轨迹路径切线方向的关系。
参数说明:
无
返回值:
无
示例:
enable_posture_control ()
disable_posture_control()
函数说明:
该指令用以关闭融合段姿态约束功能。
参数说明:
无
返回值:
无
示例:
disable_posture_control ()
enable_qnear_conf()
函数说明:
该指令用以启用机器人运动选解空间校验功能。启用机器人运动选解空间校验功能,若运动函数存在机器人参考关节角指令,如movej_pose、movej_pose2、movel、movec等,在轨迹开始运行时,运动规划会优先对当前机器人所处运动学选解空间与参考关节角指令所表征运动学选解空间做校验。若校验结果不一致,机器人系统则会判定其存在机器人产生实际运动与试教参考点位存在运动学选解不一致的风险,即虽然最终机器人到达目标机器人末端位置空间一致,但是机器人关节角不一致,从而触发安全报警并停机。
参数说明:
无
返回值:
无
示例:
enable_qnear_conf ()
disable_qnear_conf()
函数说明:
该指令用以禁用机器人运动选解空间校验功能。禁用机器人运动选解空间校验功能后,机器人最终笛卡尔运动所到达的目标机器人关节位置以机器人其实运动所在关节位置为参考,可能存在最终实际运动到位后与期望目标关节位置选解不一致的风险。
参数说明:
无
返回值:
无
示例:
enable_qnear_conf ()
复合运动函数#
combine_motion_config(number:type, number:ref_plane, number:fq, number:amp, number:el_offset, number:az_offset, number:up_height, numble_list:time, boolean: path_dwell)
函数说明:
该指令控制机器人在原始运动轨迹上额外叠加一个复合运动,被叠加的符合运动为一周期性运动轨迹,且可以被几何描述。
参数说明:
type : 复合运动轨迹几何类型。1:平面三角形轨迹,2:平面正弦轨迹,3:平面圆形轨迹,4:平面梯 形轨迹,5:平面8字形轨迹
ref_plane : 参考平面,0:工具XOY平面,1:工具XOZ平面,2:工具YOZ平面,3:工件XOY平面,4:工件XOZ平面,5:工件YOZ平面。
fq : 频率,单位(Hz)。
amp :振幅,单位(m)。
el_offset :仰角偏移,单位(m)。(参数预留)
az_offset:方向角偏移,单位(m)。(参数预留)
up_height:中心隆起高度,单位(m)。(参数预留)
time : 左右停留时间,仅针对平面梯形轨迹以及平面正弦轨迹有效,单位ms。
path_dwell : 主路经同步停留。为true时,机器人摆动到两端时,将完全停止。默认为false
返回值:
无
示例:
combine_motion_config (1,0,1,0.1,0,0,0,{0,0})
enable_combined_motion ()
函数说明:
该指令会以最近一次使用combine_motion_config脚本设置的复合运动参数开启复合运动。
参数说明:
无
返回值:
无
示例:
enable_combined_motion ()
disable_combined_motion ()
函数说明:
该指令用以关闭复合运动。
参数说明:
无
返回值:
无
示例:
disable_combined_motion ()
备注
当且仅当机器人停止时,可以对复合运动是否启用进行开关,无法在轨迹运动过程中动态开启或关闭。