- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PID算法巡线小车设计与实现
基于PID算法巡线小车设计与实现
本文描述了如何使用PID算法实现小车巡线的运动,针对依靠直流电机驱动双轮小车平台,依靠引导线进行运动的特点,设计了基于PID驱动算法与加权平均扫描法,实现对小车的巡线控制。在算法中对比,整合PID的三个参数,使在小车巡线过程中协调发挥作用,实现在离散状态下小车巡线的精确控制。通过实践表明该算法具有适应性强,控制精度高,调整误差小的优点。
【关键词】PID 算法 巡线 加权平均扫描
1 引言
PID技术广泛应用于各种领域,其因为结构简单,参数明确,容易实现,其P(Pro-portional)是比例项,I(Integral)是积分项,D(Derivative)是微分项。PID能够精确控制各种被控对象,比如在控制小车巡线方面。在实际应用中可以采用P,PI,PD或PID等控制形式,同时约可以加入人工智能模糊控制,在使用PID时要根据被控对象的系统响应变化特点作出选择和调整。PID算法的原理是根据设定值r(t)与输出值c(t)之间的偏差e(t)=r(t)-c(t),通过线性组合按照比例,积分,微分运算后生存控制变量,及时控制小车巡线运动。PID系统结构如图1所示。
其中,u(t) 为输出项;为比例放大系数; 为积分时间;为微分时间; e(t) 为误差值;为控制量基准值。
比例放大系数能加快系统响应速度,但容易产生超调现象,在机器人巡线行走过程中会出现左右搬动现象; 积分时间参数 主要作用是消除系统的稳态误差; 微分时间参数 作用是改善系统的动态性能,对误差趋势能够进行提前干预。
2 双轮巡线小车结构设
2.1 小车位置判定
在PID算法设计中,构建比例因子是最重要的。第一步就是确定比例采样方法,构建比例方法。在小车运动巡线过程中,在小车前端的7路颜色传感器不断反馈扫描的信息给CPU,7路颜色传感器从左到右依次为P1,P2,P3,P4,P5,P6,P7,P4传感器只要引导走直线,P1和p7,P2和P6,P3和P5分别为一组 ,通过不同组的传感器反馈回的信息能实时判定小车的位置状态,通过不同组反馈的位置信息与P4传感器位置偏差e(t),通过比例因子就可以构建PID算法中比例控制项了。前端7路传感器通过程序实时扫描可以得到小车的采集位置b1,b2值,传感器同时扫描的到引导线的采集点数量为z1,z2。因此传感器对应点位置信息为公式(2)。
PID算法中,可以根据位置信息,选用不同的比例因子构建比例算法,在巡线过程中左边的传感器很重要,所以左边的传感器的系数比右边的传感器的系数大,巡线过程中要根据现场具体调试比例因子。小车巡线过程中可以根据偏差信息,可以计算出PWM值驱动直流电机,然后根据小车的车身状态分别驱动小车的左右电机上。PWM值计算公式为(3)。
PWM=N1*x1+N2*x2
3 PID算法设计
3.1 巡线方式
本论文采用的巡线小车是用7路颜色传感器采集路线信息,7路颜色传感器在小车前端一字排列,这样布局可以很容易的采集到路况信息。单片机通过传感器反馈回的信息判断小车位置,然后通过PID算法计算出PWM值及时调整小车的状态,然小车一直沿着引导线运动,避免小车脱离轨道,各个传感器反馈回的信息依次加权(i=1,2…..7)计算公式如公式3.2 巡线过程中遇到的各种情况
本文提出了各种不容的解决方案。
(1)如果小车遇到环形路线,这种路线小车在巡线过程中是最简单,只要通过小车前端的7路颜色传感器就可以使小车沿着引导线快速平稳的巡线运动,在这种路线中,7路传感器同时检测引导线,如果P1和P7,P2和P6都检测到了引导线,说明小车面临较多转弯,根据P1和p7传感器反馈回的信息通过加权算法和PID算法计算出PWM值,分别控制左右直流电机的转数和方向,使P4一直能检测到引导线,因为p4传感器是引导小车直线前行的。当遇到1字路口的路线,面对这种路线可能会出现各种路线,因为面对十字路口小车可以向前走,向左走,向右走三种情况,面对这种情况,小车前端的7路颜色传感器都可以检测到引导线,对于小车使向向前,还是转弯,这需要单片机程序控制,如果想让小车向前走,通过p4传感器反馈回的信息加权和PID算法计算出PWM值,分别以相同的PWM值控制直流电机向前走,当然如何想让小车左转,就让P1,和P7的传感器起作用,分别通过PID算法计算出左右电机不同的PWM值,这样左边电机的PWM值小于右边电机的PWM值,进而引导小车向左转,同样如果想让小车向右转弯,通过传感器反馈回的信息运用PID算法计算出左右电机的PWM值,这样右边的电机的PWM值小于左边电机的PWM值,进而引导小车向右转
(2)如果小车遇到八字交叉路线,对于这种情况也要分不同
文档评论(0)