收到一封读者的 email:
LT你好:
想请教一下 机器人的软件限位 与机器人的工作空间 之间的区别与联系
因为小弟是初学机器人 所以不是很清楚 网上又找不到合适的资料
在网上看到你的文章 写得很不错 希望也能和你交朋友 如果你不介意我这样的初学者O(∩_∩)O
随后 LT 翻阅了小站的以往文章,发现并没有这方面的介绍,所以决定干脆整理一篇专门的文章来聊聊这个话题。
收到一封读者的 email:
LT你好:
想请教一下 机器人的软件限位 与机器人的工作空间 之间的区别与联系
因为小弟是初学机器人 所以不是很清楚 网上又找不到合适的资料
在网上看到你的文章 写得很不错 希望也能和你交朋友 如果你不介意我这样的初学者O(∩_∩)O
随后 LT 翻阅了小站的以往文章,发现并没有这方面的介绍,所以决定干脆整理一篇专门的文章来聊聊这个话题。
ABB工业机器人的编程语言 RAPID 中,对于点位的描述,专门有一种数据类型:robtarget ,如下面对于点 Target_10 的定义 :
CONST robtarget Target_10:=[[103.446614369839,177.778223757339,29.9999999999999],[6.07064838351457E-17,-0.130526192220051,0.99144486137381,7.99216021664582E-18],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
其结构解释如下:
< dataobject of robtarget >
< trans of pos >
< x of num >
< y of num >
< z of num >
< rot of orient >
< q1 of num >
< q2 of num >
< q3 of num >
< q4 of num >
< robconf of confdata >
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >(注1)
其中,XYZ是TCP在参考坐标系中的坐标值;q1\q2\q3\q4是四元数来表示TOOL坐标系在参考坐标系中的姿态,有的机器人系统是用欧拉角来表示姿态的的;cf1\cf4\cf6\cfx表示1\4\6\x轴的配置,因为对于一个点,机器人各轴可能有两种以上姿态可以到达;eax_a\~\f 表示外轴的位置。
(未完待续)
注1: 3HAC 16581-1 revG 《RAPID Instructions, Functions and Data types》 page 1114
扩展阅读:
题记:国庆长假,整理了以前几篇老文章放上来。也算是对自己足迹的一个记录。这篇文章大概是 2008年10月记录的。Interrupts 中断是 ABB Robot 编程语言 RAPID 中很实用的一个功能,后面的文章 LT 会陆续介绍到。这里发的是当时学习最普通的中断功能(对某一信号响应)时做的一个学习笔记,内容上有摘录和翻译了官方文档(RAPID 4.0.40 )里的一些片断。注释是以”!”标识的,内容原来是英文的,这里改为了中文以便区别代码。实际上用中文作注释是不明智的。
原发布于2008年10月@CSDN Blog
RAPID (Robotics Application Programming Interactive Dialogue)是 ABB industrial robots 的编程语言 ,是 LT 非常欣赏的一种高级语言。
LT在使用中曾经遇到一搞PLC的同事咨询,ABB的IO系统是否可以象PLC那样有对信号边沿检测的功能?笔者当时并没有发现IO配置上有此功能,于是一直在思考这个问题。(如果看客你知道有这个功能,请不喜吝啬告诉小弟,不胜感激!)
近来在想,RAPID中的Interrupt功能不是就有此功能吗?当一个信号由0变为1,或由1变为0时,触发一个中断子程序来处理后续,是不是就有类似PLC中的上升沿,下降沿检测功能了么。
如果你有什么好的实现方法, 欢迎讨论:)
P.S. 20110504补充: 后期的 IRC5 集成了PLC功能,那么这个边沿检测自然更不成问题了。参见《Integrated PLC AC500 in IRC5》
M2000 /S4C+ 的ABB工业机器人控制器都支持FTP连接,以方便存取系统和程序文件。相比于M94/M96/M97标配只有个蜗牛般速度的软驱,实在是无比的方便。
Robot控制器的设置保持默认,更改PC的IP如下:
IP地址:192.168.125.82
掩码:255.255.255.240
网关:192.168.125.81
然后,在FTP Clent软件里填入Robot控制器的IP : 192.168.125.1 ,用户名密码是abb,就可以连接进入了。有很多的ftpclient软件可以使用,比如 flashfxp / filezilla 等 ,不过可能 S4C+ Robot 的ftp服务器仅支持最基本的ftp命令,所以ftp client软件里的列表方式最好改为只list。比如flashfxp默认的就是 list -al,可能会列不出目录。
至于程序修改,由于abb robot的程序文件RAPID都是文本格式且风格类似c/pascal,所以我们首选Ultraedit作为编辑器(简称UE),对应的语法高亮文件 abb-s4.uew 可以从UE官方下载: http://www.ultraedit.com/files/wf/abb-s4.uew 下载后添加到UE里,就可以识别函数高亮语法,很是方便。UE提供了非常灵活的规则,感兴趣的可以研究研究它的帮助文件 Syntax Highlighting 一章。
2010.07.20 补充: 关于用另一种编辑器Notepad++怎样高亮显示RAPID语法,Bruce已经在他的blog里提及,感兴趣的请点击: Notepad ++版ABB RAPID程序编辑器 http://www.brucebot.com/2010/07/rapid-for-notepad/