57935| 35
|
[项目] 蜘蛛坦克诞生记 |
nille程晨 顺手智造 本人开始制作蜘蛛坦克源于自己的拙作《自律型机器人制作入门》,在介绍多足机器人的时候,我制作了一个六足蜘蛛,如下图所示。 参照关节类动物的运动形式,这个六足蜘蛛的每条腿的关节都是相对独立的,每个关节都是用180度的舵机来实现的,每条腿上三个关节,对应就是3个舵机,六条腿就是18个舵机。 当把书稿交了之后,为了让这个六足蜘蛛更有趣味性,我就在这个机器人的基础上增加了一个玩具坦克的炮台。 这是一个能够连续发射BB弹的炮台,依靠一个直流电机完成拨弹、发射的功能,装上它之后顿时觉得这个蜘蛛机器人威猛了起来。不过用18个舵机和1个电机支撑起来的蜘蛛坦克对电源的要求太高,普通的电池基本驱动不起来,需要使用航模用的大容量大电流的锂电池勉强还能玩一会,用户体验非常不好,感觉上还没学会怎么控制呢,就已经不能动了,另外从制作上来讲,18个舵机的控制程序也较为复杂,调试时间过长,出现问题的概率也比较大。 基于以上的原因我一直在留意有没有替代的方案,后来就在淘宝发现了一种简易的拼装蜘蛛机器人,如下图所示。 这种拼装玩具买回来后是一个个的零件,需要自己看说明书动手将蜘蛛拼起来,有点像那种拼装的四驱车。本人觉得这个玩具的结构设计非常的好,利用齿轮传动和连杆的结构,只需要一个电机就能带动蜘蛛八条腿的运动,让蜘蛛“走”起来。 我想如果能控制电机的正反转,那么就很容易的实现了蜘蛛的前后运动了,如果再进一步将左侧的4条腿和右侧的4条腿控制分开,那么就能实现蜘蛛的左右转动了。要分开控制左侧和右侧的4条腿就需要再添加一个电机及减速箱,实际上就是需要购买两套蜘蛛机器人的零件,然后组合在一起,在淘宝上搜了一下,这种拼装玩具价格非常便宜,十多块钱,淘宝最低价还有九块多的,价格不贵,立刻入手。 零件到手后,先拼装一边4条腿以及电机传动的结构。 这里注意电机的引线直接留在外面就可以了,方便我们安装控制板。用同样的方法拼装另一侧的4条腿和电机传动结构,然后将两者合二为一 接下来就需要安装控制板了,左右两侧的蜘蛛腿之间就是用来留给控制板的。我这里使用的是DFRobot的Romeo(一块基于Arduino,集成了电机驱动、I/O扩展板及无线模块接口的多合一控制板),当然你也可以用Arduino、电机扩展板、无线模块扩展板自己组装一套控制系统。控制板安装完成后如图所示。 这里我将电池装在了控制板的下方,因为需要保证控制板的工作电压,所以使用了一个6节的电池盒。电池盒及控制板都用螺柱固定在拼装蜘蛛机器人的结构上,电池盒的引线连接到Romeo的电源接口上,两个直流电机的引出线分别连接到Romeo的两个电机接口上。 至于程序代码,就和一般的遥控差速小车一样,都是控制两个电机的运转,网上有很多的基于Arduino的例程,这里就不多介绍了。这里我实现的功能是通过蓝牙模块用手机遥控蜘蛛机器人移动,分别执行前进、后退、左转、右转、停止的操作。当时还录了一段小的视频。 整个移动的底盘没有问题后,下面就是要加装炮台。还是那个玩具坦克炮台,这次我去掉了外壳,将它用螺丝安装在了一块Arduino的ProtoShield原型扩展板上,然后将扩展板插在Romeo的Arduino标准接口上。另外因为Romeo只有两路电机驱动,全部用在了控制蜘蛛机器人移动的直流电机上,所以需要给炮台单配一个电机驱动,这个电机驱动我固定在了炮台的上方。程序方面也要做一些调整,增加了控制炮台电机的内容。 这一版完成后的蜘蛛坦克如下图所示。通过这个蜘蛛机器人,我发现觉得其实制作简易的用腿走路的机器人也有简单的方法,可以将一些腿的运动整合在一起,也没有必要非用舵机或步进电机来做,可以尝试通过结构的设计来解决。 第二版的蜘蛛坦克可玩性大大的提高了,我带着他出没于各个创客空间、参加了几次创客嘉年华,控制方面除了用手机控制,还实现了语音控制、PC控制,甚至利用LEAP Motion还能通过手势控制。 但是随着时间的推移,问题也显现了出来。因为这种拼装玩具都是塑料件,使用时间长了之后会发硬发脆,尤其是当温度变换较大时,更会加快塑料件的老化。后期经常是走着走着“腿”掉了或是齿轮打滑了。我就又买了两套拼装蜘蛛机器人的零件来更换损坏的器件。最后在进行了一次大修之后(更换了大部分的零件),我下定决心要换一种材质、换一种结构、换一种实现方式,找一个能彻底解决这个问题的方法。 这次我选用了一种多孔的铁条,参考第二版的蜘蛛坦克制作了一个曲柄结构,大家来看下面这张图,在上放的铁条左侧点A点固定不动的情况下,当圆B绕圆心转动时,固定在圆盘上的D点就会绕B的圆心完成圆周运动,而腿的尖端C点就会完成像划桨一样的摆动动作。这很像一条腿的运动形式,如果再多几条腿分时的完成这样的划桨动作,就会带动整体的移动。 初步的想法形成之后,就开始动手搭建新的蜘蛛底座。首先完成一个基本的框架。 在这个框架上我们要安装一个固定直流电机的板子,以及一个用来产生高出电机旋转轴的A点的支架。如图所示,这里为了安装的方便,我选用的是360度连续旋转的舵机来代替直流电机,通过舵机支架能够很方便的将360度舵机安装在任何平面上,安装舵机支架的板子是我用亚克力板切的,板子上除了有用来安装舵机支架的安装孔之外,还预留了安装电池盒的安装孔。 接下来就是安装舵机支架、360度连续旋转的舵机以及电池盒,安装示意图如图所示。 舵机支架和电池盒分别装在亚克力板的两侧,上方安装的是舵机支架,下方安装的是电池盒,这里同样使用的是六节电池盒。在舵机支架上固定好舵机之后再给每个舵机安装一个八孔舵盘 这样在我们的框架上就有了点A和圆B,参照运动原理图我们就能在左右两侧各实现一条能够做划桨运动的“足”,另外我们在框架的两头装两根轴,然后在四个角分别实现一条做圆弧运动的“足”,这四个足的一端也通过一个铁条连接到8孔舵盘上。完整之后的蜘蛛底盘如图所示。 角上的四个“足”通过固定器固定在轴上,避免运动时从轴上脱落。在连接两个铁条以及连接铁条和8孔舵盘时要注意不要将螺丝拧紧,要留有一定空间让各个部件能够灵活转动,必要时还要在部件之间增加垫柱或垫片。 这样就完成了铁质蜘蛛移动平台的制作,这个平台的是由两个360度的舵机驱动,所以装上一块Arduino就能控制,不需要单独的电机驱动,程序上按照舵机的使用方式控制360度舵机转动就可以,下图是在安装控制板的位置上装了一个稍大的Edison的Arduino扩展板,利用Edison的无线功能实现的一个遥控六足。 经过简单的测试,又来到了加装炮台的步骤,这次我换了一个色系更搭配的玩具坦克的炮台,利用多孔铁条将这个炮台安装在了之前安装控制板的位置。而控制板移到了炮台的后部,为了安装控制板我又切了一块亚克力板。完成后如图所示。 调试时要注意炮台里的电机只能往一个方向转,如果方向转反的话就会卡住,所以如果大家也增加了一个炮台的话,要先编一个小程序测试一下电机怎么转是正确的。如果发现电机不转或卡住的情况,一个方法是更改程序,另一个方法可以通过调整电机的接线关系,将正负对调。 硬件测试没问题的话,就可以根据自己的需求实现蜘蛛机器人的运动控制,智能或是遥控,如果要实现智能运动就需要额外的添加传感器。本文对编程方面涉及的不多,只是简单的提了一两句,这是因为通过特殊的结构设计,硬件的控制变得较为简单,就是一两个直流电机和舵机的控制而已。 结构搭建方面如果大家通过文章没有看懂,可以观看下面搭建的动画视频,同时这个视频里还有我的最新版的铁质蜘蛛坦克的运动视频哦。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed