First机器人竞赛(Inspiration and Recognition of Science and Technology)的冠军荣誉,让参与到其中的高中学生们全情投入到设计世界中:他们必须在面对各种艰难的抉择、时间的限制和各种约束下,达到设计项目的目标。众多由10-20个学生组成的参赛队伍,以及他们的老师,手上只有一套标准的工具,必须在六周内完成一个设计项目。下面的一份2007年和2008年团队参赛经验,是由一个参赛学生所写的。
所有参加First机器人大赛的队伍必须在六周内完成设计并建造一个机器人,所以他们必须擅长积极高效的设计,并且要准备好克服比赛过程中可能出现的任何问题。来自德州奥斯丁市文理学院(LASA)高中的418号队伍 -aka Purple Haze - 连续参加了过去八年的比赛。他们在2007和2008年的比赛中遇到了尤其棘手的难题。
在设计今年的Zephyr机器人时,418号队伍将重点放在两个因素:人类工程学和自适应。他们需要设计出一个简单、易移动的缓冲系统,并在制作时采用一个支架来实现这一点:该支架会滑动到底盘的铝框架内,利用吊环螺钉来依附在上面。人机工程设计让机器人可以轻松立起,而Zephyr能以自适应模式平稳工作。
在前一年的竞赛中,LASA的参赛队面临着两个主要难题:设计一个可以达到比赛苛刻要求的合适且牢固的驱动系统,并开发一个可以用于机器臂的直观控制机制,让新手也可以顺利操作机器臂。
在2007年的“Rack ’in’ Rol”大赛中,机器人必须将内管放在运动的八角齿条上,同时防止其受阻。LASA队制作了PHunky:一个通过双关节机器臂来操作游戏部件(充气的水银整流管)的六轮机器人。要设计出恰当的驱动系统是很困难的,因为在游戏的不同环节中,力量和速度都是非常重要的:力量是用来防守和得分,而速度则是用于“重装”机器人的操控器并将之移动穿越整个游戏区域来占据最佳位置。
LASA队从一份其它First参赛队所写的白皮书上找到了灵感,并开始开发和改进其自己独特的“DeWalts”设备(包含First组委会提供的CIM马达和DeWalt XRP钻孔传动)。这些传动可以在三组齿轮间替换,让LASA队能够在运行中转换减速比。
为了排除障碍物,PHunky的第一挡的12:1 I/O比可以提供足以排除任何路障的动力,而在第二档时,这个重120磅的大家伙速度可以达到14英尺/秒,足够超越任何对手。LASA队通过在一个双轴数控机床上制作的定制型安装板,使马达和传动实现匹配。而转换则是通过将伺服机和实心铜线连接到传动的速度选择杠杆来实现的。
虽然这支队伍在First参赛历史上还从未遇到过CIM马达出错的情况,但队员们非常清楚,光靠DeWalt装置不足以确保PHunky不会因为马达故障而成为对手的猎物。他们需要有两个马达给机器人的两端提供动力,就算有一个出现故障,其对应的一端也能随着另一端马达向前移动。
带着这种想法,队员们决定采用这样一个系统:将中轮轴上的两个链轮齿通过底盘内的一个25号链条连到前轴和后轴,由两端的两个马达给底盘外部的中轮和后轮输送动力。
而负责控制功能的团队,则将其重点放在机器人的功能实现方面:双关节的机器臂和操控器。在开发和最初测试的阶段,控制团队利用简单的操纵杆来操控机器臂的动作,一个操纵杆控制一个关节。然而,虽然这样可以精确控制机器臂,但机器人操作员发现这样做是很愚蠢的。在实际操作中,操作员曾经意外地将机器臂操控到地上,还导致齿条反转,因而损坏了机器臂。
他们很快开发了一套用于机器人操作员的新控制系统,并按照最先提出这一创意的Lewis的名字,将之取名为Lewis Arm。Lewis Arm是依照真实双关节机器臂制作的1/6大小的模型,关节上装有电位计。(由于竞赛要求的控制系统带来的硬件限制,电位计被用来替换数字编码器。)
队员们将相似的电位计安装在真实的机器人关节上,并校准两个系统上的电位计,让Lewis Arm上的某个位置和真实机器臂上的一个位置对应上。随后让操作员以模仿方式操纵机器人,给控制臂“摆姿态”使得机器臂移动到同样的位置。队员们在Lewis Arm上添加机械终止,使之不会让真实机器臂收到任何损坏。使用Lewis Arm比操纵杆更为直观。
机器臂控制算法的编写和测试要更为复杂一些。还有四天就要提交作品了,机器臂已经被安装在机器人上,队员们不能在机器人身上过多地测试机器臂控制算法,因为它在一直不停地被折腾。由于测试让所有工作都被迫停止,测试不能长时间进行,因为这样会导致他们无法按时完成机器人的制作。
Purple Haze团队以及Lewis Arm控制机构
控制团队随后采用NI公司所提供套件中的LabView图形编程语言,来开发一个用于测试算法的简单的仿真工作台。利用这个工具,队员们发明了一个“虚拟机器臂”来创建并调节机器臂控制算法。队员们采用LabView公式节点开发出算法 - 这是一种利用C类语言来在LabView中评估和开发基于数学的原文算法的方法。因此,一旦代码编写完成,队员们可以将之复制到机器人资源代码中,并擦除所有原来的代码。
PHunky的控制系统还利用LabView来对机器人的特征和随时状态进行图形化展示。利用来自机器臂和控制臂上的电位计的数据,LabView以图形方式展示真实机器臂的实时位置以及Lewis Arm的位置。这一方案可以快速诊断出任何问题。
LabView还会根据电位计的读数和机器臂的物理特征,进行复杂的集合计算来提供关于机器臂的更多信息,例如当前的高度和位置(这一点赛事要求的控制系统是很难做到的)。
操作员不能总是将眼光停留在装载于控制系统上的笔记本上。为了提供另一个视觉指示,队员们在机器人操作员的视力区域内安装了一个定制型的光棒,在机器臂到位时作出指示,来在某个指定齿条水平上得分。LabView和国家仪器公司的一款USB-6009型数据采集设备通讯,来控制安装在光棒上的自动型LED。
PHunky的机器臂是由赛会所提供的两个Fisher-Price马达来供给动力的。队员们发现在提取24A的电流达数秒钟后,马达内置的一个热关断开关会将操作停止,直到其足够冷却并重置。但是机器臂却会一直失效。
队员们的第一个想法,是执行可以在电流达到24A之后让机器人关节短时间失效的代码。但是,这样做会让机器臂在最需要其动作时很难控制,而队员们发现,如果能让机器臂在“危险区域”运行哪怕几秒钟的时间,都可以极大提高得分能力。因此,队员们利用Labview来监控电流感应器,并在电流到达危险数值时以图形方式向操作员发出警报。
在2007年的First Lone Star休斯顿区域竞赛中,418号参赛队向评委们提交了这一作品,获得了控制方案创新奖。
人机工程学和自适应
制作了PHunky之后,机器人操作员认识到他们需要就机器人被抬至和抬出场地的方法以及缓冲器附加的方法采取些措施。在旧的附加系统中,缓冲器被固定到底盘上,会由于机器人在低坑型场地花费的过多时间而导致问题。在比赛的短时间中,当效率成为重要因素时,这样的延迟是无法接受的。
此外,PHunky并未被设计成一个电机工程学类机器人。队员们必须常常握住轮子把机器人抬起来,导致不必要的弯曲。当418号队伍准备设计Zephyr开始2008赛季时,所有这些因素都是其所要考虑的主要问题。
他们的方案是,采用一个可滑动到底盘铝框架内的支架,利用螺丝眼来依附在上面。除了让缓冲器的移除变得简单,这个设计方案还让队员们能通过“夹钩”来利用另一种新的开发方式。
由于这个简单的设计改变,队员们将机器人搬到或搬出场地的效率提高了,空出了一段虽不长但至关重要的维修时间。队员们可以快速移除前后缓冲器,并能在返回低坑型场地后几乎立刻开始操作。
2008 First机器人赛季“Overside”为那些能在15秒的自适应模式中高效得分的参赛队提供了丰厚奖金。2007年,418号队成员决定放弃自适应模式,但在2008年,队员们感觉有必要参加自适应模式比赛了。由于自适应操纵模式时间较短,队员们选择绕着轨道跑圈来获得尽可能多的分数。
机器人必须自己确认在场地上的位置,以及何时左转。为了实现这一点,队员们在驱动系统上安装了编码器,根据轮子转动的圈数来计算运行的距离。他们采用一个回转仪来确认机器人的方向,并确认其是否在运行一段预定距离后已转弯90度。只要掌握了轮子的周长和机器人运行的速度,该系统可快速并精确校准。
LASA队已经在展望First的2009年赛季,计划采用国家仪器公司的新型控制系统来构建一个新的机器人。
完整的机器人及其底盘