|
【S095】四足仿真机械兽
作品说明 |
作者:毛泽瑞 贾思语 栗慧 张思哲
单位:北京石油化工学院
指导老师:曹建树 代峰燕 黄松涛
自从人类发明机器人以来,各种各样的机器人日渐走入我们的生活。仿照生物的各种功能而发明的各种机器人越来越多。仿生机器人在生活中也有很大的作用和意义。为了提高移动机械对环境的适应性,扩大人类在海底、 北极、矿区、 星球和沼泽等崎岖不平地面的活动空间,需要研究模拟生物的步行机构。动物的运动多是通过多关节足来实现的。因此,动物足的形态、机能、运动和姿体稳定控制等是研究步行机的关键。人和鸟类是两足,青蛙、乌龟、犬、马是四足,昆虫是六足,而蟹和蜘蛛是八足,蜈蚣是多足。足的个数直接影响姿体的稳定。六足以上的动物着地至少用三足。由于姿体重心通过足的三点构成平面,静态是稳定的。四足动物慢走时三足同时着地、快跑时两足着地,靠驱体随机姿态稳定调节。两足动物在步行时,对左右而言是一点着地,是不稳定系统,所以控制很困难。一些国家研制了两足、三足、四足、六足、八足的步行机械。
四足机器人在整个步行机器中占有很大大比重,因此对仿生四足步行机器人的研究具有很重要的意义。我们在构思机器人的时候想到了动物,在仔细观察了猫,狗,鹿等动物之后我们找到了制作爬行机器人的灵感[1]
以下几幅图片给我们展示了机械兽的形态,可以是一肢多关节的,也可以是一肢一关节的。
作品说明
机械狗
机械昆虫
1.1 作品总体方案
设计思路:通过机械结构实现生物学仿真。最初设想是以长颈鹿为仿生对象,实现在生活中的娱乐工具。设计过程中发现由于现有舵机动力不足零部件过重使得长颈鹿重心不稳,不能达到仿生效果。经讨论与模拟,决定将仿生对象调整为四足爬行兽。通过四组连杆机构模仿四足兽爬行,分别使用四个360度舵机控制其行走,实现机械仿生。
长颈鹿模型
步行机器人是一种腿式移动机构,具有轮式、履带式等移动机器人所不具备的优点,该类机器人能够在复杂的非结构环境中稳定地行走,代替人完成许多危险作业,被广泛地应用于军事运输、矿山开采、核能工业、星球表面探测、消防及营救、建筑业、农业及森林采伐、示教娱乐等众多行业。因此长期以来,多足步行机器人技术一直是国内外机器人领域研究的热点之一。而四足机器人具有实现静态步行的最少腿数,也适合于动态步行,以实现高速移动,因此,对四足步行机器人的研究,具有特殊的重要性。本文以四足爬行动物为模仿对象,通过对其结构和步态的分析和研究,设计出了一台四足步行机器人,采用单片机控制系统,使其能够模仿四足动物的慢走[2]。
1.2 作品组成与功能
下图是我们的作品的总体结构,这样的四肢结构可以让我们的机器人在道路不平的路面上稳定行走。
背部可以装设小型摄像设备,可以模拟四足爬行动物的行走状态。
爬行机械兽模型
所用零件
表1 零件表
零件名称 | 零件代号 | 零件数目 |
360°舵机 | 4 | |
马达支架 | J26 | 4 |
输出头 | A05 | 4 |
机械手 | J12 | 10 |
7×11孔平板 | J04 | 1 |
轴套2.7mm | T027 | 6 |
直流电机支架 | J31 | 7 |
螺柱10mm | Z10 | 2 |
机械手指 | J14 | 4 |
Bigfish扩展板 | 1 | |
直流扩展线 | P15 | 4 |
锂电池 | P03 | 1 |
舵机螺丝 | F206 | 4 |
螺丝螺母 | 若干 |
作品组成和功能:通过预先编写的程序控制四个舵机运行,由四个舵机运转带动四组连杆机构完成仿生四足兽爬行。本组设计的爬行兽,可在崎岖的道路上行走,而且可以当做生活中的娱乐工具[3]。
2. 机械结构安装与三维设计
在刚刚开始实践时我们小组所决定的机构与现在的最终机构有很大差别。在刚开始时我们所安装的结构是一个“长颈鹿”结构,所模拟的是长颈鹿的行走方式,但在后来的实践中慢慢发现这种结构不利于机器人的行走,所以之后我们又讨论安装了另一种“乌龟”型结构,相比起这两种结构我们选用第二种的原因是:
① 没有脖子,行走平稳,不去考虑脖子的重量而带来的重心移动问题。
② 由长腿变为短腿,降低了重心。
③ 我们由开始时的一条腿一个点击改为了对心双曲柄摇杆机构行走更精确。
④ 更好地表示了动物的行走方式。
2.1 机械结构安装与调试
使用四台舵机控制四条腿运动,前边舵机转动带动前肢运动,安装在身板的前部,中部舵机与对称式对心双曲柄机构相连,控制后腿和运动并连接前肢,安装在身板的中下部。通过六棱柱和长杆将四肢与身板连接起来。这样完成了整体的机械构造。该四足爬行兽外型小巧紧凑。节省材料,携带方便。
调试过程:首先先要找到每一个舵机的中间状态值(停止状态),理想的中间值是90°,这样就在90° 附近找,把编好的程序烧入主板中,然后运行,看舵机出不出与停止状态来判断是否找对。接下来要判断舵机的转向,四个舵机转向是不同的,要通过角度的选择来确定需要顺时针转还是逆时针转。主要规则是,大于中间值的角度设定,舵机逆时针转;小于中间值的角度设定,舵机顺时针转。所设角度与中间值差距越大,舵机转速越快。然后要通过舵机角度的选择,与延迟程序来确定舵机所转过的角度。最后,要把所有的零件都装好,打开电源,让机器人运行,观察其状态来做调试。出现问题,首先要看机构组装是否合理,然后进行程序的微调。
2.2 三维设计
装配模型图
装配模型图
一个机器人的硬件系统设计是这个机器人的基础,一个机器人的动作完成的前提首先是有一个可靠地支撑并实现的一个机构。接下来就是控制系统,控制系统相当于人的大脑来给四肢以要实现的动作以指令。
3.1 控制系统结构分析
控制系统由Bigfish主板实现控制的。通过电脑编程软件,编写程序,往主板中烧录程序实现控制[4]。
Arduino 是源自意大利的一个开放源代码的硬件项目平台,该平台包括一块具备简单 I/O 功能的电路板以及一套程序开发环境软件。Arduino 可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制电灯、电机和其他各式各样的物理设备;Arduino也可以开发出与 PC 相连的周边装置,能在运行时与 PC 上的软件进行通信。
Bigfish主板实物图
3.2 硬件系统设计
主要难题在腿部,由于所给零部件限制,腿部设计要实现4足的交替运动,同时让整体前进。开始设计的方案是四个舵机直接控制单独的四条腿进行对角线方向的交替的运动,但是腿部机构设计的不合理所以导致走路不稳,走了一段时间会摔倒,后来腿部改成连杆和对称式对心双曲柄机构的腿部机构,可实现平稳运动。
3.3 行走方式和原理
控制系统基于对称步态法,对角线上的两只脚运动步态一致。
第1步:四只脚落下状态。
第2步:对角线上的脚2和脚3抬起,另两只脚保持落下状态,支撑身体。
第3步:前后肢对称的扭动一定角度,驱使脚2和脚3前移,整个身体前移。
第4步:脚2和脚3落下,恢复到初始状态。
第5步:另外对称的两只脚,脚1和脚4抬起。
第6步:前后肢对称的扭动相反角度,驱使脚1和脚4前移,整个身体前移,恢复到第一步[5]。
腿部设计采用对称式对心双曲柄滑块机构。该机构具有以下特征:
① 机构特征。该机构由两套共用一个曲柄的对心式曲柄滑块组成,即两曲柄、连杆的尺寸分别相等。两套对心式曲柄滑块机构以A为中心呈中心对称分布。
② 运动特性。该机构两滑块的运动状态始终相同,只是移动方向相反[6]。
4. 软件系统设计
软件系统的设计意味着给机器人赋予灵魂,让其动起来的关键。以下是我们组预期要实现的机器人的腿部动作图。
要实现的腿部动作
4.1 控制总体流程图
控制流程主要由主板来完成,将编好的程序,烧入控制板,控制板会通过控制高低电平来实现动作的控制。
控制流程图
机器人调试
烧录程序
4.2 示例程序
360°舵机编程与180°舵机编程有些不同。180°舵上机的角度表示的是舵机转至这个角度,而360°舵机表示的是角速度与方向,角速度等于当前角度值减去中间位置角度的绝对值,方向表示当前角度值大于中间值为逆时针,小于中间值为顺时针。这个中间值代表的意思,是处于这个角度状态的舵机处于停止状态,而同一类型的舵机,由于制造误差,个体之间这个中间值在90°上下浮动,需要自己调试。
#include <Servo.h>
Servo servo_pin_5; //定义接口5;6;10;9 Servo servo_pin_6; Servo servo_pin_10; Servo servo_pin_9;
void setup() { servo_pin_6.attach(6); //定义6-接口6; servo_pin_10.attach(10); // 7-接口7; servo_pin_5.attach(5); .............. servo_pin_9.attach(9); .............. }
void loop() { servo_pin_10.write( 91.2 ); // 10针脚写入度数91.2,舵机逆时针走1.2° servo_pin_5.write( 95 ); servo_pin_9.write( 91 ); servo_pin_6.write( 92 ); delay( 700 ); // 延迟700ms servo_pin_10.write( 86 ); // 10针脚写入86;360°舵机中间值为86 servo_pin_5.write( 90 ); // 5针脚写入90;此360度舵机中间值为90 servo_pin_9.write( 88 ); ................................................................. servo_pin_6.write( 88 ); .................................................................. delay( 800 ); // 延迟800ms servo_pin_10.write( 76.5 ); // 10针脚写入76.5,舵机顺时针转9.5度 servo_pin_5.write( 81 ); servo_pin_9.write( 79.5 ); servo_pin_6.write( 79 ); delay( 780 ); // 延迟780ms servo_pin_10.write( 86 ); // 10针脚写入中间值86 servo_pin_5.write( 90 ); servo_pin_9.write( 88 ); servo_pin_6.write( 88 ); delay( 800 ); // 延迟800ms } |
① 在初始的结构中,因为腿长,脖子重量大,导致机械兽的行走出现了问题,重心不稳,行走的时候会经常摔倒,或走路不稳。后来我们经过调试改善了结构,将机构改成重心在滴且在中心的四足连杆机构。
② 在编写程序时由于电机功率小,对于2°或3°的角度不能带动起来,所以我们经过了多次调试,尝试不同的角度,最后达到了目的。
③ 之后在机器人行走时我们发现由于是合金机构的四足,在瓷砖地上容易打滑,为了增大四足与地面的摩擦力,从而使四足兽向前行走,我们借助胶布,用黑胶布反面缠住四足兽的四个“脚’,加大了摩擦力。
通过这次的实践,大家学到了很多关于行走仿生机器人的知识,也对四足仿生机器人做了相关的研究和设计工作,让我们将所学的机械知识应用其中,这次的项目实践非常有意义,这次实践的主要流程为:
① 搜集关于仿生机器人,四足行走机器人的资料
② 讨论所做机器人的造型
③ 设计四足爬行机器人的机构
④ 组装四足爬行机器人,并对其机构进行修改调整
⑤ 分析四足爬行机器人的机构组成及原理
⑥ 设想其走路的形态
⑦ 对其走路动作形态进行编程
⑧ 编程调试
在整个实践中大家遇到不少的困难,设计的机构合理性非常重要,因此否决了几种方案和机构。由于这次的时间有限,大家的能力也有限,所以没能做出预想的完美形态,作品也有许多不足之处,但是我们通过这次实践也收获了很多东西。
参考文献
[1]仿生机器人的研究进展吉爱红,戴振东,周来水
[2]仿生机器人的研究综述刘陈方,宋少云武汉工业学院机械工程学院,湖北武汉
[3]探索者团队.机构大全[M].机器时代科技有限公司
[4]探索者团队.工程创新实训箱[M].机器时代科技有限公司
[5]一种管道机器人爬行机构的工作原理郭瑞杰,李杰,王忠,杨启坤西南科技大学制造科学与工程学院,四川绵阳
[6]四足爬行机器人对角启动步态控制系统设计于树林,孙少明,郭大宝,李冰,孙庆元中国科学院合肥智能机械研究所,安徽合肥
* 本项目未获得作者开源授权,无法提供资料下载。