数字PK模拟 对比基于不同控制理念的两只爬虫机器人
作者:臧海波 日期:2011年7月26日
题图
题图照片展示了我近期制作的两只仿生爬虫机器人,左侧的爬虫为AVR ATMEGA8单片机控制两只舵机运转的模式,右侧为BEAM神经元网络控制两只减速电机运转的模式。
一,简介 在数字计算机大行其道的今天,几乎所有的机电一体化设备均采用数字(程序)控制的方式,小到玩具模型,大到生活生产设备,单片机和电脑都被广泛的应用着。与早期模拟控制方式相比,数字控制方式有很多得天独厚的优点,例如控制精确度高、升级方便、一致性好、性能稳定、维护方便等等。但是不可否认,模拟控制也许多无法取代的优点。本文就将站在一个客观的角度,回归自然和传统,去挖掘人类早已拥有的聪明才智,对模拟和数字控制理念进行回顾。通过两只简易爬虫机器人的制作,对比它们的运行效果,来比较这两种控制方式的优劣。 既然是PK,首要的前提应该是双方胜算均等,这样才会有更多的悬念。我制定了如下的目标: 1,制作两只四足爬虫机器人,使用数控和模控两种截然不同的控制方式,实现它们的爬行前进。 2,简化问题,不去考虑爬虫机器人的倒退、拐弯、避障等额外功能。 3,每只爬虫的制作成本控制在60元以下。实际上每只爬虫控制核心的电子部分,造价均低于15元。 4,爬虫的机械部分使用完全相同的材料来制作,成品形制尽量相同。 5,使用相同规格的3.7V 1200MAH锂电池做为电源。 6,成品重量均控制在60克以下。 7,在实现上述目标的前提下,把两只机器人做的艺术一点。 从构思这个题目,到收集材料,再到着手实现这两只爬虫机器人,我对它们最终的PK结果也充满了好奇。作为一名DIY爱好者,可以完全按照自己的喜好来设计规则,这也是手工制作引人入胜的地方吧! 二,结构与控制方法#p#分页标题#e# 这两只机器人的骨架构造均采用Andrew Miller设计的BEAM爬虫,它是一只使用一前一后两只电机驱动的四足爬虫,见图一。图一中没有展示机器人的前后腿,更多的细节详见下文制作过程及爬虫机器人实物照片。
图一
爬虫机器人是步行机器人的一种,有着传统轮式机器人无法比拟的优点,比如攀登斜坡,跨越障碍,自由移动等。但是步行机器人的制作难度也一下子提高了许多,这使得许多机器人爱好者感觉无从下手。从图一的结构图中可以看出,Miller的这个经典设计有效地降低了步行机器人的制作门槛,它的机械部分元件较少,对工艺的要求也不太高,比较容易制作成功。即便如此,步行机器人的制作仍然是一项实践性非常强的工作,很难做到一次满意,需要在实践中反复积累经验。笔者可是制作了5~6只这样的爬虫以后才摸着点门道,之前做的那些不是重心不稳,走几步就摔倒;就是腿部形状有缺陷,机器人走不成直线。 步行机器人属于仿生机器人的一类,它们之所以难以实现理想的运行效果,主要原因是受到动平衡和静平衡的制约。动物在行走时,总是不停地调整自身的平衡点以保证不跌倒,这称之为动平衡;对机器人来说,它的控制器必须不断的将机器人的平衡状态反馈回来,然后机器人不停地改变加速度或者重心点来满足平衡的要求。静平衡则需要机器人的物理形制与步态之间相互协调,保证机器人在行走时不会发生偏离平衡点的现象;在机器人静止时,为了保证静平衡,还需要考虑机器人脚部的规划。 观察一下身边小猫小狗这些四足小动物的运动方式,注意看它们的四肢是如何连贯起来运动的,对理解Miller爬虫会有很大帮助。爬虫的头部电机与地面呈30度夹角,通过这只电机带动两只前腿向前抬起,伸展,着地。尾部电机的输出轴与地面垂直,使两只后腿推动机器人前进。这种步行运动的方式的关键在于如何调整四条腿之间的运动,这就需要在机器人的电控部分好好动动脑筋了。 表1和表2分别提供了两种双电机四足爬虫机器人的控制思路。 表1
表2
表1的控制思路相对简单。当机器人冷启动以后,随时序的进行,在同一时刻只有一只电机在运转,驱动爬虫向前行进。比如,左前腿处于抬起的状态(头部电机正转),随之而来的事件是右后腿抬起(尾部电机反转)。这是一个比较谨慎的控制方法,它的优点是两只电机之间的逻辑关系非常清晰,相互之间影响少,无论从模拟控制的角度还是数字控制的角度都比较容易实现。它的另一个优点是机器人的功能扩充非常灵活,只需要通过传感器来改变其中一只电机的时序,就可以使爬虫做后退和转弯等复杂的动作。 三,制作机器人的骨架
1,制作数字爬虫的骨架。
所需材料:
图二,准备好制作数字爬虫骨架所需的全部材料。 ![]()
图三,爬虫头部的舵机需要抬起30度角,我使用废光驱外壳的铁皮做了一个简单的结构件。把洞洞板裁剪成适当尺寸,作为爬虫的身体。
图四,加工好的结构件固定在爬虫的头部舵机上的示意,这个结构件也起到头部舵机与爬虫身体之间的连接和固定。
#p#分页标题#e#
图五,身体装上舵机的侧视图,左侧为机器人头部。尾部舵机的输出轴与地面垂直,可以在身体后部打一个安装孔,用螺丝把舵机直接固定在上面。
图六,用车条弯制机器人腿部,足部套上热缩管,以增加摩擦力,防止爬虫在光滑的地面上行走时打滑甚至摔倒。左图为左右前腿组合,由头部舵机驱动;右图为左右后腿组合,由尾部舵机驱动。
图七,车条与舵臂的连接示意,使用金属丝把车条捆绑在舵臂的小孔上。拆卸和替换非常方便。
图八,把做好的腿部与舵机连接上看看,腿部与舵机应该配合灵活,输出轴在运转范围内没有阻碍。 这只数字爬虫重量很轻,对舵机没有特别要求,可以选用任意品牌的9克微型舵机,比如威盛(TOWERPRO)的SG90。市场上可以买到两种SG90舵机,一种零售价在13元左右,透明蓝色外壳,引线颜色是黑、白、红,输出扭矩较小;一种22元左右的SG90,引线颜色是棕、红、桔,扭矩较大,它们都适用于这只爬虫。我使用的是一对质量稍好一些的北田(BATAN)S1123微型舵机。 舵机的优点是安装和替换非常方便,这方面生产厂家已经做足了功课,每款舵机均设计有通用的安装孔,配套的舵臂、舵盘也几乎都是标准件,减速箱也一并集成在舵机里面了。借助安装孔可以很方便的把头尾两只舵机安装在爬虫的身体上。使用洞洞板作为爬虫的身体,电子部分也是直接在洞洞板上进行焊接。舵机的另一大优点是内置了电机驱动电路,用单片机的IO口可以直接控制舵机,不再需要额外的驱动电路,这就从很大程度上简化了机器人的整体结构。 爬虫的腿部使用车条弯制而成,前后腿的形制没有严格的要求。根据大多数DIY爱好者的制作经验,四足着地的位置与爬虫身体中轴对称是第一要素,腿部形状是第二要素,此外还要兼顾美观。 2,模拟爬虫骨架的制作过程。#p#分页标题#e# 所需材料
图九,准备好制作模拟爬虫骨架所需的全部材料。
图十,为了固定减速电机,需要用铝板加工两个支架,一个90度的,安装尾部电机,一个60度的,安装头部电机。
图十一,同样使用洞洞板做为爬虫的身体,左侧为机器人头部。借助尼龙扎带和螺丝固定好两只电机。 模拟爬虫的驱动部分使用两只N20型减速电机,5V电压下转速30RPM,接近9克舵机的转速。与数字爬虫相比,减速电机的固定和输出轴与腿部的连接,就没有舵机那么方便了,需要自己加工一些小零件。
图十二,把质量较好的双面洞洞板裁成3X3孔的两小块。
图十三,从压线端子里拆出两套铜芯,保留螺丝。铜芯的压线孔刚好可以配合上减速电机的输出轴。#p#分页标题#e#
图十四,借助3X3孔的洞洞板,把车条和铜芯焊接固定在一起。
图十五,爬虫腿部,自制简易轴连器的细节。
图十六,制作好的模拟爬虫前腿组合与后腿组合。 四,电子部分与总装 1,制作数字爬虫的控制核心
图十七,数字爬虫的线路图。 元件清单:
图十八,准备好数字爬虫电子部分的元件。#p#分页标题#e# 数字电路的特点是结构简单而原理复杂,模拟电路的特点是结构复杂而原理简单。这只数字爬虫的电子部分充分体现出了这个特点,从线路图和准备的元件可以看出,数字爬虫的电子部分除了一片AVR M8单片机和一块锂电池,剩下的就是一些接插件了,不需要任何额外的阻容元件及有源元件。因为元件极少,电路板的焊接也超简单,其实就是给单片机供电,再引出两组IO口用来连接爬虫头尾的两只舵机就可以。但是要让M8正常运转,按照表1的思路来控制这两只舵机做相应的动作,还需要编程下载等一系列后续工作。 电子部分直接焊接在爬虫身体的洞洞板上。M8单片机需要使用一个28孔插座,因为在调试爬虫的时候,可能需要反复拆下M8给它编程序。当然也可以给这只爬虫做做加法,把ISP插座焊在这块洞洞板上,还可以加上复位电路,再把单片机的IO口和AD口引出几组插针出来用于安装传感器。我这里只是搭建了一个M8的最简系统,以元件最小化为标准。
图十九,在爬虫身体上焊接好电子部分 (责任编辑:admin) |