ABB机器人之LOADDATA

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> ] ';'



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】——性能指标(ROC、MAP、AUC等)

目录 一、分类任务性能指标 1、混淆矩阵 2、精确度ACCURACY 正确数/总数 3、查全率&#xff08;RECALL&#xff09;——真正正样本中预测正确的比例 4、查准率&#xff08;precision&#xff09;——预测为正样本中的预测正确的比例 5、F-score——对查准率和查全率进行结…

【深度学习】——过拟合的处理方法

目录 一、什么是过拟合&#xff1f;&#xff08;overfitting&#xff09; 二、过拟合的表现&#xff08;判定方法&#xff09; 训练集、测试集、验证集区别 测试集与验证集的区别 三、产生过拟合的原因 1、样本方面 2、模型方面 四、避免过拟合的方法 1、样本方面 1&…

ASP.NET页面的字符编码设置

在用ASP.NET写网上支付的接口程序时&#xff0c;遇到一个奇怪问题&#xff0c;通过表单提交过去的中文全是乱码&#xff0c;英文正常。而用asp程序进行测试&#xff0c;可以正常提交中文&#xff0c;asp页面中有这样的HTML代码&#xff1a; <meta http-equiv"Content-T…

【深度学习】——BN层(batch normalization)

目录 一、“Internal Covariate Shift”问题 二、BatchNorm的本质思想 两个参数r和β的意义——精髓所在 三、训练阶段如何做BatchNorm 四、BatchNorm的推理(Inference)过程 五、BatchNorm的好处 一般使用在卷积层后、激活层前 Batch Normalization作为最近一年来DL的重要…

JAXB vs XStream

2019独角兽企业重金招聘Python工程师标准>>> JAXB vs XStream 博客分类&#xff1a; java JAXB vs XStream 这两东东本质上是有差别的&#xff0c;JAXB称为OX binding工具&#xff0c;XStream应该算序列化工具&#xff0c;但OX binding工具也会marshall和unmarsha…

ABB 机器人 DRVIO_1通信报警

ABB 机器人DRVIO_1通信报警 2014.06.13 ABB1600弧焊机器人&#xff0c;从A地搬运到B地&#xff0c;到达B地后&#xff0c;机器人上电&#xff0c;报DRVIO_1通信故障&#xff0c;机器人进入故障停止模式。 DRVIO_1为LOCAL_GENERIC类型的ABB内部LOCAL总线类型的单元实例。 故障…

S2SH CRUD 整合

S2SH CRUD 整合 采用的框架 Struts2Spring4Hbiernate4. 目录结构 &#xff1a; EmployeeAction: 1 package com.xx.ssh.actions;2 3 import java.io.ByteArrayInputStream;4 import java.io.InputStream;5 import java.io.UnsupportedEncodingException;6 import java.util.…

ABB 机器人 添加多任务

首先&#xff0c;需要启用多任务选项的控制器。 要做到这一点&#xff0c;创建一个新的机器人控制器RobotStudio站 - >选择机器人&#xff08;控制器菜单&#xff09; - >.................. - >系统生成器 - >选择控制器 - >修改...下一页 - >下一步 - >…

分享12306抢票心得-终极秒杀思路篇

12306抢票的关键拼的就是整点出票的速度&#xff0c;快的几秒钟&#xff0c;慢的几分钟&#xff0c;本文提供终极抢票攻略&#xff0c;通过多线程扫描上万个CDN&#xff0c;来大幅度提升出票速度。准备一&#xff1a;需要了解CDN和切站的机制&#xff0c;请参考&#xff1a;分享…

JVM内幕:Java虚拟机详解

为什么80%的码农都做不了架构师&#xff1f;>>> 这篇文章解释了Java 虚拟机&#xff08;JVM&#xff09;的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件&#xff0c;第二章…

ABB机器人 系统参数配置

系统参数用于定义系统配置并在出厂时根据客户的需要定义。 可使用 FlexPendant 或 RobotStudio Online 编辑系统参数。 此步骤介绍如何查看 系统参数配置。 操作 &#xff1a; 1. 在 ABB 菜单上&#xff0c;点击控制面板。 2. 点击配置。显示选定主题的可用类型列表。 3. 点…

四则运算2开发简介

四则运算2在四则运算1的基础之上&#xff0c;又添加了新的功能&#xff0c;但是我觉得四则运算2的难度比四则运算1增大了很多&#xff0c;我在编程的过程中&#xff0c;遇到的最大难度就是不知该如何更好的融合各个功能之间的关系。 写到现在&#xff0c;四则运算2主要实现了以…

ABB机器人的 备份与恢复

保存内容 备份功能可保存上下文中的所有系统参数、系统模块和程序模块。 备份内容 数据保存于用户指定的目录中。 默认路径可加以设置。 目录分为四个子目录&#xff1a;Backinfo、Home、Rapid 和 Syspar。 System.xml 也保存于包含用户设置的 ../backup &#xff08;根…

【深度学习】——物体检测细节处理(NMS、样本不均衡、遮挡物体)

目录 一、候选框大量重叠问题 1、NMS核心思想 2、 步骤&#xff1a; 3、缺陷 4、改进 1&#xff09;soft NMS——衰减的方式来减小预测框的分类得分 2&#xff09;softer nms——增加了位置置信度 二、样本不平衡问题 1、不平滑的来源&#xff08;3方面&#xff09; 1&a…

第6章 循环结构

循环语句: 可以让一部分代码,反复执行 1.1 循环语句while while循环: 编写格式:while(条件){ 循环体 } 条件: 当条件是true,就执行循环体,执行完循环体后 程序再次执行while中的条件,如果条件还是true,继续执行循环体 直到条件是false的时候,循环就结束 public class WhileDem…

MongoDB复制集技术

为什么使用MongogDB复制集技术? mysql中:一主一从&#xff0c;一主多从结构存在的问题 1、 fileover&#xff08;故障转移&#xff09;a) 选主投票b) 切换 2、 是否对就用透明化 3、 数据补偿的问题a) 两阶段数据补偿 4、 解决方法 mysql中使用MHAVIP b…

Linux文件系统的实现 (图文并茂,比较好)

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; Linux文件管理从用户的层面介绍了Linux管理文件的方式。Linux有一个树状结构来组织文件。树的顶端为根目录(/)&#xff0c;节点为目录&#xff0…

ROS探索总结(一)——ROS简介

随着机器人领域的快速发展和复杂化&#xff0c;代码的复用性和模块化的需求原来越强烈&#xff0c;而已有的开源机器人系统又不能很好的适应需求。2010年Willow Garage公司发布了开源机器人操作系统ROS&#xff08;robot operating system&#xff09;&#xff0c;很快在机器人…

利用union判断系统的大小端

int checkCPUendian()//返回1&#xff0c;为小端&#xff1b;反之&#xff0c;为大端&#xff1b; { union{ unsigned int a; unsigned char b; }c; c.a 1; return 1 c.b; }大端模式(Big-endian)&#xff0c;是指数据的高字节保存在内存的低地址中&#xff0c;而数据…

ROS探索总结(二)——ROS总体框架

一、 总体结构 根据ROS系统代码的维护者和分布来标示&#xff0c;主要有两大部分&#xff1a;&#xff08;1&#xff09;main&#xff1a;核心部分&#xff0c;主要由Willow Garage公司和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具&#xff0c;以及整个…