11第十一章寻找和抓取东西

更新时间:2023-05-17 10:01:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

 

本章包含的内容: 

n 控制手臂 

n 理解自由度 

n 寻找物体 

11.1简介 

看到机器人从地面上抓取物体或者从你手中拿走物体总是很有趣。在这一章,我们会图解说明如何搭建手臂,夹具,钳子等一些可以抓取物体的模型。我们研究的一种最基本的运动测量尺度是自由度(DOF),也就是一个物体可以运动方向的数量。在本章的最后一部分,我们将展示如何寻找物体的方法,这也是最具有挑战性的项目。 

11.2控制抓手 

在第10章,我们介绍的汽压缸就是制作抓手、钳子的好部件,不幸的是,气动部件不是在任何时候都适用的。你可能没有气动部件或者没有空间安装带有一个压力开关或某种马达驱动阀开关的气体压缩机等设备。我们已经看到气动部件与RCX连接是相当麻烦的。因此必须求助于马达来驱动钳子。 

马达的难题不在于打开或者闭合抓手,而在与如何让抓手在物体上施加持续的力防止物体掉,也就是说,你不能只是用抓手围住物体,你必须施加一个力压紧物体。第二和第三章说过马达的失速会损坏马达,因此,不能持续的旋转马达来紧固物体,需采取一些方法来避免马达的损坏。当你发现处理的物体是具有的弹性的软性物体时,只要停止马达,让齿轮间产生的摩擦力来夹紧物体。看一下如图11.1的例子,用来抓取海绵球的不对称的抓手,当马达停止时,蜗轮可以防止抓手松开物体。回顾第二章,蜗轮是单向传动齿轮:它可以传动其它齿轮,而其它齿轮不能带动它运动。 

图11.1 使用蜗杆控制的手爪 

图11.2又是一个不同的设计,通过蜗轮和传动轴将马达的旋转运动变成了直线运动,这个动作控制可移动的小手爪。该机构的原理是:两半轴套与蜗轮的齿啮合,当蜗轮转动时拉或推动轴套,与之相连的轴也一起移动,这个复杂的机构解决了将旋转运动转换成直线运动的问题。 Page 1 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

图11.2 使用直线运动的手 

当用机器人的手来抓取坚硬或形状不规则的物体时,这个装置就不起作用了,你必须在装置中设置弹力机构。回顾第二章,在系统发生中断时,常用皮带滑轮装置的打滑功能保护马达。如图11.3所示的装置采用了此原理。打开马达后,抓手运动,遇到大的阻力后,皮带就打滑,此时马达继续旋转,使得传递到抓手上的力一直压紧物体,马达一停,物体就松开了。 

即使实现这个功能,这个方法也不是很完美,因为马达需要一直转动来抓紧物体。当机器人抓取物体的时间很短时,我们才建议使用这种方法。在很多应用中,需要使用更可靠的装置。 我们多次强调汽缸在这方面的应用中是最好的选择,我们分析一下汽缸在这方面为什么会有如此好的效果,汽缸具有两种状态:伸长和压缩。(我们故意忽率在中间手动停止汽缸的情况,假设开关没有中间位置)如果有东西阻碍它达到其中一种状态,它仍就会朝着那个方向继续施压。当阻力等于它内部的气压时,它就停止移动。持续在物体上施加的这个压力保证了抓手压紧物体。 

现在问题的关键是如何用气动装置来产生动作?如图11.4所示是一个双位系统。称它为双位系统是因为它具有两种默认状态,即两种可能到达的位置。橡皮筋推动连接板靠着两根黑销中的一根。如果将它稍微移动一下,让它通过A和B的中间点,它可以靠向另外一边。你只须提供足Page 2 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

够的力来推动开关,橡皮筋可以做的很好。 

根据这个原理,我们设计了如图11.5的钳子,它比较适合抓取像1x2砖的小积木块(在图底部的两块黑色板之间),为了在机器人中实际使用它们需要增加一个马达,推动钳子关闭或打开。通常,使用皮带或离离合齿轮,马达的时间控制是没有限制的。 

 如图11.16所示的复杂抓手使用了同样的方法,图中,双位机构被中间齿轮传动装置所取代。 

11.2.1使用导管来传递运动  

在讨论利用汽缸抓取物体时,不得不提到导管,它可以远距离驱动抓手。比较一下图11.7中装置与前一个例子中齿轮传动的装置,区别很变化很明显, 

Page 3 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

这个伸缩装置与第9章描述的有类似的特点,可以将运动距离传递。机器人-Cinque的可控制抓手就使用了这个技术(如图11.8)。一对交叉的橡皮筋在装置中产生了一种伸缩度,一旦手爪停止张开,手指就会复位。position. 

11.2理解自由度 

如果你仔细观察自己的手,你会发现它是一个不可思议的机械装置,它可以处理一系列不同形Page 4 of 9

 

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

状和大小的物体。考虑手能执行的动作:抓、搬、举、拿、压、夹、捏、推、拉等并且这只是其中的一小部分。这么多功能是如何实现的呢? 

当你移动手时,注意观察它的四个独立运动:从指尖到手掌处三个弯曲关节的运动-弯曲手指,另外还有一个手指与手掌连接处的左右轻微的运动,然后乘以5(一个手有5个手指)在加上碗关节的运动,这样25个或者更多的独立运动就形成了一个复杂的结构,这就可以让你的抓手根据物体形状来处理物体。为了完成这个结构,考虑一下灵活控制每一块肌肉的力量,你能拾起一个易碎的啤酒杯而不会毁坏它。 

每一个独立的运动都代表一个自由度(DOF),在同一个装置中不会影响其它运动也不会受其它运动的影响。前面例子中的结构比较简单,只有一个自由度,这个独立运动的手指的所有可能位置是由马达或汽缸决定的。自由度概念有助于你根据数量理解为什么那些简单的机械手与人类手的灵活性有这么远的区别。 

很明显,你不能用机器人套装设计出25个自由度的的机器人。每个自由度需要单独一个马达或者一个汽缸。你应该使用什么东西来简化它,从而减少机械手能抓取物体的范围。有时候是有限制的,但在大多数情况下你提前知道物体的形状和类型,使你的任务简化。在竞赛中包括收集东西,比如,机器人常处理像苏打罐头、乐高积木砖一样的特殊物体,因为这个,你就可以根据它的物体类型来设计了。 

搭建出具有多个自由度的机械手臂还是有可能的,如图11.9显示了一个具有3个自由度的运动手指。这个设计非常漂亮,但是遗憾的是它需要占用多个RCX端口。 

在缺少端口的情况下,如何来控制多个手指呢?为了使系统简单化,你可以集中所有的汽缸在一起。(不能通过一个汽缸来移动手指的单独部分,但手指仍可以抓取很多不同形状的物体)在如图11.10中的3个手指的气动手就使用了这个技术,它可以通过一个单独的电子管开关控制。 

图11.9 具有三个自由度的气动手指 Page 5 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

图11.10 具有三个手指的气动手 

图11.11 带有全部导管的三指气动手 

自由度的概念不仅能应用与抓手,还可以应用到其它机械装置中。如图11.12的装置来自R2-D2风格的机器人。Otto有两个自由度:大汽缸伸长手臂,小的控制抓手。 Page 6 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

图11.12 Otto机器人的手碧 

总之,在水平面上固定一个点需要两个自由度,而在空间中固定一个点需要三个自由度。在日常生活中的物体,有许多两个自由度和3个自由度的例子:喷墨打印机具有两个自由度,一个是扫描头的运动,另一个是进纸的运动。建筑起重机就是具有3个自由读的例子:钩子上升和下降,起重臂上小车的来回移动,起重臂的转动。因为RCX上带有三个输出端口,你可以驱动机器人的手臂,在界定范围内(称为操作环境),可以到达任何一个位置(非常像前一个例子中的起重机)如果你想吊起或放下物体,你需要使用另外的端口,或者使用第9章中的技巧用一个马达来控制多个自由度。 

11.3寻找物体 

搭建机器人的手臂是比较容易的,难的是如何寻找要抓的物体。我们先跳过机器人机器人找物体的问题。因为它涉及到13章关于定位的问题。因此我们暂时认为机器人不知道物体的位置。 在第四章我们讨论过缓冲器,在真实环境中定位是一项比较困难的任务,辨别物体更困难。因此我们假定知道要处理物体的类别以及机器人移动的环境(人工设计的环境)。你可能觉得我们把任务太简单化了,但即使在这个条件下,实现这个任务还是很困难,因此简化过程是很重要的。初学者最容易犯的错误往往就是一开始就把问题想的很复杂,为了增加定位问题需要复杂的机械结构和编程。对待一个常见的方法,我们建议你采取分而治之,逐步解决每一个问题。 

举个例子:沿线走小车需要移掉放在路径上的物体。缓冲器可以很好的判断障碍物,手臂的复杂度是由它能否将物体夹住或者将物体移走来决定的。 

在一个大的空间中,问题将会更复杂。想象你在一个没有墙壁界定空间内寻找物体(没有墙壁如何划定空间呢?在地上涂上不同的颜色,使用光感来辨别),你仍可以使用缓冲器,让机器人随意移动或按某种路线运动。不管比赛中使用了特殊规则,你都可以有效的使用一种漏形结构靠着缓冲器来搬运物体,或者使用长的天线来帮你在大范围内检测物体,如图11.13所示的装置用与寻找乐高方形积木块,知道了积木块的高度就可以使机器人利用顶部的缓冲器来寻找物体。 Page 7 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

图11.13 乐高立方体搜索者 

在其它情况中,第四章描述的标准乐高部件、或者是第9章讲的传统IRPD传感器,可以使用类似的探测技术。回到上面的例子中,在没有墙的场地中,可以使用类似“看”的方式或用前面提到的缓冲器能提高最后的检测效果。如果有墙呢?你需要与墙区别开来。 

最简单的方法根据物体的形状。通常墙比你要找的苏打罐头或弹球高,因此你要准备两种不同高度的缓冲器,看一下哪个更容易碰到物体。下面这种方法的工作原理也与此相类似,将两个传感器放在不同的高度,这样可以判断发现苏打罐头还是墙壁(图11.4)。这种可以发出红外线的传感器可以相互影响,导致读数不可靠。它不只是接收发射出去的反射光,可以接收其它传感器发射出去的光。为了避免这个问题,你必须编程不能让两个传感器同时激活。可以将光感设定成为被动传感器来解决(比如触动传感器),这样它们不能收到能量,也不能持续的发出红外光线。在读取数值之前,你必须编程将它设成一个主动传感器。然后在将它变成被动传感器。 Page 8 of 9

11[机器人课堂RCX、NXT编程]第十一章寻找和抓取东西

机器人课堂

还有一种情况就是当你想手动触发机器人抓取和放开物体。使用一个触动传感器就可以实现了,当你想让机器人关闭或打开手抓,你可以按下触感的按钮。近程探测可以让机器人在动作中看的更形象,比如说,搭建一个搜索房间的机器人而且提供一个物体给它时,停止去抓它,如果机器人在有墙壁和其它障碍物的房间中搜索时,这需要使用一点技巧,因为它不能判断什么东西触发了它近程探测,假如你有一个传感器-它能返回距离的相对或绝对值,在这个例子中,你就能持续的监视距离并根据在运动中的一个突变来决定抓取还是松开物体。 小结 

设计机器人手臂更多的是一种艺术而不是技术。当涉及到齿轮和气动是才是真正的技术问题。使用它们可以准确的定位抓取物体,使用合适的气压抓取具有弹性的物体。尽管这样,还是有一些庞大的物体不能抓取。你可以选择气动或无气动方法,在抓手上设计不同的自由度,使用带管道的弯曲系统并且可以反转端口来增加额外的功能。 

从容易开始,项目的第一个目标围绕一些典型的物体,有了经验后,逐步的抓取一些复杂的物体并且可以有信心去迎接挑战。 

寻找物体是最难的一项工作,但有时你可以使用随机搜索模式或者物体放在运动轨道上。 

Page 9 of 9

本文来源:https://www.bwwdw.com/article/x7z4.html

Top