第10组论文机械设计在麻省理工学院实验室(MASLab)的

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第10组论文机械设计在麻省理工学院实验室(MASLab)的第一周时间里,我们整个团队第一次聚在一起为我们的机器人设计集思广益。我们想要尝试在这个领域取得成果的目标是一致的,但是我们并不十分明确怎样去达到这个目标。在放弃了许多不同的想法之后,我们决定作一个底盘不太低的简单设计,这样我们可以在通过球时抓到他们。我们同样需要一个随奔跑不断上升的装置,这样就不必知道我们究竟什么时候抓到了球。在第二周一开始,我们就开始对原型进行试验。我们通过重新安装我们鸽子机器人上的轮子和小脚轮来完成的允许球在机器人的下面清楚明白的需要。我们同时也制作了各种漏斗来将球导引到机器人下方的一个特定的区域,并将它们送入一个提升装置中。这个初始的原型在通过球时成功的将球导引进入机器人中。当我们在实际机器人的底盘上制造了一个相同的漏斗时,我们轻微的改变了漏斗的角度来为其他组件提供足够的空间,但是发现由于球在漏斗中的更多弹起而降低了效率。然而,这并不是大问题,因为我们昀终的提升装置同样也能用来帮助指引球的走向。我们知道我们能够控制球的滚动方向之后,我们开始计划在机器人的前面作一个单向门,来防止球的遗失,即使我们在捕获球后向后倒退也能防止球的遗失(在球到达提升机构之前)。这里主要的挑战是制作一道坚固的门,并且要有较低的阻力使得球总是能够将它推开。了解到如果门不能成功的被推开将成为我们的阿基里斯之踵,在制造之前我们彻底的研究了铰链和制作材料。这个较下面的门(为了防止与上面的门混淆而这样命名,随开释放门)很可能会被看到比我们机器人的其他机械元件发生更多的反复开关动作。昀初,在机器人的前面它由水平条带状的聚碳酸脂附在铰链上制成,带有短支架向下延伸防止向前开放。这个设计可能没有固有的缺陷,但却带给我们很多痛苦。痛苦的主要来源是,当手工测量和设计这个门时,我们限制了螺纹的准确度。结果,当我们拧紧铰链上的螺丝时,门将会轻微的扭曲这增大了阻力使得球不一定能通过。我们尝试拧了很多次,并且昀终得出结论我们不得不将螺丝拧松些。另一个问题是我们很难能使得支架足够的长来防止门向前开的同时,仍要使它足够的短能够使球自由的在支架下面移动。昀终的门与开始的模型门是一样的,除了多了一条金属棒来增加聚碳酸脂条带的强度。在我们的机器人上昀使人气馁的是提升装置。昀初我们希望制作一个阿基米德螺旋线来不断旋转提升球。我们遵照原型发现的确能够制造一个(尽管制造一个将会面临更多的挑战)。然而,我们底盘不太低的期望很难找到一种方法强迫球进入螺纹。我们也考虑了带托盘和圆环的链条和带子来提升球,但是我们仍然想不出怎样使球到上面去。昀后,我们提出用三角形的带子,当从前点通过到后面过程中将会发生从开始接触球到将球推进后面的斜道中的过程。这看起来是一个解决方法,因为这已经在提升过程中开始推球了。制作带子的第一项任务是找到一种合适的材料,这被证明比我们想象中的难。较理想的是找到一个先做好的并带有飞盘可以移动球的链子或带子来。在实验室一下午的搜索后,一条仓库的搬运带、Hubba-Hubba、剑桥自行车的链条,我们昀终决定用自行车链条并且计划将飞盘焊接在上面。当我们没有将链条焊好后,我们决定改为移除将链条连接起来的插脚,飞盘用钢线制成,通过将钢线嵌入原来插脚所在的位置将飞盘连起来。链条由机器人后面的齿轮带动,它由金属管连接到一个驱动马达(由环氧焊接和螺丝固定)。在前面和上面的拐角上,链条逐个通过固定的辊子(辊子也是由金属管制成)。关于链条的两个主要问题是:它总是容易从齿轮上滑落,飞盘总是碰到机器人的其他部分。滑动的问题很严重,我们几乎在昀后一周里决定放弃链条。然而,当我们重新排列齿轮和辊子后,我们很好的克服了这个问题。链条卡住的问题起初看起来不是那么重要,但结果证明更难克服。我们可以调节飞盘并且锉掉机器人中链条可能碰到的地方,但是因为从来没有完全拉紧,由于不一定什么时候卡住并且很难预知在那里卡住。在调整链条很多次以后,我们通过执行一个功能来很小心的处理遗留下来的链条卡住问题,这个功能就是它会即时感知来并告诉我们什么时候链条被卡住了,并且让链条反转很短的一段时间,然后再让链条向前运动。这个功能运行的很好,因为链条的运动路径不固定,在一个行程中很难在同一个地方卡住两次。在底盘下面,链条和漏斗指引球走上一个聚碳酸脂做成的斜坡,这个斜坡是由金属薄片增加强度的。这个斜坡大概在离开地面1/4英寸高处因此不会被比赛场地的地毯卡住,但是它具有足够的韧性,使得球能将它压下接近地面并滚到上面。这个坡道被附在一段垂直的聚氯乙稀管子上。这段管子有很多用途,包括当球向上走时指引球和同时为上面的辊子和顶部的球采集托盘提供衬子。大约沿着管子整个长度的1/3被切掉以使飞盘能刚好进入它。在管子上是一个材料为聚碳酸脂制成的四周由薄木片做成围栏的托盘。托盘形状看起来像个漏斗,十分像机器人下面的漏斗,仅仅是角度有些轻微的向下。(管子和托盘的顶端在离开地面13英寸高处托盘的底部大约12.5英寸适应领域目标。)因为链条易于将球发射出管子,我们在处理球弹出托盘时遇到了困难。为了保持球在托盘里面,我们从一个2升的矿泉水瓶上剪掉了一片塑料为托盘做了一顶“帽子”。这个帽子被用螺丝和绳索固定在了托盘上,而且很容易被压成适合于我们的托盘。因为这个帽子是个较晚的增添物,因此它没有像机器人的其他部件那样拧紧,在比赛中一些球将捕获挨着帽子,不会从托盘上掉落。而这从来不是一个真正的问题因为我们没有实际接触过并且试图清空这些球,很显然,我们可能需要在设计这顶帽子时投入更多的精力。在接近托盘的前面末端,一个由金属片制成的门是的球不会掉落。一旦停在目标处,一个变速马达用来提升这个门并释放这些球。这个辅助装置是机器人身上唯一一直工作的电子部分。然而我不知道“servo”的来源,我习惯认为它来自拉丁文servo,意思是“我服务于”或者“我解救”,因为它的确为我们服务的很好。总的来说,球的采集机构工作的相当有效率(一旦它工作起来)。机器人需要的仅仅是从球上走过。球将会穿过下面的门,到达链条上,然后被推进坡道到管子上,抛出管子并且(希望如此)落在帽子下滚下托盘,剩下的在门后直到机器人找到下一个目标。回顾这个过程,这个系统唯一比较严重的问题是它花了太长的时间来完成,而我们没有时间来徘徊于找球和寻找目标。传感器和策略机器人用它的传感器根据环境的不同而做出不同的反应。例如,它用它四周的较短范围IR传感器来沿着墙走。这些传感器被安装在目标线上来允许沿着墙走,而墙正对着目标。为此我们做了外部和内部的界限来限制允许机器人离开墙多远。当它在这些边界的中央行驶时,两轮将会以100%的速度行驶,当远离墙时,靠近墙一侧的轮子将会逐渐减速,使它离墙更近,更远处的轮子将会减速。这种相称的反馈使得机器人与墙之间保持一个合适的距离。唯一的问题出现在当机器人遭遇锐角时。这就意味着它会径直撞上墙,而IR传感器的值不会改变。为了解决这个问题,三个传感器被安装在机器人的前面。这些使得机器人知道什么时候它已经撞上了前面的墙。当左面的撞击传感器被触发时,机器人向右转。当右面的撞击传感器被触发时,机器人向左转。转动量为典型的45°。这会在机器人沿着墙走或自由移动时帮助机器人向前走。转过45°后,我们仍然面临着机器人进入锐角的问题。想象一下这种情况,当右面的撞击传感器在右面的墙被触发时,然后它向左转却仅得到左面的撞击传感器在左面墙被触发,然后重复循环。对这个问题的简单解决方法是使机器人有时转向超过45°。我们选择被随机选择时间的1/3来转225°来防止撞进锐角,撞击传感器的另一个有意的目的是探测机器人什么时候进入划进的得分区域。因为中间的撞击传感器被安装在稍稍远离前面的其他两个传感器,我们会知道当我们正向目标前进并且边上的传感器而不是中间的传感器被触发时我们可以释放球。然而结果是,很难排列的那么准确,这确实发生了,因此我们改进了我们的检查,确定边上的而不是中间的传感器被触发。这并不好而且也并不总是有效。我们认为单独沿墙走对探测大部分区域来说并不是一个好方法,因此我们在我们的机器人中也混入了随意运动。它在这些选项中选择,像向前移动、转向、后退或者再一次改变沿墙走。我们有全局性的暂停,因此我们的机器人不能在这样的模式中太久。随机动作和沿墙走只有在任意点看到球时才能被中止,或者在比赛的昀后一分钟里看到目标才能中止。在昀后一分中里,向目标移动比向球移动有优先权。当我们的机器人移动向一个物体,它会停下,照一张照片,改变一个很小的角度,然后再停下来再照一张照片。当物体在屏幕中央的一个小窗口里时,它只会向前移动。向前移动后,它会再一次停下来重新评估位置。当球离机器人只有几英寸远时,它会看见球,因此当这发生时,机器人直接向前走,有希望经过球。机器人停下来,转向特定的角度,在200毫秒内校准陀螺仪、转向、并且一旦陀螺仪转向足够它会停下来(或者它会暂时停下)。我们选择不完全相信陀螺仪的全方位扫描,仅为这些正好校准的局部数据。显示和常规软件讨论我们对我们机器人的视频处理尝试了几种方法。我们的代码建立在冬天给我们的“影像指南”的宽松基础上;不幸的是,麻省理工大学实验室对使用的Java版本进行了大量的修改,并且在IAP开始前也改变了它的映像图书馆,因此我们浪费在第一周里已经有功用的代码,而是转向工作于新的图书馆。我们也受启发使用各种奇特的新发明的Java数据,从一般的到抽象的种类和界面等等。而我们的原始代码在一些理论感觉上非常简洁,也几乎不能在其中写进任何东西,而且它相当慢。几个月以来,我们的代码除了一些地方不能理解从抽象到实际应用的发展非常好。我们昀初有一个分离的线程就是不断捕获并且分析映像,像一个“球屏幕定位”的列表一样同步的变化的展示物体。我们发现这样效率太低了,主要是因为摄像线索不得不寻找每一种我们需要辨认的物体,即使是在特定的时间里我们只想找球,或者只是为了检查是否有红色象素在屏幕上。我们能够修理这个缺陷通过给摄像线索一些flag来读取,来决定这时做什么,这使得它捕获自己更有效率,因此一旦机器人能够看到一个球并且停下来观察它,机器人很擅长使它自己很精确的瞄准球;然而这确实意味着当它旋转过并注意到球时太晚了。我们的映像扫描仪寻找映像(通常取样每两个或三个象素中的一个)中的正寻找的颜色的象素(通常不是红的就是黄的),当通过时作蓝线过滤。图片数据先被转换成3列浮点数据,叫做色调、饱和度、亮度。扫描仪能够反馈它有“足够的颜色象素”,或者询问能否聚集他们形成连接体。它也能放弃位于目标映像下方球的映像,因此我们不能要求我门的机器人尝试取得已经得分的球(甚至我们不能瞄准较低的目标)。当我们尝试作尽可能多的优化时,我们不得不在比赛前夕删掉一些。例如,我们昀初拥有它因此触发从随机运动模式或沿墙走模式转到找球模式,将会在映像中正好看到足够的红色象素,代替了实际连接元件分析的时间浪费。同时,在找球模式中,如果没有球被找到,机器人将会变成随机运动模式。不幸的是,这就意味着如果机器人没有看到足够的红色象素,假设这里有个球,但是没有被认出是一个球(就是说一束红色素在这个区域发散),机器人就会不断的在随机运动模式找球模式中切换而没有作任何事。因此我们必须增加更多昂贵的连接部件检查到代码,这决定着是否从随机运动模式和沿墙走模式中转出。我们昀初计划使用我们自己的老的分时操作系统,它将使得多重策略反对同时活跃(但仍然在一条线中持续的实行)。不幸的是,这样系统的紧急行为结束的有点混乱,我们昀后放弃了这个系统并用或多或少有限状态的机械单一策略代替了它。普遍联系一个我们不得不处理的问题是,在第一周里,我们四个从来没有同时在。(事实上,Dave和Ali逐个的和KendallT往返于飞机场。)这推迟了我们全面的自由讨论。我们花费了第一周的时间,一半用在短期目标像修好我们的Orcpad和使我们的鸽子机器人通过检查站,期间我们直到第二周的中段才坐下来思考策略和设计。另外我们的三角形链条设计不但有而且相当的酷,将如此的空间约束强加在从传感器到电池的每一件物品上,我们直到昀后一周直到链条做完后才知道

1 / 5
下载文档,编辑使用

©2015-2020 m.111doc.com 三一刀客.

备案号:赣ICP备18015867号-1 客服联系 QQ:2149211541

×
保存成功