看了各种关于机器人的科幻片,你就没有想过自己做一个片中的机器人出来么?
实干派的DIYer可不是只会幻想的哟。PVC_Robot同学就用了廉价又好加工的PVC材料来制作了他的第一个六足机器昆虫,同时给出了非常详细的工
具和材料获得方式。DIY党人要速度围观。
机器昆虫
偶然的机会,在网上看到这张图片,于是自己也有冲动作一只出来。
为了做出这个东西,自学了单片机,加上自己软件开发的基础,以及过去做模型积累的一些动手经验,有了后来的这个机器昆虫。
当然最后实际出来的东西,样子上和现在这个图片相去甚远,性能上也一般般,没办法,业余的,水平有限嘛。
1 工具和材料
○ 关节和基础结构的制作材料??PVC线槽。
采用PVC线槽的原因是取材容易、价格便宜,一般的五金店都有卖,而且便于加工、强度和重量都合适。
○ 其他材料,详见作者 个人博客 。
● 在作者的 另一篇博文 里,有关于工具的详细介绍。
2 基本机械结构
2.1 原始加工件
● 把PVC线槽切成关节的形状。
2.2 大腿横向关节
● 这是6只大腿的横向关节,弄好后才发现,全部都是一样。其中3只要重做,应该是两两对称的。
● 重做之后的6只关节。
2.3 关节控制的舵机
● 考虑尽可能的缩小体积,所以采用的是2.5g微型舵机,6只脚每只3个关节,总共18个关节,也就是18个舵机。(因为数量比较大,这个花费还是比较多的,有点心疼)。
关于 2.5g微型舵机
● 把舵机尝试安装到关节件上。
2.4 完善关节件
● 进一步打磨修饰关节件。
● 还可以看到PVC线槽上的标号(这个最后换掉了)。
● 完成后的6只大腿的横向关节件。
2.5 安装关节舵机
● 大腿横向关节上的舵机已经装好。其中一个舵机连接主躯干,另一个连接大腿的纵向关节。
2.6 安装主躯干
● 主躯干也是用PVC线槽做的,连接上6只大腿横向关节。
● 关节舵机与躯干是靠舵盘连接的,舵盘是用自攻螺丝固定在躯干上。中间有一个洞是用来给自攻螺丝最后总装时固定嵌入的舵机主轴的。
● 来一个远景,看到一点加工的现场。
● 为了更牢固,并减轻重量,每个舵盘的固定螺丝由2颗大号的自攻螺丝改为4颗1.2mm的带螺母的小机牙螺丝。
● 另外,关于大腿纵向关节和小腿关节的图片,其实都差不多,只是形状有不同,但是由于中间忘了拍照了,所以这里就省略掉了。
2.7 完整的机械结构
● 完整组装好的机械结构,有点样子了。
● 主躯干、大腿横向关节、大腿纵向关节、小腿关节,都是PVC线槽做的。18个关节的舵机也全部装好。(换了一个LED背景灯光,照片有点重影)
● 本来躯干上固定舵机舵盘的螺丝都是螺母在下面的,但是因为选择的螺丝长了一点,往下装会影响底部舵机的旋转,所以改为螺母向上装,虽然是看起来是难看一点。不过后面会在躯干上再装上电路板挡住一点,相对就好一些。
3 基本电路系统
3.1 控制电路
● 控制电路的核心采用AVR单片机的MEGA16芯片,考虑到体积,同时也想有点挑战性,没有直接用现成舵机控制板,而是用核心板准备自己写舵机控制程序。
关于 M16核心小板
3.2 电路调试
● 初步完成基本电路的安装,连接电脑烧录程序,进行简单的舵机控制的调试。
● 确定舵机动作幅度所需要的PWM频率时,用到了 舵机测试器
● 除了通过USBASP连接电脑之外,电源也暂时是外接的电池组。
3.3 张牙舞爪
● 编好固定动作的程序,烧录到电路上,进行简单的动作调试。
● 来一个“张牙舞爪”的动作。
● 很酷吧,不过肚子还是趴在桌面上的(肚子下面是电池盒以及6只大腿横向关节)。
3.4 缩成一团
● 再来一个动作“缩成一团”。
● 这个动作的名字起得不怎么样,还是靠肚子顶住桌面的。
● 这是俯视图。
3.5 站起来了
● 各位观众,接下来是关键的一个动作??从趴着的状态下自行站起来。
● 它站起来了!没错,它完全靠自己的力量站起来了!
● 虽然有点艰难,站起来后还是有点歪歪扭扭的,但终究是站起来了。(开始一直担心舵机的力量不足,不能自己站起来……)
● 站起来后的俯视图。
● 舵机的力量确实不足,小腿必须是直的(斜的话撑不起来)。而且虽然站起来了,但是舵机由于力矩偏小,还是有点吱吱的抖动。
● 这还没有装上电池,希望加上电池的重量后舵机还能顶住。
3.6 完善供电
● 本来希望把舵机和单片机的电源完全独立分开,以避免干扰,最后是只用了一个组电池:舵机直接接电池,单片机通过稳压电路连接同一组电池,实践证明中间的稳压电路还是能够很好的实现抗干扰的隔离功能。
● 舵机供电,开始曾经考虑过用2节5号镍氢电池通过一个DC-DC大电流升压板的升压到5V给所有舵机供电,经实验后发现完全行不通??18个舵机需要的电流太大了,最后只能考虑直接用2节3.7V的7号锂电串联起来供电。
● 翻过来,可以看到底部的电池。
●
单片机供电,本来考虑采用一节7号镍氢电池通过一个块微型DC-DC升压板升压到5V,为缩小体积后来也考虑过用3V的CR2032纽扣锂电升压,但实际
调试后发现电流也较大一下子就耗光电池了。最后是用一块7805稳压小板直接接到2节锂电上获得5V电压。
关于微型升压板:http://item.taobao.com/item.htm?id=4039234002
3.7 完善电路
● 给电路上加上了几个控制开关(总电源、舵机电源、单片机电源、单片机复位)。
● 接USBASP的10Pin插座也固定在了顶部的线路板上。
● 另外顶部的电路板留了一些位置,准备以后接传感器用的。
● 侧视图,可以看得到屁股后面的带散热片的7805稳压芯片。
3.8 全负荷状态
● 把2节7号的锂电池都装上,在全重状态下,也能简单的站起来。
● 终于松了一口气,虽然还有一点抖动,但终究是能够独立站起来的。
● 照片有点模糊,可能是自己有点激动,拍照的时候手抖了。
3.9 继续完善
● 18只舵机,耗电还是比较大的,所以再加装了一块电池的电压监控板,可以实时看到锂电的电压变化情况。
● 与一个香烟盒对比大小。
● 接下来的工作还是在继续调试程序控制动作,最终考虑加上一些传感器并支持用红外或者蓝牙进行遥控!
4 完善机械结构
4.1 增强腿结构
● 原来的腿结构是直接对照原型CG图的,可能是为了美观忽略了实际的机械性能。
● 但是现在,为了动力更足,为了舵机的寿命,也顾不得保持原来的芊芊细腿了,于是决定对腿的机械机构进行加固??该肥还是让它肥一点吧,健康最重要,嘿嘿!
● 这是加固之前,腿各关节都是直接单边固定舵机的舵盘,有点单薄,力量分布不均衡支撑起来不是很稳,对舵机的压力有点大,长时间开机容易损坏舵机。
● 加固之后:按照传统的机械结构进行加强,即舵机的另一边也增加固定的支撑轴,以确保受力平衡。
● 所有关节的舵机都加上外套,并在另外方向延长出一根螺丝作为固定轴。
4.2 安装加固底盘
● 在底部的大腿纵向关节,加上一块底盘。
4.3 完整的新结构
● 正视图,所有关节结构都有所增强。
● 后视图
● 俯视图
● 侧视图
● 底部特写。加固了所有关节,并加大了锂电容量。
4.4 新结构的启动
● 启动,自行站起来。
4.5 完善电源系统
● 锂电池的电压是7.4V,而舵机通常的最高电压是6V。为了保护舵机延长其寿命,可以串联两个硅整流二极管用来降压。每个二极管可以降压0.7,两个降1.4V,刚好可以把7.4V降到6V。
● 由于18个舵机一起电流非常大,一般的硅二极管功率不够,干脆用了一个整流堆D25XB的其中两个二极管。
● 增加了两个LED发光二极管。红的指示总电源打开,绿的指示舵机电源打开。
● 后视图,蓝灯是单片机供电指示。
● 正视图,蓝灯为单片机核心板上的指示灯,红灯为总电源指示灯。
5 实现初步行走
5.1 机械定型
● 在设计行走步态的时候,发现了一个严重的问题,就是支撑腿的力量还是不足??主要是由于追求小型化而采用最小型的2.5g舵机,由于舵机力矩不足,导致支撑腿力量不够,静止站立的时候还勉强,但在行走时就经常发生“腿软”现象。
● 为解决这个问题,曾经一度想要换成大一点的9g舵机,但是一旦那样的话由于尺寸会大很多导致机械部件基本都需要重新制作,那样不异于重新做一个新的了。再三思考,想到了把所有的机械腿都缩短,也就是减小力臂的长度,从而降低对舵机的压力。
● 经过重新设计试验,把所有的腿都缩短了,虽然难看了不少??“短腿了、不再高挑”,但是确实解决了“腿软”的问题,也基本确定机械部分的定型。
● 俯视图
● 侧视图
● 侧视图
● 后视图
5.2 初步行走
● 模仿昆虫来设计步态,初步实现了行走。动作还是有点生硬,而且步子太小,移动速度还是有点慢,走直线还不够直,仍需继续完善。
● 背景声音中有节奏的“咄??咄”声,其实是因为步态还有点生硬,脚触地瞬间敲打桌面的声音,如果是地板就不会有这样的声音。
● 这段里面有我们家旺财,它瞄了一阵这只奇特的怪物,有点害怕的走开了,呵呵~
观看各角度的 行走视频
6 动作调试完善
6.1 踢踏舞步
● 最初的这个行走不够自然顺畅,但是看起来还蛮有节奏的,而且还有“跺脚”的“咄咄声”,就像跳踢踏舞一样,姑且定名为“踢踏舞步”吧,呵呵。
6.2 直线行走
● 对踢踏舞步进一步调整,发现要实现很自然的行走还是有难度的,暂时也只能做到稍微再把速度加快一点。
●
把左右两边的6只脚分别编号,一边是单号,即1、3、5,另一边是双号,即2、4、6.。模仿六足动物行走,两组脚,每组3只(一边的2只加另一边的1
只,即1/4/5和2/3/6),两组脚交替抬起向前摆动,根据三角形的稳定性,同一时间都确保有一组脚(3只)是着地的。
● 原来是只有在腿放下往后摆动的瞬间,整体是往前进行一次移动,为加快速度,现在在脚前摆的瞬间,后脚同时增加了一个向后蹬的动作,即多了一个时间点向前移动。因此整体行进速度快了一点。
● 不过,即便如此,整体动作的协调性还是和真实动物的动作差远了,主要原因还是在于调试比较复杂,而且舵机动作的精度还是不够。暂时也只能先这样,先调试好动作就增加动作的自动控制之类的,至于动作协调性完善等以后有精力和条件再慢慢弄吧。