ABB机器人之LOADDATA

loaddata是用来描述连接到机器人机械接口的负载(机器人的安装法兰)。loaddata数据通常定义有效载荷或负荷(通过指令gripload设置机器人抓手负载 或mechunitload指令设置变位机负载。loaddata通常也作为tooldata的一部分,用来描述描工具负载。(loaddata一般用于搬运机器人,用来优化伺服驱动器的PID参数,带焊枪的焊接机器人由于焊枪质量偏小,一般不需要设定此参数)

指定的荷载被用来建立一个机器人的动力学模型,使机器人以最好的方式控制运动。loaddata是确定机器人实际负载大小的重要工具(例如一个搬运机器人抓手上的夹紧部分)。不正确的负载数据可以导致机器人的机械结构超载。当指定不正确的数据时,往往会导致以下结果:

机器人不会使用它的最大容量。

受影响的路径精度包括过冲的风险(当伺服电机的惯量匹配不恰当时,所引起的伺服电机PID闭环超调震荡)。

机械单元过载的风险。

Load Identify这是ABB机器人工具和载重的重量和重心数据的识别功能。你只需要执行一下这个程序,你就可以轻松设定TOOLDATA和LOADDATA了。为机器人设定正确的TOOLDATA和LOADDATA是非常重要的,这是因为有了正确的数据设定以后,机器人在进行运动运算时,能更好地进行各轴扭矩的控制。有防地防止了输出功率的过大或过小,而造成机器人电机和机构的异常损坏。

ABB机器人的loaddata数据结构定义如下:

loaddata

mass
数据类型: num
负载的公斤数,单位是KG。

cog
重心
数据类型: pos
以毫米表示的有效载荷重心在工具坐标系的表达,如果机器人夹持工具来表示。
如果使用了固定工具然后重心由夹持器保持的有效载荷被表达的工作对象坐标系统由机器人移动的对象的帧中。

aom
轴力矩          axes of moment

数据类型: orient
The orientation of the axes of moment. These are the principal axes of the payload
moment of inertia with origin in cog. If the robot is holding the tool, the axes of
moment are expressed in the tool coordinate system.

The figure shows the center of gravity and inertial axes of the payload.

ManLoadIdProc - Load identification of IRBP manipulators <- ->
-
Usage

ManLoadIdProc (Manipulator Load Identification Procedure) is used for load identification of payload for external manipulators by executing a user defined RAPID program.

This instruction can only be used in the main task T_ROB1 or, if in a MultiMove system, in Motion tasks.

 

Note

An easier way to identify the payload is to use the interactive dialogue RAPID program ManLoadIdentify.This program can be started from the menu ProgramEditor/Debug/Call Routine.../ManLoadIdentify.

Basic examples

Basic examples of the instruction ManLoadIdProc are illustrated below.

PERS loaddata myload := [6,[0,0,0],[1,0,0,0],0,0,0];

VAR bool defined;

ActUnit STN1;

ManLoadIdProc \ParIdType := IRBP_L

\MechUnit := STN1

\PayLoad := myload

\ConfigAngle := 60

\AlreadyActive

\DefinedFlag := defined;

DeactUnit STN1;

Load identification of payload myload mounted on the mechanical unit STN1. The external manipulator is of type IRBP-L. The configuration angle is set to 60 degrees. The manipulator is activated before the load identification and deactivated after. After the identification myload has been updated and defined it is set to TRUE.

Arguments

ManLoadIdProc [\ParIdType] [\MechUnit] | [\MechUnitName] [\AxisNumber] [\PayLoad] [\ConfigAngle] [\DeactAll] | [\AlreadyActive] [DefinedFlag] [DoExit]

[ \ ParIdType ]

Data type: paridnum

Type of parameter identification. Predefined constants are found under the datatype paridnum.

[ \ MechUnit ]

Data type: mecunit

Mechanical unit used for the load identification. Can not be used together with argument \MechUnitName.

[ \ MechUnitName ]

Data type: string

Mechanical unit used for the load identification given as a string. Can not be used together with argument \MechUnit.

[ \ AxisNumber ]

Data type: num

Axis number within the mechanical unit, which holds the load to be identified.

[ \ PayLoad ]

Data type: loaddata

Variable for the payload to be identified. The component mass must be specified.

This variable will be updated after the identification is done.

[ \ ConfigAngle ]

Data type: num

Specification of a specific configuration angle ± degrees to be used for the parameter identification.

Min. + or - 30 degrees. Optimum + or - 90 degrees.

[ \ DeactAll ]

Data type: switch

If this switch is used all mechanical units in the system will be deactivated before identification is done. The mechanical unit to identify will then be activated. It cannot be used together with argument \AlreadyActive.

[ \ AlreadyActive ]

Data type: switch

This switch is used if the mechanical unit to identify is active. It cannot be used together with argument \DeactAll.

[ \ DefinedFlag ]

Data type: bool

This argument will be set to TRUE if the identification has been made, FALSE otherwise.

[ \ DoExit]

Data type: bool

If set to TRUE the load identification will end up with an EXIT command to force the user to set PP to main before continuing the execution. If not present or set to FALSE no EXIT will be done. Note that ManLoadIdProc always clears the current path.

Program execution

All arguments are optional. If an argument is not given the user will be asked for the value from the FlexPendant (except for \DoExit).

The user will always be asked to give the mass and if the manipulator is of type IRBP R, z in mm.

The mechanical unit will carry out a large number of relative small transport and measurement movements.

After all measurements, movements, and load calculations the load data is returned in argument Payload if used. The following load data is calculated.

Manipulator type/ Calculated load data

IRBP-K

IRBP-L

IRBP-C

IRBP_T

IRBP-R

IRBP-A

IRBP-B

IRBP-D

Parameter PayLoad -

cog.x, cog.y, cog.z in loaddata in mm

cog.x cog.y

cog.x cog.y

cog.x cog.y

cog.x cog.y cog.z

Parameter PayLoad - ix, iy, iz in loaddata in kgm2

iz

iz

ix

iy

iz

ix

iy

iz

The calculated data will be displayed on the FlexPendant.

Limitations

Usually load identification of load for the external manipulator is done with the service routine ManLoadIdentify. It is also possible to do this identification with this RAPID instruction ManLoadIdProc.

Any path in progress will be cleared before the load identification. The program pointer will be lost after the load identification if argument \DoExit:=TRUE is used.

It is not possible to restart the load identification movements after any type of stop, such as program stop, emergency stop, or power failure. The load identification movements must be again restarted from the beginning.

Error handling

At any error during execution of the RAPID NOSTEPIN routine ManLoadIdProc the system variable ERRNO is set to ERR_PID_MOVESTOP, ERR_PID_RAISE_PP, or ERR_LOADID_FATAL and the program pointer is raised to the user call of ManLoadIdProc.

Syntax

ManLoadIdProc

[ '\'ParIdType ':=' <expression (IN) of paridnum>]

[ '\'MechUnit ':=' <variable (VAR) of mecunit> ]

| ['\' MechUnitName ':=' <expression (IN) of string>]

[ '\' AxisNumber ':=' <expression (IN) of num> ]

[ '\' PayLoad ':=' <var or pers (INOUT) of loaddata>

[ '\' ConfigAngle ':=' <expression (IN) of num>]

[ '\' DeactAll] | [ '\' AlreadyActive]

[ '\' DefinedFlag ':=' <variable (VAR) of bool> ]

[ '\' DoExit ':=' <expression (IN) of bool> ] ';'

ABB机器人之LOADDATA相关推荐

  1. 常州abb机器人编程_ABB机器人编程程序解析

    ?ABB 机器人编程 1 程序解析: 1 .此程序是典型的 ABB 机器人官方编程思路与方法,分为主程序,初始化例行程序和轨迹程序. 2 .思路清晰,结构编排明确,方便使用者阅读. %%% ??VER ...

  2. ABB机器人编程随记

    1. 目标点数据结构 基本数据类型和命令 bool num string 其他类型的数据类型都是以上三种数据类型的扩展类型. Robtarget:机器人目标点数据 ​ Trans:工具中心点相对于当前 ...

  3. 常州abb机器人编程_最新ABB机器人编程程序解析

    ABB 机器人编程 1 程序解析: 1 .此程序是典型的 ABB 机器人官方编程思路与方法,分为主程序,初始化例行程序和轨迹程序. 2 .思路清晰,结构编排明确,方便使用者阅读. %%% VERSIO ...

  4. ABB机器人基本知识。

    一.程序储存器(Programmemory)的组成:   应用程序(Program)   系统模块(Systemmodules)   机器人程序储存器中,只允许存在一个主程序:所有例行程序与数据无论存 ...

  5. abb焊接机器人编程全解_ABB机器人的离线编程与仿真之原程序详解!!!——ABB机器人...

    在工作站配置中所使用的机器人是ABB机器人 IRB1410型机器人,并且事先已经使用Smart组件构建完成机器人所使用的工具的夹取和放置的动态效果. 程序注释: MODULE MainMoudle 程 ...

  6. ABB机器人基础知识

    一.程序储存器(Programmemory)的组成: 应用程序(Program) 系统模块(Systemmodules) 机器人程序储存器中,只允许存在一个主程序:所有例行程序与数据无论存在于哪个模块 ...

  7. abb机器人指令手册_ABB机器人可以告别示教器啦

    更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供 ...

  8. 基恩士上位机链路通讯_【原创分享】ABB机器人与视觉控制器的通讯

    在一些工厂里你是否经常看到下图这样的一些自动化设备,他的里边有用到机器人与相机通讯完成物料位置的检测与物料抓放等功能,那么恭喜你,几分钟时间阅读完这篇文章你就懂了. 小编花了不少时间收集整理资料,下面 ...

  9. 发那科机器人控制柜示教器不通电_分享ABB机器人控制柜和本体的接线,给刚入门机器人的新人...

    新人在接触机器人的时候,一般不清楚到底机器人本体和控制器需要接多少线,接下来我来和大家分享下ABB机器人控制柜IRC5 Compact控制柜和机器人本体IBR1200的接线. 机器人与控制柜需要三条连 ...

最新文章

  1. 互联网推广方案:如何提高企业网站排名!
  2. JavaScript---设计模式之观察者模式
  3. matlab engevalstring,Matlab 執行engEvalString命令介紹 | 學步園
  4. 三个数据分析里最难攻破的“悖论”,每一个都令人费解
  5. 用DropDownList实现的省市级三级联动
  6. mysql 分段执行_19个MySQL优化技巧,索引优化这样做最有效!
  7. android studio聊天跳转_android app跳转到微信的示例
  8. C++ 对象模型学习记录(3)--- 第1章 关于对象(未完)
  9. 小程序ASC解密(java)
  10. Vijos P1848 计数问题
  11. 2020互联网公司中秋礼盒大比拼!
  12. 大唐移动骨干集体出走 TD人才考验大唐
  13. 微信公众号发红包功能,现金红包、裂变红包接口
  14. Java 进程启停及诊断 Jarboot大改版、焕然一新
  15. 【CTF】记录一次CTF比赛的Writeup(附题目下载地址)
  16. 你需要的不是中台,而是一名合格的架构师
  17. 软件设计师中级: 2019年上半年软件设计师考试上午真题 专业解析+参考答案
  18. ASUS eeepc-1005HA安装archlinux后耳机无声解决方案
  19. 端智能在大众点评搜索重排序的应用实践
  20. 2020年前端面试题(二)之VUE篇

热门文章

  1. hdu 4442 Physical Examination (2012年金华赛区现场赛A题)
  2. 论一个程序员的自我修养-从一张图片说起
  3. 《对不队》团队项目用户验收评审
  4. 数据操纵语言 ,DML, 增删改
  5. DOS的一些常用命令
  6. Gym 100090D Insomnia
  7. angular路由操作中'#'字符的解决办法
  8. Qt的元对象(Meta-Object)系统简介(转)
  9. 博客园贵团队可以给个解释么?
  10. THYMELEAF 如何用TH:IF做条件判断