2010瑞萨超级MCU模型车大赛技术讲座—软件具体实现主讲人:华中科技大学智能车队何国庆主讲人简介:何国庆,男,1990年10月1日出生。华中科技大学控制科学与工程系2007级本科生。2009年第三届瑞萨超级MCU模型车大赛A组亚军队成员,表演赛第一名,并创造了21.14s的大赛最快成绩。比赛照片:主讲内容:总体上分为:核心控制算法(全局流程控制)、辅助处理算法、调试方法等。细节上包括:函数调度、直道弯道处理、直角弯换道识别与处理、坡道处理、过渡过程处理、稳定性调试、角度与速度调试等。软件需求分析(一):——洞悉赛制,有的放矢决赛赛道赛道组成:直道、弯道、直角弯、换道、坡道组成软件需求分析(二):——知彼知己,百战不殆赛车特点:8位数字传感器、四轮驱动、数字舵机、H8/3048FONE芯片等参赛赛车软件构架选择:操作系统VS状态转换机考虑前期时间投入,以及实时控制的要求,舍操作系统而取状态转换机。软件实现部分:小车上电初始化保护检测特殊标志检测模式11、12、13正常循线模式9停车定时器1ms中断编码器中断10ms采样速度、距离反馈模式61——64处理模式51——54处理直角类型检测模式21、22模式31、32、33处理模式41、42、43处理右直角左直角下一个程序周期左换道右换道换道标志是否无特殊标志控制流程图核心控制部分:(一)直道、弯道处理作为一般的循线模式,根据偏移量计算得出白线和传感器中部的偏差,由小到大依次增加转向角度,降低行驶速度。偏差足够大时将进入弯道模式处理。(一)直道、弯道处理比赛弯道分为R450和R600两种,两种不同的弯道上运行时不一样的,由于曲率半径的不同导致差速不同和循线角度的不同。处理时用到了8个数字传感器,假设初始状态为00000000。在非特殊赛道时,当出现00000010、00000111、00000011、00000001等则认为进入了右弯道,左弯道与之对称。弯道时当出现000*1*00时,则回归直道。核心控制部分:…程序示例:(二)直角弯处理核心控制部分:1.直角弯标志的识别2.直角转弯过程处理程序示例:程序示例:直角弯处理示例(三)换道处理核心控制部分:1.换道标志的识别2.换道过程处理程序示例:(四)坡道处理车速很高+坡道是弯道+不特殊处理小车会冲出赛道。解决办法:坡道检测、适当限速核心控制部分:•所谓过渡处理,即是在不同的赛道类型间进行特殊的处理。因为随着小车的速度提高,调试发现在不同的赛道间转换时由于小车姿态很难及时调整好,所以在赛道切换后会出现各种各样的问题。•过渡处理包括:左右弯道间(即s弯)的短直道过渡、直道与坡道间的过渡、直角弯换道后与直道的过渡。过渡处理部分:1.落地保护2.遥控控制3.距离保护4.电压监控…..辅助部分:(一)角度调试调试过程:1.舵机参数的测试2.依结构的理论计算3.实际的调试校正(一)角度调试调试过程:调试结果示例(二)速度调试——电机性能参数测试——速度与PWM的测试——差速的调整调试过程:测试过程示例01002003004005006000102030405060系列1(二)速度调试——速度与PWM的测试测试结果示例由于转向角度θ已知,前后轮间距W是不变的:rA=W/tan(θ)。那么r1和r3和rA仅仅相差半个后轮间距T,于是:r1=rA–T/2,r3=rA+T/2。(二)速度调试——差速的调整差速程序示例不同速度阶段可能会出现不同的问题。在以前的调试中发现,高速时小车稳定性变差,具体原因包括:1、弯道上赛道摩擦力并不够;2、四个轮子所给的差速有问题;3、角度给的不匹配;4、弯道时速度忽加忽减;……(三)稳定性调试对应解决办法:1、改进小车的机械结构(降低重心等),更换防滑胶带;2、在理论差速基础上微调3、考虑角度与速度的耦合关系4、考虑变换速度控制策略,PID控制、电压控制、Bang-bang控制等等......——调车无难事,只要肯思考(三)稳定性调试谢谢欢迎大家相互交流!