1、这种行走方式使昆虫可以随时随地停息下来,因为重心总是落在三角支架之内。并不是所有成虫都用六条腿来行走,有些昆虫由于前足发生了特化,有了其他功用或退化,行走就主要靠中、后足来完成了。大家最为熟悉的要算螳螂了,我们常可看到螳螂一对钳子般的前足高举在胸前,而由后面四条足支撑地面行走。参考以上的昆虫足部结构,我们想出了较简单的方式来表达。一支脚共有两个关节(假设没有爪的情况下),一个关节采左右式移摆;另一个关节则是采偏摆式,使脚可提高,当做上下运动的一种,结构设计图如下。2.运动学分析: 六足步行机器人的步态是多样的,其中三角步态是六足步行机器人实现步行的典型步态。(1)三角步态介绍:“六足纲” 昆虫
2、步行时,一般不是六足同时直线前进,而是将三对足分成两组,以三角形支架结构交替前行。目前,大部分六足机器人采用了仿昆虫的结构,6条腿分布在身体的两侧,身体左侧的前、后足及右侧的中足为一组,右侧的前、后足和左侧的中足为另一组,分别组成两个三角形支架,依靠大腿前后划动实现支撑和摆动过程,这就是典型的三角步态行走法,如下图所示。图中机器人的髋关节在水平和垂直方向上运动。此时,B、D、F 脚为摆动脚,A、C、E脚原地不动,只是支撑身体向前。由于身体重心低,不用协调Z向运动,容易稳定,所以这种行走方案能得到广泛运用。 (2)机器人行走步态分析:项目设计共使用12个舵机用于步态实现。每条腿上有两个舵机,分别
3、控制髋关节和膝关节的运动,舵机安装呈正交,构成垂直和水平方向的自由度。由于腿只有水平和垂直平面的运动自由度,所以只考虑利用三角步态实现直线行走。分别给12个舵机编号(112),如图所示。直线行走步态分析 由1、2、5、6、9、10 号舵机控制的A、C、E腿所处的状态总保持一致(都是正在摆动,或者都在支撑);同样,3、4、7、8、11、12 所控制的B、D、F腿的状态也保持一致。当处在一个三角形内的3 条腿在支撑时,另3条腿正在摆动。支撑的3条腿使得身体前进,而摆动的腿对身体没有力和位移的作用,只是使得小腿向前运动,做好接下去支撑的准备。步态函数的占空系数为 0.5,支撑相和摆动相经过调整,达到
4、满足平坦地形下的行走步态要求和稳定裕量需求。转弯步态分析项目设计的机器人采用以一中足为中心的原地转弯方式实现转弯,下图为右转的示意图,图中E腿为支撑中足。右转弯运动的过程如下:1)首先A、C、E 腿抬起,然后A、C 腿向前摆动,E腿保持不动,B、D、F腿支撑。2)A、C、E腿落地支撑,同时B、D、F腿抬起保持不动。3)A、C腿向后摆动。整个运动过程中B、D、E、F 不做前后运动,只是上下运动。3.结构设计:六足机器人的基本结构的设计主要包括机器人足部关节自由度转换结构的设计和躯干整体支架的设计。 (1)足部结构:仿生六足机器人足部机构主要是电机间的链接与自由度转换结构。采用Auto公司开发的3
5、D机械制图软件辅助设计的方法,分析电机尺寸,设计固定作用的固定架,传动作用的U型架。结构通过平面钣金加工制作,通过紧固件进行基本结构件的连接。基本足部自由度转换结构设计实物图。 (2)躯干结构:经过改进后的机器人躯干结构在结构设计软件中的设计图如下 躯干结构模拟图 整体结构模拟图4.驱动器与驱动原理:仿生六足机器人采用电动驱动的方式进行驱动驱动器采用微型直流角位移伺服电动机【舵机】。(1)舵机原理舵机是一种结构简单的、集成化的直流伺服系统,其内部结构由直流电机、减速齿轮、电位计和控制电路组成。舵机采用的驱动信号是脉冲比例调制信号(PWM),即在通常为20ms 的周期内,输入以0.52.5ms
6、变化的脉冲宽度,对应的转角范围从O变化到180,脉冲宽度与转角呈线性关系5。控制信号线提供一定脉宽的脉冲时,其输出轴保持在相对应的角度上。若舵机初始角度状态在0位置,那么电机只能朝一个方向运动,所以初始化的时候,应将所有电机的位置定在90 的位置。六足机器人腿部偶数舵机转轴为垂直运动,控制机器人腿部抬起和放下;奇数舵机转轴为水平转动,控制机器人腿部前进和后退。(2)舵机控制方法 标准的舵机有3条导线,分别是:电源线、地线、控制线。电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源电压通常介于46V,一般取5V。给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲
7、信号,方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用下图表示。 从上述舵机转角的控制方法可看出,舵机的控制信号实质是一个可嗣宽度的方波信号(PWM)。该方波信号可由FPGA、模拟电路或单片机来产生。采用FPGA成本较高,用模拟电路来实现则电路较复杂,不适合作多路输出。一般采用单片机作舵机的控制器。(2)选型: 辉盛SG90舵机 参数:扭矩:1.5KG/CM 死区:10us 转速:0.12秒/60度(4.8V) 重量:9克 尺寸:21.5mmX11.8mm
8、X22.7mm 工作电压4.8V-6V5.控制电路的硬件设计 (1)电源模块-驱动电路和抗干扰技术 双电源供电:舵机内部是直流电机驱动,在带载时启停的瞬间会产生较大的峰值电流,将舵机供电电源与 MCU和IC的供电电源分开,双线供电能保证控制电路不受驱动电路产生不稳定脉冲的干扰。为保证驱动器电源输入的稳定性,结合电路抗干扰技术,采用合适方法保证电路抗脉冲干扰、抗低频干扰、抗共模干扰的能力,使12个电机的多驱动系统能够稳定工作。电源采用,镍氢电池7.4V,1200mA,15CC;控制电路电源输入由1117低压差电压调节转换电路提供。驱动电路电源由LM2596 DC-DC直流开关电压转换电路提供。
9、(2)控制核心-单片机接口电路和传感器检测控制电路主要由1602显示调试屏幕,12路舵机控制输出,抗干扰等部分组成,结合PROTEUS仿真技术,分析控制程序。原理图如下:6.计算机与软件开发:单片机主控系统:AVR单片机 ATmega16软件设计的基本思想软件的主要功能是使机器人在向前行进的过程中能够避开障碍物,即对12 个舵机进行调度和控制。可将软件功能分解为:要避开障碍物,首先应探测到障碍物,其次能绕开障碍物,这就要求机器人能完成前进、后退、左右转弯等动作。动作协调完美性的实现,要求了在任一时刻能够做出12个舵机的同步动作控制。软件设计中首先将前进、后退、左右转弯等高层动作分解,具体到完成
10、一个动作各个舵机所要完成的动作和时序。采用模块化的设计思想,将对所有舵机的调度做成一个独立的模块,所有的高层动作都是通过调用底层舵机控制的模块来完成。多个舵机的控制是采用多舵机分时控制的思想来实现的。程序采用C语言模块化程序设计的基本思路程序模块如下。 (1)驱动模块:12路PWM驱动信号通过软件计数法多路输出利用MCU片内定时器和I/O模块控制输出多路占空比可调的PWM控制信号多舵机分时控制思想由于单片机在某一时刻只能对一个中断进行响应,所以一个单片机驱动多个舵机的条件是每个舵机产生的中断时间间隔必须相互错开。由于舵机的驱动周期内的2 次电平变化的最短时间是高电平的脉宽时间,即0.52.5m
11、s,那么在不产生冲突的情况下,若分时对多个舵机产生驱动信号,则最多可实现的驱动舵机数量为20/2.5=8。就是说一个单片机最多可以控制8 个舵机运行在完整转角空间。采用多舵机分时控制的思想,可实现对12个舵机的协调控制。将12 个舵机分成两组,定时器0 控制舵机16,定时器1 控制舵机712,每个定时器在一个周期内将产生12次定时器中断。使数据发生错误也很难连续起来,大大提高整体的纠错能力。 (2)动作模块:将计算得到的机器人运动数据封装为前进、后退、左转、右转的动作函数子程序。设计电机控制的速度伺服、角度伺服程序,采用流程控制法调用动作函数。 (3)传感器模块:针对传感器检测的输入,传感器检
12、测使用 AVR单片机片内引脚中断资源,并且对不稳定信号进行软件滤波处理,增加控制系统的稳定性。 (4)1602液晶显示调试模块:1602液晶显示模块显示程序运行情况,作为程序调试的重要工具。通过单片机IO口引脚发送数据,指令信息,显示当前舵机实时运行状态。 (5) 全局控制上位机程序:整合多模块,形成系统化控制结构图如下。四、项目总结 完成的设计: 1.仿生学原理分析 2.机构学理论分析 3.自动控制系统设计 4.计算机软件开发 5.传感器检测控制系统设计 6.电机驱动电路设计 达到的要求: 1.控制系统对12路驱动器的稳定角度控制,速度控制。 2.整体结构与行走步态稳定性达到要求。 3.多种
13、静态步态与传感器检测控制一体化的实现。 4.机器人能够快速准确探测前方障碍物,针对不同情况探索行进路线。 项目成果总结: 项目已经设计制作出三代机器人样本实物,经过实际行走测试,稳定性,速度,蔽障性能等参数达到甚至超过预先设定的指标。 机器人相关参数与性能指标如下: 重量:460g160*100*40mm 平均行走速度:0.06m/s 平均功率:1.2A*5V=6W 探测响应时间:约0.5s 能够在平地上进行前进、后退、左转、右转等稳定步行能够准确探测前方障碍物,根据不同情况执行合适的步态,探索行走路径 五附录程序:/=主程序 main.c=/#include util/delay.h1602
14、LCD.havr/interrupt.h#define uchar unsigned char #define uint unsigned intuchar f12;uchar m127;uchar sign,rooptime,roopnum;uchar direc;uchar canmove=1;uchar run=0;char parameter12=9,-9,-15,3,9,-3,-13,6,8,9,-14,-10;void sys_init(void) DDRA=0xe0;DDRB=0xff;DDRC=0xff;DDRD=0x0f;PORTA=0x1f;PORTB=0x00;PORTC
15、=0x00;PORTD=0xf0; TCCR2=0x0a; OCR2=10; TIMSK|=0x80;Lcd_init();_delay_ms(1000);void residual(void)uchar i,j;for(i=0;i12;i+)fi+=parameteri; for(j=0;j7;j+)mij+=parameteri;void gait1(void)/动作函数 前进uchar i;roopnum=4;rooptime=6;sign=0;i=0;mi0=140;mi1=150;mi2=150;mi3=150;mi4=0;mi5=0;mi6=150;i=1;mi0=150;mi1=160;mi3=140;i=2;mi2=160;i=3;i=4;mi2=140;i=5;mi1=140;mi3=160;i=6;mi0=160;i=7;i=8;i=9;i=10;i=11;fi=mi3;residual();void gait2(void)/动作函数 后退void gait3(void)/动作函数 左转mi1=145;mi3=155;mi1=155;mi3=145;void gait4(void)/动作函数 右转mi0=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1