Arduino四足机器人的研究

发表时间:2020/8/11   来源:《中国科技教育(理论版)》2020年4月   作者:房艳滨
[导读] 本文就Arduino四足机器人的制作过程进行了研究。

         房艳滨  甘南县查哈阳农场第二小学 162116
        摘要 本文就Arduino四足机器人的制作过程进行了研究。
        关键词   Arduino  四足机器人  科学  编程
        随着我国现代化产业的不断发展,科学能力技术水平也在不断的攀升,已经到了人类摸索机器人的阶段,随着人工智能的不断发展,将来会一点点进入学校的教学中,对于有智能的机器人来说,需要一些外设来现实,比如利用红外传感器进行对障碍物的避让,通过光传感器实现寻迹功能,除了有硬件基础外还要有编程的支持,我这里采用的编程程序是Mind+,此软件是基于Scratch3.0而开发出来的,主要是针对青少年编程爱号者,支持多种类型的硬件主板及周边设备,Mind+是通过拖动形象的图片模块来完成编程的,在软件中也可以使用其它的一些高级语言来编写程序。在Mind+的界面的右上角我们可以看到有两种模式,分别是“实时模式”和“上传模式”。如果我们只是想学习软件的功能不依赖硬件的话可以选择“实时模式”,但你要是想通过硬件来真正现实脱离电脑独立运行的话我们就必须选择“上传模式”。
        现在的一些学校已经开设了人工智能的教学课程,因此,作为一个信息技术教师来说为了更快的适应新任务,我首先选择进行Arduino四足机器人的制作来锻炼一下自己,提高自己在此领域的认识和操作能力,打好人工智能走近我校的个人基础准备工作。下面我就谈一谈我的四足机器人的制作过程。
        第一阶段:选件
        在硬件的选择上,我本的成本低廉,功能较强的路线。因此,我首先选用的是Arduino uno r3做为主控板,再加个扩展板方便连接舵机。舵机我是选用的价格便宜旋转180o的9G舵机。对于选择Arduino uno r3为主控板是因为它一共有14个数字输入/输出引脚,其中包括有6个可用作PWM输出的引脚,还有6个模拟输入引脚,16MHz晶振时钟,可以通过USB数据线连接电脑就能实现供电、程序的下载和数据的通讯。
             
                         扩展板                   9G舵机
        为了现实机器人与外界的简单沟通,我在传感器方面暂时只选用了一个红外线遥控器,可以通过遥控器对机器人下达已经设定好的动作,制作完成的后期可再增加一些其它传感器,如超声波测距等。
        第二阶段:建模
        有了电子硬件后,还要自己设计打印出四足机器人的主体构架,在建模上我首选了SketchUp(草图大师)软件,这个软件界面简介,易学易用,建造模型直观快速,在设计者创作过程中完全能充分表达出设计者的思想,易上手的特点完全能够满足一个初学者的意愿,是三维设计软件中比较优秀的工具软件。建模前我需要在纸上画出简单的草图,在多张草图中选择自己认为效果最好的一个做为建模原图。然后跟据原图的设计布局,测量所需用到部件的真实尺寸并记录下来,就如舵机的长、宽、高,主控板的长、宽、高,以及足部各关节的长度、宽度,还有与舵机齿轮轴的半径等。
        所有尺寸测量完成后开始建模,建模时要考虑让机器人重量轻一些,减轻舵机的负重,这样有利于节省电能的消耗,能镂空的地方都镂空处理,建模如下图。
           
        第三阶段:打印
        打印是利用3D打印机将设计好的三维结构图通过打印耗材叠加固化为实体的过程。首先需要把建好的3D图形打散,这样方便各个零件的同时打印,为了不会出现空打的想象,我要对打散图形进行底端对齐操作,如图。
        
        根据3D打印机所能打印的尺寸范围,把打散的部件分几个文件导出成STL格式,再用Repetier-Host软件对部件进行切片打印处理,最后通过3D打印机打印成型,打印是一个慢长的过程,耐心等待一个个散件从3D图形变成实体部件,如图。
        
        第四阶段:组装
        这个环节不需要烧脑,只要把所有的零件按原图组装起来就可以了,连接处我是采用的小木螺丝加固,因此在建模时要预留好拧螺丝的小孔。
        至于按线部分,我的将8个舵机分别连接到了8个扩展板的数字引脚,其中4个舵机要考虑反相问题,可以用反相器连接,也可以在写脚本时将数据反相计算。如图所示引脚号及舵机正反向。
         
        按自己的设计思路,将所有的部件组装在一起,完成最后的实物图如下。
        
        第五阶段:步态
        基本硬件已经完成,接下来就是编程部分,也是最关键、最烧脑的部分。这次先实现前行的步态,第一次做四足机器人没经验,所以上网找了找这方面的资料,结合多次的实践,总结出想要四足机器人稳步前行,必须保证3只脚着地时,整体重心要落在3只脚连接成的三角形之内。这样当抬起一只脚时,不会出现抬脚的一端身体下倾落地。因此参考网上资料使用以下如图所示的前进步态周期。
         
        每一条脚实践在一个周期内有一次前进和两次后退,也就是一次前进距离等于两次后退的距离。设每次后退的距离为X,为了计算方便也可以用a计算(a=X/2),每做一个摆足动作,其实就是重新做一次摆足后位置基于90度加或减几个a的偏移量。如图所示。根据下图规律编写脚本代码,如图5号引脚舵机前进代码。
          


        确定步态后,利用Mind+软件进行脚本编写,并上传到Arduino主控板。这里在编写时为了控制机器人的走停,要考虑到遥控传感器的连接,将红外线接收器的信号引脚接在2号数字引脚。这时还要想到的是前面提到过的4个舵机需要反相处理,如果没有连接反相器,就在步态算法上进行反相数值计算。编写完脚本后上传主控板测试。
        按照前进的步态原理,分别画出后退、左转、右转的步态变化图,按数字标号移动顺序,在Mind+中将整个过程用模块化编程来实现所有的动作。
             
        直至到此,已经完成了四足机器人的前进、后退、左转及右转,我在脚本的设计中,是利用遥控器相应的2、8、4、6几个数字键来分别控制的。为了让机器人再智能一些,我又加了一个超声波测距传感器,当四足机器人接近障碍物时会随机左、右原地转向,这个功能在以后还是要加强的,要实现左右判断性的转向。
        简单的Arduino四足机器人的制作过程已经结束,通过这次自己亲手实践收获还是非常多的,这也正验证了与其看不如行动的道理。也体会到了真知只有在实践中才能出现的事实,只是凭借空想是不行的,在实践中会有很多与想象矛盾的地方,这都需要在动手中去改进。也希望通过我的实践过程能给大家带来帮助。最后再上一张四足机器人改进后的效果图。
         
       

投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: