Monthly Archives: October 2011

REIS ROBOTICS 的离线编程软件 RobOffice 介绍

REIS ROBOTICS 的工业机器人控制系统离线编程工具 RobOffice ,其官方介绍:

RobOffice ist ein virtuelles Abbild der realen Robotersteuerung (VRC = Virtual Robot Control) und beinhaltet die gleiche  Funktionalität wie die Robotersteuerung, inklusive der eingebetteten ProVis-Oberfläche. Damit können Roboterprogramme am Windows-PC erstellt, getestet, und visualisiert werden. RobOffice ist lauffähig auf Windows-XP und ab Version 24.0 auch unter Windows 7.

德语看不懂哎,用巴比伦词典软件翻译下:

RobOffice is a virtual image of the real robot controller (VRC = virtual Robot Control) and includes the same functionality as the robot controller, including the embedded per Vis-Oberflache . This will allow robot programs on Windows PC created, tested, and visualized. RobOffice is running on Windows XP and from Version 24.0 also under Windows 7.
我们看看主要界面,与REIS机器人的手持示教盒PHG一样的界面:
重要的组件之一: RSV File Transfer,用来通过网络进行机器人程序的传输和备份。(运行时只需要ftp.exe和rc.dll两个文件,可以从roboffice安装文件夹里提取)
重要组件之二:ProVis ( ProVisLauncher ),用来进行可视化的设置和和机器人的3D建模。这个是内建在机器人控制器或 RobOffice 内的一个JAVA程序,需要JAVA运行环境的支持(Java Runtime Edition (JRE) version 1.6_10 or higher)。可以从机器人随机光盘里获取,位于光盘 Service CD 目录。
既然前面提到Provis是个JAVA程序,那么还有另外一种运行方式,通过网页浏览器,输入 Roboffice的地址,如 http://127.0.0.1 ,如果要连接真实的机器人控制器,则输入真实的IP地址,如 http://192.168.1.1 。

这两个组件在工业机器人现场是经常用的,而且是对终端客户免费使用的;而RobOffice的正常使用则需要授权文件。

RovOffice V23 是目前最成熟的一个版本,V24开始可以在 Windows 7 系统上运行,REIS ROBOTICS官网提供了Roboffice 从版本21起的安装程序,下载下载地址为: http://www.reisrobotics.de/Service+_+Support/Download/Software/RobOffice.html

关于一些基础知识,可以在 http://www.reisrobotics.de/Infothek/Grundlagen+der+Robotik.html 下载查阅( 又是德语看不懂哎!这里 LT 强烈建议学理工的二外选择学习德语,LT 是不是考虑也得着手学习了呢?)。

P.S.  提醒:软件附带的帮助文档,可是了解 REIS ROBOTICS 机器人控制系统详实的资料!这个原则适用于任何软件系统。( LT 做了个简单的网页链接:Robot Documentation – REIS    https://dl.dropbox.com/u/1598679/doc/help.html)

相关文章

P.S. 机器人随机光盘Service CD目录内容:

 

 

双独立Windows XP系统引导的简单实现

对于上一篇文章《Ubuntu 10.04 LTS 和双独立Windows XP 三系统共存安装过程》,如果不想安装Ubuntu,那么怎样来引导双独立WindowsXP系统呢?其实XP自带的bootloader,即 NTLDR 可以实现。我们只需要修改boot.ini文件即可。

分区与上篇文章类似:主分区+扩展分区(逻辑分区)+主分区。按照上一篇的方法把XP安装完成。

然后编辑激活的主分区根目录下的 boot.ini 文件,添加引导第二个主分区的代码行

[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=”Microsoft Windows XP Professional (S7)” /noexecute=optin /fastdetect

即可以实现双独立WindowsXP系统的引导。

扩展阅读:
Grub4DOS : http://baike.baidu.com/view/1634916.htm

用于工业机器人位置检测的旋转变压器 – Resolver

工业机器人使用的伺服电机中有一种部件,用于检测电机的角位移,称之为旋转变压器 (Resolver)。图片中是ABB工业机器人常用的伺服电机中使用的一种旋转变压器,型号 TS2640N141E172 。关于旋转变压器具体怎么使用,这里不讨论,这里 LT 只想讨论与工业机器人实际使用过程中相关的话题,那就是机械零点同步。

左边的是定子,右边的是转子,旋转变压器的定子安装固定在电机的壳体(定子)上,转子固定在电机轴上,与电机转子一起转动。独特的设计,可以使转子做到无刷结构。在上篇文章《工业机器人的运动停止-刹车测试》里,LT 曾贴出一个伺服电机的剖面图(link),从中可以了解其安装结构。

在 LT 接触工业机器人时间不是很长的时候,写过一篇日志《机械零点和同步》,这篇文章更多谈的是机械零点的同步,而不是校准。而@于仁颇黎 的一篇文章《零位校准》则是机械零点的校准。机械零点的校准,是任何一个机器人出厂前要做的工作,这个话题可参考@于仁颇黎的文章。而机械零点的同步则是用户使用过程中有时候需要进行的操作。

问题一:为什么需要机械零点的同步呢?

这个问题就和开头提到的旋转变压器有关。因为旋转变压器组成的编码器系统只能检测旋转变压器转子一个圈内的位置,即0度~360度。当机器人各轴位于机械零点时,系统记录的旋转变压器转子的圈数为0,当旋转变压器转子进入第二圈后,又开始从0度起步,这个时候系统就要进行一次计数,计数为1。当某种原因,系统不知道旋转变压器已经转了几圈了,这个时候控制器就要发出信息: 我不知道你转几圈了! 从而发生机械零点同步丢失的情况。机器人使用者需要进行的操作就是手动把机器人各轴移动到机械零点标识处,重新同步。ABB的称之为 Revolution Counter Update(转数计数器更新)。

我们来想象一下,假如机器人某个轴要在300度范围内转动,再假设减速系统的减速比是100 ( 请查找 RV减速器的减速比 ),那么电机就需要转动300*100=30000度,相当于30000/360=83圈多。如果换成绝对值编码器,只要范围合适,就不存在同步的问题。但是,为什么不采用绝对值编码器呢? 这个问题请自行思考。

问题二:在@于仁颇黎的文章里提到 “将机器人的各个关节移动到零位附近的一定位置内,内部程序就会自动将其校准到正确的零位”  或者 也许你也听某人说过同步时机械零位对准的误差范围可以在3度之内。这又是怎么回事呢?

还是和旋变编码器有关,因为系统可以读出旋转变压器的转子在一圈之内的度数,即0~360度,360度的范围经过减速系统的变速比后,旋转变压器转动一圈,机器人的轴转动360/100=3.6度(假设变速比为100),只要在一圈内,同步时,系统都会认为是第0圈,就是这么回事。如果同步时,零位对准的偏差范围落到了旋转变压器转的第二圈里,那就会产生误差了。

思考: 

1、如果变速比越大, 那么做零点同步时允许的误差就越小。

2、如果有不同的负载 ,那么对做零点同步有何影响呢?

扩展阅读:

  • P.S.在ABB Robot S4C+ 随机光盘中,有个文件RobInst.pdf 描述了保存Counter值的文件


    The root directory of the mass storage memory is called hd0a. In the root directory,
    hd0a there are several different components:
    - The control system package, which is named as an article number, similar to
    3HAC6811-1.00
    - bin, which is the BootImage code
    - BootRom.sys, which is the system configuration and description file for the mass
    storage memory
    - MC.cfg, which is the network configuration for the main computer
    - ctrl.bin, which hold e.g. revolution counter values
    - system.dir, which holds information on the current system
    - system directories, which are the different systems stored in the mass storage
    memory.

什么是工业机器人的TCP

“要确定一个刚体在空间的位姿,须在物体上固连一个坐标系,然后描述该坐标系的原点位置和它三个轴的姿态,总共需要六个自由度或六条信息来完整地定义该物体的位姿。”

上面这段话是摘自[美] Saeed B. Niku 著的《机器人学导论——分析、系统及应用》 中文版第48页的内容。想象一下,一个物体在空间可以在X\Y\Z三个方向平动,也可以围绕着X/Y/Z转动,这就是为什么有6个自由度的原因了。工业机器人使用的途径就是要装上工具(TOOL)来操作对象,那么如何描述工具在空间的位置呢,显然,方法就是在工具上绑定(定义)一个坐标系即工具坐标系TCS  (Tool Coordinate System),那么这个TOOL坐标系的原点就是所谓的 TCP点 (Tool Center Point) 工具中心点。在机器人轨迹编程时,就是将工具在另外定义的工作坐标系中的若干位置X/Y/Z和姿态Rx/Ry/Rz记录在程序中。当程序执行时,机器人就会把TCP点移动到这些编程的位置。

无论是何种品牌的工业机器人,事先都定义了一个工具坐标系,无一例外地将这个坐标系XY平面绑定在机器人第六轴的法兰盘平面上,坐标原点与法兰盘中心重合。显然,这时TCP就在法兰盘中心。不同品牌的机器人有不同的称呼,ABB机器人把这个工具坐标系称为tool0,REIS机器人称之为 _tnull。

下图拿 REIS 的机器人3D模型 RV10-6 来说明,为了突显出默认的工具坐标系,特将模型的本体做了透明化处理。(这个图片是从REIS的软件ProVis里截取出来的)


虽然可以直接使用这个默认的TCP,但是在实际使用时,用户显然希望自己来定义自己的TCP点来更好的操作对象,比如焊接时,用户希望把TCP点定义到焊丝的尖端,那么程序里记录的位置便是焊丝尖端的位置,记录的姿态便是焊枪围绕焊丝尖端转动的姿态。

下图是一个新的工具坐标系的例子,仅向Z轴方向平移,形成的新的坐标系。

为了更好的理解,请观看下面的视频 (ABB RobotStudio):

http://v.youku.com/v_show/id_XMzEyNzkxMjI4.html

实际上,用户自定义TCP时,是定义了新的tool 坐标系原点在tool0坐标系中的位置,以及新tool坐标系在tool0坐标系中的姿态。如果考虑到动力学因素,还要定义工具的质量、重心、转动惯量。以便更好地使机器人在真实物理世界空间中运动。

扩展阅读: