201130020016-蔡易霖-创新实验

上传人:bao****ty 文档编号:117177632 上传时间:2019-11-18 格式:DOC 页数:108 大小:2.64MB
返回 下载 相关 举报
201130020016-蔡易霖-创新实验_第1页
第1页 / 共108页
201130020016-蔡易霖-创新实验_第2页
第2页 / 共108页
201130020016-蔡易霖-创新实验_第3页
第3页 / 共108页
201130020016-蔡易霖-创新实验_第4页
第4页 / 共108页
201130020016-蔡易霖-创新实验_第5页
第5页 / 共108页
点击查看更多>>
资源描述

《201130020016-蔡易霖-创新实验》由会员分享,可在线阅读,更多相关《201130020016-蔡易霖-创新实验(108页珍藏版)》请在金锄头文库上搜索。

1、机电一体化创新综合实验报告 基于PID 算法的光电传感器自动跟踪小车设计 院(系) 机械与汽车工程学院 专 业 机械电子工程 班 级 2011级机电一班 学生姓名 蔡易霖 指导老师 陈立志 2014 年 4 月 7 日 摘 要新一代汽车研究与开发将集中表现在信息技术、微电子技术、计算机技术、智能自动化技术、人工智能技术、网络技术、通信技术在汽车上的应用。智能汽车是是现代汽车发展的方向。制作自动寻迹小车所涉及的专业知识包括控制、模式识别、传感技术、汽车电子、电气、计算机、机械等诸多学科。为了使小车能够快速稳定的行驶,设计制作了小车控制系统。在整个小车控制系统中,如何准确地识别路径及实时地对智能车

2、的速度和方向进行控制是整个控制系统的关键。由于此小车能够自动寻迹,加速,减速.故又被称作为智能车。本智能小车控制系统设计以LEGO MINDSTORMS 控制器硬件为核心,软件是在Robolab2.9软件的环境下编写的,小车安装有一个光电传感器,通过这个传感器把位置信息反馈到控制器,控制器通过PID算法算出机器人运动的方向和速度,使小车能够准确迅速地识别特定的轨道,从而实现小车能够准、快、稳地沿着黑线行走。整个智能小车设计涉及LEGO硬件结构的设计、ROBOLAB VI程序设计及测试与PID控制算法等多个方面。经过多次反复的测试,最终确定了现有的智能车模型和各项控制参数。关键词:智能小车;光电

3、传感器;自动跟踪;控制算法;PID1、 实验目的1、 了解LEGO传感器的相关功能并熟练应用;2、 掌握LEGO基本模型的搭建; 3、熟练掌握ROBOLAB软件,探索机器人的自动控制调节PID算法研究,通过算法调试小车按最优解的速度寻迹; 4、加强学生对机电一体化的实践认识,培养学生的创新意识及综合设计能力,引导学生运用乐高机器人套件,设计、制作智能机器人,提高学生的观察分析、动手、创造能力,培养他们的参与、竞争、实践与协作意识。2、 实验要求1、利用LEGO积木搭建一辆两轮机器人小车,并配置所需传感器-一个光感传感器;2、利用ROBOLAB软件编写控制程序,选择PID控制算法,选择合适的kp

4、,ki,kd等参数使该小车能够准、快、稳地沿着黑线行走。(当有外界扰动时,机器人小车也能快速做出反应,寻找到黑线与白线的交界处,继续沿着黑线平稳地行走。)三、小组成员分工1、LEGO硬件结构的设计:郭皓麟2、PID控制算法设计:梁嘉康3、ROBOLAB VI程序设计:蔡易霖4、现场调试与数据采集:蔡易霖、郭皓麟、梁嘉康四、实验原理 PID控制参数相互独立,参数整定比较方便;PID算法比较简单,计算工作量比较小,容易实现多回路控制。在计算机控制系统中,数字调节器的输出和输入的关系是: 试验采用 : 式中 成为比例系数; 称为积分系数,为采样周期; 称为微分系数。 PID是比例(P)、积分(I)、

5、微分(D)控制算法。但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。其中,比例(P)、积分(I)、微分(D)控制算法各有以下作用:比例:反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;积分:反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;微分:反映系统偏差信号的变化率e(t)-e(t-1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。但是微分对噪声干扰有放大作用,加强微分对系统

6、抗干扰不利。 值得注意的是,积分和微分都不能单独起作用,必须与比例控制配合。智能小车安装有一个光电传感器,通过这个传感器把位置信息反馈到控制器,控制器通过PID算法算出小车运动的方向和速度,从而实现能够准、快、稳地沿着黑线行走。控制系统的结构框图如下: 转速方向判断位置输入信号PID控制器乐高机器人偏离轨道的大小及方向反馈实现上述的控制的框图,先采平衡位置的光感值offset,此处先将小车的光感应器置于白色区域采集两秒钟,之后将小车的光感应器置于黑线上,此时通过将两者的算术平均值(约为44)作为初始offset,由于环境光度对传感器的影响很大,所以每次运行机器人的时候传感器把平衡位置的光感强度

7、存为稳定位置比较方便。进入循环体,采第二个位置的光感值now,算出偏差err=now-offset,当前微分errdiff=err-errold,积分errint=errint+err,把当前偏差存储到errold,接着算出pid()。总体算法流程图如下所示:开始设置采样函数和PID控制函数开始循线运动并同时进行数据采集据采集到的信号完成PID算法,执行相应运动,同时采集到相应信号结束音乐响,数据采集完成本实验中,小车以60的速度行驶时,分别用PID、PI、PD、P四种不同的控制算法进行控制;小车以80和100的速度行驶时,只用PID控制算法进行控制。实验时,通过不断调整Kp、Ki、Kd这三个

8、参数的值,使得小车能够准、快、稳地沿着黑线行走,并采集记录数据。五、实验步骤1、参照 LEGO快速入门,利用LEGO积木搭建实验所需的机器人小车并安装必要的传感器;2、利用PID控制算法,设计程序流程图; 3、学习ROBOCTC的编程方法,初步掌握一些功能函数的调用,并利用ROBOTC编写控制程序;4、 下载程序到NXT小车中进行调试、收集必要的数据,不断改善算法参数,使得小车能够沿黑线走得平稳。 5、编写课程设计说明书,完成实验。六、实验过程1、LEGO硬件结构的设计参照 LEGO快速入门,利用LEGO积木搭建实验所需的机器人小车并安装必要的传感器。并进入Setting界面设置声音,将声音调

9、为最大;进入View界面,设置光线传感器和超声波传感器。组装好的智能小车如下图所示: 2、PID控制算法设计PID 控制规律的实现,必须用数值逼近的方法。当采样周期相当短时,用求和代替积分,用差分代替微分,使PID 算法离散化,将描述连续-时间PID 算法的微分方程,变为描述离散-时间PID 算法的差分方程。设计出其流程图如下: 3、ROBOLAB VI程序设计 学习ROBOLAB的编程方法,初步掌握一些功能函数的调用,并利用ROBOLAB编写控制程序如下:4、程序的烧录将小车与电脑用USB数据线连接,并打开NXT的电源。点击ROBOLAB的RUN按钮,传送程序。5、程序的调试取有黑线的白板,

10、运行程序,观察小车的运动情况,不断的调试参数的值,力求沿黑线走得平稳。6、数据的采集调试好之后,进行数据采集。其中,数据采集功能的主要部分如下:七、数据记录与分析 1、小车速度:60 控制算法:P 参数值:Kp=2.7 Ki=0 Kd=0 分析:用比例控制,这种控制方法就是在检测到车体偏离的信息时给小车一个预置的反向偏移量,让其回到跑道。比例算法简单有效,参数容易调整,算法实现简单,不需复杂的数字计算。在这次数据采集中,只使用了P算法控制,小车的左右摆动十分明显,可以很清楚地看到小车走的路线是Z字型。而且Kp的取值也会影响到小车的运动,比例度太小,控制作用太弱,不利于系统克服扰动,余差太大,控

11、制质量差,也没有什么控制作用,表现为小车在拐弯处无法正确拐弯,无法完成走黑线绕圈的任务;而比例度太大,控制作用太强,表现为小车左右摇摆十分明显,即Kp太大容易导致系统的稳定性变差,引发振荡。可见,由曲线可以只有P调节时,系统的振荡频率很大。2、小车速度:60 控制算法:PD 参数值:Kp=3.3 Ki=0 Kd=100 分析:PD控制在比例控制的基础上加入了微分控制,可以抑制振荡,加快收敛速度,振幅也比只用P算法时小了许多,得到了较好的动态性能。在调节Kp与Kd的参数值时,可以适当提高Kp的值,加大比例控制,使稳态误差减小,提高控制精度。当然,当Kd的值偏大时,超调量也较大,调节时间也较长。只

12、有合适时,可以得到比较满意的过渡过程。3、小车速度:60 控制算法:PI 参数值:Kp=3.0 Ki=0.029 Kd=0 分析:PI控制是在比例控制的基础上加入了积分控制。与P控制的图像相比较,图像的偏差和振动的频率明显小了许多。说明积分环节的加入,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差。当然,累计误差会随着时间而不断地增大,所以,我们的Ki值不能设得太大,而且,我们只要把误差的正负值用到系统的调节中即可,即S/abs(S)。4、小车速度:60 控制算法:PID 参数值:Kp=2.1 Ki=1 Kd=80 分析:PID控制在PD控制的基础上加入了积分分控制,在

13、阶跃信号的作用下,首先产生的是比例-微分作用,使调节作用加强,直到最后达到消除静养的效果。因此PID调节从动态,静态都有所改善。当然 P、I、D三个参数的设定更难,也需要不断进行调试,凭经验来设定,因此其适应性不好 ,但是可以使被小车更稳定的行驶。5、 小车速度:80 控制算法:PID 参数值:Kp=2.2 Ki=1 Kd=120 分析:等做好100PID后,再结合60PID、80PID、100PID,对比他们的Kp、Ki、Kd的值,一起进行比较分析。6、小车速度:100 控制算法:PID 参数值:Kp=3.5 Ki=1.1 Kd=300 分析:从60档、80档、100档的PID算法参数中可以

14、看出,随着速度增大,Kp明显增大。可见速度增大时需要将Kp增大,否则在速度大时小车不能拐弯。同时从三个档的Kd值看出,速度60和速度80的Kd相差很小,但速度100档的Kd却增大到300,可见随着速度的增大,但速度在小范围内增大时,Kd参数调整量很小,速度影响很小,但是当速度变化量大,到达某一个速度等级时,Kd就要调整,否则小车无法稳定运行。总而言之,随着速度的增大,振荡频率和振荡幅度有所增加,PID调节的效果减弱。所以当速度增大时必须找到一个更加合适的PID参数才能让系统在高速运行的情况下稳定运行。八、调试过程出现的问题及解决方案1、载入程序并运行,发现光电传感器的灯并没有亮。原因是硬件设计和软件设计由两个不同的人完成的,所以对于传感器端口的设置没有对上号。只要把光电传感器的插口改插到端口“1”即可。2、对于参数Kp、Ki、Kd的调节,一开始时便像是海底捞针一样,随机赋予三个数字,然后运行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号