蜘蛛坦克诞生记

2015-04-246.6万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用DFRobot的Romeo控制板和简易拼装零件制作一个蜘蛛坦克。通过齿轮传动和连杆结构,仅需一个电机即可实现八条腿的运动。项目包括拼装底盘、安装控制板和炮台,并通过蓝牙模块实现手机遥控。适合STEM教育项目,锻炼孩子的动手能力和编程思维。
nille程晨  顺手智造

本人开始制作蜘蛛坦克源于自己的拙作《自律型机器人制作入门》,在介绍多足机器人的时候,我制作了一个六足蜘蛛,如下图所示。
参照关节类动物的运动形式,这个六足蜘蛛的每条腿的关节都是相对独立的,每个关节都是用180度的舵机来实现的,每条腿上三个关节,对应就是3个舵机,六条腿就是18个舵机。


蜘蛛坦克诞生记图1


当把书稿交了之后,为了让这个六足蜘蛛更有趣味性,我就在这个机器人的基础上增加了一个玩具坦克的炮台。


蜘蛛坦克诞生记图2



这是一个能够连续发射BB弹的炮台,依靠一个直流电机完成拨弹、发射的功能,装上它之后顿时觉得这个蜘蛛机器人威猛了起来。不过用18个舵机和1个电机支撑起来的蜘蛛坦克对电源的要求太高,普通的电池基本驱动不起来,需要使用航模用的大容量大电流的锂电池勉强还能玩一会,用户体验非常不好,感觉上还没学会怎么控制呢,就已经不能动了,另外从制作上来讲,18个舵机的控制程序也较为复杂,调试时间过长,出现问题的概率也比较大。


基于以上的原因我一直在留意有没有替代的方案,后来就在淘宝发现了一种简易的拼装蜘蛛机器人,如下图所示。
蜘蛛坦克诞生记图3


这种拼装玩具买回来后是一个个的零件,需要自己看说明书动手将蜘蛛拼起来,有点像那种拼装的四驱车。本人觉得这个玩具的结构设计非常的好,利用齿轮传动和连杆的结构,只需要一个电机就能带动蜘蛛八条腿的运动,让蜘蛛“走”起来。


我想如果能控制电机的正反转,那么就很容易的实现了蜘蛛的前后运动了,如果再进一步将左侧的4条腿和右侧的4条腿控制分开,那么就能实现蜘蛛的左右转动了。要分开控制左侧和右侧的4条腿就需要再添加一个电机及减速箱,实际上就是需要购买两套蜘蛛机器人的零件,然后组合在一起,在淘宝上搜了一下,这种拼装玩具价格非常便宜,十多块钱,淘宝最低价还有九块多的,价格不贵,立刻入手。


零件到手后,先拼装一边4条腿以及电机传动的结构
蜘蛛坦克诞生记图4

这里注意电机的引线直接留在外面就可以了,方便我们安装控制板。用同样的方法拼装另一侧的4条腿和电机传动结构,然后将两者合二为一


蜘蛛坦克诞生记图5

接下来就需要安装控制板了,左右两侧的蜘蛛腿之间就是用来留给控制板的。我这里使用的是DFRobotRomeo(一块基于Arduino,集成了电机驱动、I/O扩展板及无线模块接口的多合一控制板),当然你也可以用Arduino、电机扩展板、无线模块扩展板自己组装一套控制系统。控制板安装完成后如图所示。

蜘蛛坦克诞生记图6


这里我将电池装在了控制板的下方,因为需要保证控制板的工作电压,所以使用了一个6节的电池盒。电池盒及控制板都用螺柱固定在拼装蜘蛛机器人的结构上,电池盒的引线连接到Romeo的电源接口上,两个直流电机的引出线分别连接到Romeo的两个电机接口上。


至于程序代码,就和一般的遥控差速小车一样,都是控制两个电机的运转,网上有很多的基于Arduino的例程,这里就不多介绍了。这里我实现的功能是通过蓝牙模块用手机遥控蜘蛛机器人移动,分别执行前进、后退、左转、右转、停止的操作。当时还录了一段小的视频。


整个移动的底盘没有问题后,下面就是要加装炮台。还是那个玩具坦克炮台,这次我去掉了外壳,将它用螺丝安装在了一块ArduinoProtoShield原型扩展板上,然后将扩展板插在RomeoArduino标准接口上。另外因为Romeo只有两路电机驱动,全部用在了控制蜘蛛机器人移动的直流电机上,所以需要给炮台单配一个电机驱动,这个电机驱动我固定在了炮台的上方。程序方面也要做一些调整,增加了控制炮台电机的内容。



这一版完成后的蜘蛛坦克如下图所示。通过这个蜘蛛机器人,我发现觉得其实制作简易的用腿走路的机器人也有简单的方法,可以将一些腿的运动整合在一起,也没有必要非用舵机或步进电机来做,可以尝试通过结构的设计来解决。
蜘蛛坦克诞生记图17

第二版的蜘蛛坦克可玩性大大的提高了,我带着他出没于各个创客空间、参加了几次创客嘉年华,控制方面除了用手机控制,还实现了语音控制、PC控制,甚至利用LEAP Motion还能通过手势控制。


但是随着时间的推移,问题也显现了出来。因为这种拼装玩具都是塑料件,使用时间长了之后会发硬发脆,尤其是当温度变换较大时,更会加快塑料件的老化。后期经常是走着走着“腿”掉了或是齿轮打滑了。我就又买了两套拼装蜘蛛机器人的零件来更换损坏的器件。最后在进行了一次大修之后(更换了大部分的零件),我下定决心要换一种材质、换一种结构、换一种实现方式,找一个能彻底解决这个问题的方法。

这次我选用了一种多孔的铁条,参考第二版的蜘蛛坦克制作了一个曲柄结构,大家来看下面这张图,在上放的铁条左侧点A点固定不动的情况下,当圆B绕圆心转动时,固定在圆盘上的D点就会绕B的圆心完成圆周运动,而腿的尖端C点就会完成像划桨一样的摆动动作。这很像一条腿的运动形式,如果再多几条腿分时的完成这样的划桨动作,就会带动整体的移动。

蜘蛛坦克诞生记图7

初步的想法形成之后,就开始动手搭建新的蜘蛛底座。首先完成一个基本的框架
蜘蛛坦克诞生记图8

在这个框架上我们要安装一个固定直流电机的板子,以及一个用来产生高出电机旋转轴的A点的支架。如图所示,这里为了安装的方便,我选用的是360度连续旋转的舵机来代替直流电机,通过舵机支架能够很方便的将360度舵机安装在任何平面上,安装舵机支架的板子是我用亚克力板切的,板子上除了有用来安装舵机支架的安装孔之外,还预留了安装电池盒的安装孔。

蜘蛛坦克诞生记图9

接下来就是安装舵机支架、360度连续旋转的舵机以及电池盒,安装示意图如图所示。

蜘蛛坦克诞生记图10      蜘蛛坦克诞生记图11



舵机支架和电池盒分别装在亚克力板的两侧,上方安装的是舵机支架,下方安装的是电池盒,这里同样使用的是六节电池盒。在舵机支架上固定好舵机之后再给每个舵机安装一个八孔舵盘

蜘蛛坦克诞生记图12
这样在我们的框架上就有了A和圆B,参照运动原理图我们就能在左右两侧各实现一条能够做划桨运动的“足”,另外我们在框架的两头装两根轴,然后在四个角分别实现一条做圆弧运动的“足”,这四个足的一端也通过一个铁条连接到8孔舵盘上。完整之后的蜘蛛底盘如图所示。


蜘蛛坦克诞生记图13

角上的四个“足”通过固定器固定在轴上,避免运动时从轴上脱落。在连接两个铁条以及连接铁条和8孔舵盘时要注意不要将螺丝拧紧,要留有一定空间让各个部件能够灵活转动,必要时还要在部件之间增加垫柱或垫片。
蜘蛛坦克诞生记图18


这样就完成了铁质蜘蛛移动平台的制作,这个平台的是由两个360度的舵机驱动,所以装上一块Arduino就能控制,不需要单独的电机驱动,程序上按照舵机的使用方式控制360度舵机转动就可以,下图是在安装控制板的位置上装了一个稍大的EdisonArduino扩展板,利用Edison的无线功能实现的一个遥控六足。


蜘蛛坦克诞生记图14

经过简单的测试,又来到了加装炮台的步骤,这次我换了一个色系更搭配的玩具坦克的炮台,利用多孔铁条将这个炮台安装在了之前安装控制板的位置。而控制板移到了炮台的后部,为了安装控制板我又切了一块亚克力板。完成后如图所示。


蜘蛛坦克诞生记图15
后面的控制板有三层,如图所示。最底下是一块Arduino UNO;中间的是电机驱动板,用来驱动炮台中的发射电机;最上面是一块I/O扩展板,用来连接两个360度舵机,同时还可以扩展无线模块。
蜘蛛坦克诞生记图16

调试时要注意炮台里的电机只能往一个方向转,如果方向转反的话就会卡住,所以如果大家也增加了一个炮台的话,要先编一个小程序测试一下电机怎么转是正确的。如果发现电机不转或卡住的情况,一个方法是更改程序,另一个方法可以通过调整电机的接线关系,将正负对调。


硬件测试没问题的话,就可以根据自己的需求实现蜘蛛机器人的运动控制,智能或是遥控,如果要实现智能运动就需要额外的添加传感器。本文对编程方面涉及的不多,只是简单的提了一两句,这是因为通过特殊的结构设计,硬件的控制变得较为简单,就是一两个直流电机和舵机的控制而已。

结构搭建方面如果大家通过文章没有看懂,可以观看下面搭建的动画视频,同时这个视频里还有我的最新版的铁质蜘蛛坦克的运动视频哦。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(29)
糖醋花生
糖醋花生
额,全是NPC、高级技师、我配发言么
zouzouzou
zouzouzou
好复杂,但好酷啊!一个非工科,但又要学工科的艺术生
抠脚大佬
抠脚大佬
评论内容
DFBJFz5siXP
DFBJFz5siXP
吓到宝宝了吧
DFS1w2cb8o8
DFS1w2cb8o8
厉害厉害
DFSkangKjBr
DFSkangKjBr
我真的很期待
DFSkangKjBr
DFSkangKjBr
学习学习,谢谢分享。
DFSkangKjBr
DFSkangKjBr

学习学习,谢谢分享。
DFSkangKjBr
DFSkangKjBr
学习中,希望自己能成功做出一个来!谢谢分享!
gada888
gada888
这么早的帖子,那时候夏天还没那么热
gada888
gada888
高难度呀
Jack陈
Jack陈
编程用什么软件?
Yan
Yan
我就想知道坦克头在哪弄的
破风而来
破风而来
塑料的好玩,后面那个看着就不太像了
2877258002
2877258002
如果用铁条,还不如3D打印一个蜘蛛玩具。
eversence213
eversence213
楼主的程序可否分享下?
eversence213
eversence213
不错 学习了 我也在做一个Nano+一个蜘蛛的 先研究下楼主的教材
eversence213
eversence213
不错 我也再做 不过只用一个蜘蛛 用的Nanonano
NPT2015
NPT2015
哈哈 看着还挺像蜘蛛
luna
luna
楼主!我好欣赏你~~非常精致的帖子!:$
nille
nille
作者
回复luna
出蜘蛛套件的话会支持吗??:$:$:$