探究VASS标准USER里的扭矩操作详细解析

描述

$HOLDING_TORQUE

数据类型:REAL

机器人轴 [轴编号] 的保持转矩

该保持转矩与当前的实际轴位置和当前的负载有关。

大众标准中适用的力矩模式,重要是用来对机器人在移动过程中的力矩监控,减少机器人碰撞时发生损坏。

“ 扭矩模式 ” 功能包含部分功能 “ 力矩限制 ” 和 “ 关闭监控 ”。

扭矩限制

可以为单个或多个轴限制扭矩,即电机电流。扭矩限制实现了以下应用情况:

 可以用定义的扭矩挤压或拉动轴,直到遇到阻力。

示例:

用电动点焊钳在工件上建立定义的压力。

 可以 “ 柔和切换 ” 轴。然后可以通过外部的力作用使其运动。例如可以将

其移开。

示例:

机器人必须在压床中抓取一个工件,然后将其从压床中顶出。为了可以使

机器人具有柔性并抵消顶出,对所涉的轴进行柔和切换。

机器人必须将工件放在夹具可将其拉入极其正确的姿态的位置上。为此,

机器人必须是柔和的。

监控的关闭:

由于扭矩限制,在额定位置和实际位置之间通常会形成一个相对大的偏差。特

定的监控对该偏差响应,但是这在扭矩限制时是不需要的。因此,可以关闭这

些常规的监控。

[UNTERGRUPPE8]

Name = Momentenbetrieb ---力矩模式

[P1]

Visible = True

enum=True

num0=Ausschalten 关闭

num63=Ein-alle Achsen全轴控制

num7=Ein-Grundachsen 一基轴

num56=Ein-Handachsen 单腕轴

num57=Ein-Achse1,4,5,6 单轴1,4,5,6

num1=Ein-Achse1 1轴

num2=Ein-Achse2 2轴

num4=Ein-Achse3 3轴

num8=Ein-Achse4 4轴

num16=Ein-Achse5 5轴

num31=Ein-Achse6 6轴

CASE 108 ;

Momentenbetrieb 力矩模式

IF(PAR7==TRUE)THEN

IF(PAR1》0)THEN

TRQ_MomentenbetriebEin(PAR1)PAR1设置力矩功能

ENDIF

IF(PAR1==0)THEN

LIN $POS_RET 笛卡儿坐标系中离开轨迹时的位置

ENDIF

ENDIF

SET_TORQUE_LIMITS(2, torqlim)

SET_TORQUE_LIMITS(axnum, torqlim)

力矩功能中主要使用了SET_TORQUE_LIMITS()函数,

激活转矩运行:SET_TORQUE_LIMITS()

用该功能可以为特定的轴执行以下操作:

 在正向和 / 或负向方向上限制转矩。

 关闭在滞后误差变大时要响应的常规监控。

 如果常规监控已关闭:更改专用监控的值。

SET_TORQUE_LIMITS (axis: in, values : in)

axis 类型:INT

该指令适用的轴

values 类型:TorqLimitParam

要为该轴设定的值

TorqLimitParam: 是一个结构体

STRUC TorqLimitParam REAL lower 、upper、SW_ONOFF monitor 、REAL max_vel、max_lag

lower 扭矩下限,

upper 扭矩上限,

monitor  #ON (默认):接通常规的监控 #OFF:关闭常规的监控。相反,监控 max_vel 和 max_lag 已激活。

max_vel 力矩运行下允许的最大实际速度 (只在常规的监控关闭时相关)只允许编程一个正值。

max_lag 力矩运行下允许的最大滞后误差 (只在常规的监控关闭时相关)

lower/upper 什么时候必须限制转矩上限和下限?

一般说明:必须始终限制建立滞后误差的方向。

示例:要驶向一个障碍物并在此停止。在此显示要建立的转矩。

 如果该障碍物在正向运动方向上,则必须设定 upper。

 如果该障碍物在负向运动方向上,则必须设定 lower。

属性:

 可以在机器人程序和提交程序中使用 SET_TORQUE_LIMITS()。

 预进停止:在机器人程序中,该指令会触发预进停止。

 Values 有时允许保持未初始化状态。未初始化组件表示现有值应保持未更改状态。

 如果设定两个极限,则必须为 upper 》= lower

 如果一个极限已设定(或两个)并且然后设定另一个极限,和现在通过新的极限得出一个空的区间,则新的极限值变为两个极限的值。示例:

 已设定:{lower 1, upper 2}

 已重新设定:{lower 3}

 由此,以下适用:{lower 3, upper 3}

 允许设定一个正的 lower 或一个负的 upper。

 必须设定极限,使它们含有当前的保持转矩 $HOLDING_TORQUE。如果它们另外设定,则机器人控制系统输出用户必须应答的错误信息。

 lower 必须小于或等于 $TORQUE_AXIS_MAX_0 区间的上限值。

upper 必须大于或等于 $TORQUE_AXIS_MAX_0 区间的下限值。

如果极限另外设定,则机器人控制系统输出用户必须应答的错误信息。

示例 1:

对于 A1 将允许的转矩范围限制到区间 800 … 1 400 Nm 上。

SET_TORQUE_LIMITS(1, {lower 800, upper 1400} )

示例 2:

对于 A3 将转矩上限设定为 1200 Nm。

SET_TORQUE_LIMITS(3, {upper 1200} )

停用扭矩模式:RESET_TORQUE_LIMITS()

可以使用扭矩限制避免在碰撞时发生损坏。

 优势:确保了机器人只用特定的有限作用力压向障碍物。

 缺点:机器人边迟钝。不再能高加速。

例如:

机器人从箱子中取出工件。在运动至点 P7、P8 和 P9 时,可以排除机器人与工件一起挂在箱子上。应确保机器人不会大力压紧致使形成损坏。为此,在临界点之前限制作用力。

关闭常规的监控。不因为否则将不必要地触发监控,而是因为与该示例相反它们不够严格。取而代之,将其中一个专用监控设定为一个很小的值。(取决于具体的应用情况,这对使用常规监控也很有意义。)

1 DECL TorqLimitParam myParams

。..

2 FOR i = 1 to 6

3 myParams.lower = $holding_torque[i] - 500

4 myParams.upper = $holding_torque[i] + 500

5 myParams.monitor = #off

6 myParams.max_lag = 0.1

7 SET_TORQUE_LIMITS(i, myParams)

8 ENDFOR

9 $acc.cp = my_low_acceleration

10 $vel.cp = my_low_velocity

11 LIN P7

12 LIN P8

13 LIN P9

14 FOR i = 1 to 6

15 myParams.lower = -1E10

16 myParams.upper = 1E10

17 myParams.monitor = #on

18 SET_TORQUE_LIMITS(i, myParams)

19 ENDFOR

20 $acc.cp = my_high_acceleration

21 $vel.cp = my_high_velocity

22 LIN P10

2 … 7 限制 A1 … A6 的转矩。

3, 4 用中间的保持转矩将限制设定为一个很小的区间。

5, 6 关闭常规的监控。Max_lag = 0.1 的作用是在滞后误差为 0.1° 时已经触发了停止。

9, 10 减小加速度和速度,以便机器人缓慢地移到临界点。

11 …13 可能出现碰撞的点

如果出现碰撞,则监控 max_lag 响应并且设备操作人员可以干预。

在临界区段之后:

14 …19 停用扭矩限制。

在此可以使用 SET_TORQUE_LIMITS:只在机器人无碰撞地经过临界点时,机器人才能到达该位置。在该情况下,没有形成滞后误差并且不需要额定 / 实际匹配。

20, 21 重新提高加速度和速度。

22 非临界点
编辑:lyn

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分