智能车总决赛报告_第1页
智能车总决赛报告_第2页
智能车总决赛报告_第3页
智能车总决赛报告_第4页
智能车总决赛报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能车总决赛报告智能车比赛之教训1、 校内赛:电路板设计太磨蹭校内赛时,我们倒数第五天拿到板子,焊接测试飞线之后,倒数第三天晚上才上跑道,这么短的时间,根本没有机会调试算法。2、 华东赛:比赛前两天不要再改硬件,好好调软件华东赛时,我们最后一段时间,天天改硬件,疯狂的时候一天改好几次,改完又重调参数,几乎调疯了,幸亏倒数第二天把所有的硬件的都胶住了,不能再改硬件,最好一天让它勉强跑下来。硬件可以改,但要有方向有目的的改,不要老是试试看。每试一次,你知道要耗费多少时间多少能量吗?即使没有消耗,你也会煩死。三、总决赛:抗干扰能力差检测方案:(测得光电管检测点所在直线与黑线的交点与车身前后轴心的距离

2、)1,分时驱动发光管IO口控制MOS管,驱动发光管亮1/4个控制周期,即为0.5ms2,AD采样检测值,多次采样中值滤波(经过试验控制周期很短当时没有滤波必要)在开启驱动前检测一次光电管,即为环境值;关闭驱动前检测一次光电管,即为复合值;实际值为没有环境光影响下的光电管检测值,即为复合值减去环境值(假设此光强下光电管的接收管依旧工作在线性区)。3,测定参数(足够长时间内每个光电管在黑线与白色跑道上的最大最小值)在跑道同一处测定光电管正对黑线和正对白色跑道的检测值,即为检测的最大最小值。4,归一化处理:其中Lamp_sigma为归一化值,Lamp_max为最大值,Lamp为当前测量值,Lamp_

3、min为最小值。归一化值即为该光电管检测到的灰度值。5,加权平均求偏心距:其中X为偏心距,NUM为光电管数目,Lamp_dist为各个光电管到小车前后轴线的距离。由计算公式可知,偏心距即为各个光电管检测的加权平均值。事实上,不能对所有光电管同时求加权平均数,这样会把一些远处的干扰信息加入。因而,一般只是对上次偏心距附近的点加权平均,或者对最大值附近的点加权平均,但是这两者都有一定隐患,前者在偏心距需要突变时而无法突变,后者在干扰点很大或者错误检测时放大错误,特别是部分光电管损坏时后果更为严重。出现问题:一旦有环境光影响,将改变当前情况下的最大最小值,同时也改变最大最小值之间的差值,从而影响到光

4、电管的归一化处理。在弱光影响下,可以认为环境光是线性叠加的,可以通过检测环境光滤除环境光的方法,消除其影响。但在较强环境光的影响下,由于接收管是非线性的,光电接收管达到饱和,无法区别黑白;黑白阈值是静态设定的,无法适应动态变化的环境,因而完全失控。设想解决方案:1,自动校正的可变电位器调节接收管电阻检测到各个光电管的采样值后,处理得到正对白色跑道的光电管的值,统一调整所有接收管使其保持在线性区域。难点:何以知道某些点正对跑道?各个光电管特性不一致,统一调整是否产生新的问题?如果统一调整无效,还有其他办法吗?2,采用调制光谱的光电管采用特定光谱的放射管和接收管,使得发光管的发光功率远大于阳光该光

5、谱的功率,这样就大大减少环境干扰。难点:何种频率在比赛现场很少出现(阳光、对讲机、手机、闪光灯等)?该种光谱的能耗,光电管的体积和重量?是否具有较高的精度?3,使用分立光电管,带上长帽这种方法还是会受干扰,只是干扰稍小些今后抗干扰基本要求:1,保证部分探测设备故障后依旧能正常行驶2,保证阳光斜射干扰下小车正常行驶智能车比赛之经验浅谈基于单排光电管的智能车软件算法设计与调试对于只用单排光电管检测赛道信息的智能车,简单分析下,输入为当前偏心距与速度,输出为下一周期舵机和电机的占空比,如何从这两个输入得到相应的输出即为软件算法。考虑更多的话,舵机响应速度、电机驱动能力、重心配置、车重、后轮差速、前轮

6、倾角束角都是其输入参数,不过这些输入参数都是小车运行中保持不变的(本文称其为恒定输入参数,相应前面所讲的两个参数为动态输入参数),而且这些参数的调节会影响舵机和电机的控制参数。现在不考虑这些恒定输入参数,仅仅讨论从动态输入参数到舵机电机占空比的算法设计与调试。一般算法设计:就控制算法,我们校内赛时期用的是简单的舵机位置式P控制、电机增量式PI控制,即舵机PWM=Kp×偏心距,Kp为P参数;电机PWM=上次PWM+Kp×速度偏差变化率+Ki×速度偏差;速度设定根据经验不同偏心距设定不同速度。华东赛时,我们将舵机控制复杂化为分段的PD控制,因为D预判性能,对于过弯道有

7、一定帮助,对P根据当前偏心距进行分段,钝化直道和大弯下的转角变化,锐化直弯切换、弯弯切换,尝试过很多复杂的分段方法,甚至到了用连续函数来逼近分段的地步,但是控制复杂了效果却不明显,最后又回到了简单的PD控制。电机控制控制几乎没变,就是把速度根据赛道类型设定,直道、直入弯、弯道分别设速,直道设高速,直入弯设低速,弯道根据舵机PWM设定。总决赛时,舵机控制依旧为PD控制,但是采用是查表分段线性化的方式,这是工程上解决复杂问题的简单模糊方法,对于这个表格我们经过反复地锐化、钝化,最后回到接近完全线性的控制。当然,这个线性是舵机PWM相对偏心距的,舵机PWM相对目的转角来讲仍旧是中间钝化两边锐化的。舵

8、机的D参数根据实时检测的赛道类型适当修改,特别是在直入弯和小S弯时加大。电机控制改为棒棒与PD结合的控制方法,在当前速度比设定速度小0.2m/s时正向置满,以最高能力加速,在当前速度比设定速度大0.6m/s时反向置满、反转刹车,在当前速度比设定速度大0.2m/s时正向置满、电磁力矩刹车,在设定速度附近时采用PD控制,这样加减速迅速,而且不会有多少超调。速度的设定也采用了查表分段线性化的方式,但是这次的表格有三个:相对偏心距的、相对偏心距的变化率的、相对偏心距的振荡程度的,分别表征当前特性、未来趋势、过去特性,其中偏心距起主要作用,不需要识别赛道类型就能很好的设定速度,而且非常方便修改。有一点必

9、须说明的是,不同的电机速度设定对着不同的舵机参数,甚至需要不同的电机参数。速度越高,舵机所需要的PWM一般越大,目的是加快舵机反应速度。前面的讲述,也许会把人搞糊涂,我再说明几点:首先,偏心距、舵机PWM、舵机转角没有线性关系,在相应足够快的的情况下也只能说是正相关的;其次,低速下舵机电机可以分开控制,但高速时一定是协调控制的;再次,速度根据偏心距或者舵机PWM设定,肯定没有根据舵机真实转角设定好。记忆算法设计:记忆算法是通过前一圈试跑,获取、处理并记录赛道信息,然后在后一圈根据赛道信息优化控制的算法。描述赛道,可以用赛道类型(直道、左弯道、右弯道)、长度、平均偏心距,也可以用赛道类型、长度、

10、转角(曲率半径即为长度与转角的比值),本文采用前一种方法。实时处理数据:我们把赛道用一个数组表示,每个数组元素是一个包括长度、平均偏心距的结构,每个元素表示一段单一类型的赛道。记录信息完成后,将数组写入EEPROM。利用信息时,只要读取这个数组就行,不需要临时处理大量数据。记录时,每20ms记录数据一次,将长度递加,将偏心距总和、记录次数递加。当出现赛道类型变化或者交叉线次数变化时,计算出平均偏心距(=偏心距总和/记录次数)。如果长度小于300mm,当作小连接道处理,长度加在前一段赛道上;否则当一个赛道元素处理,记录其长度和平均偏心距。记忆利用数据:第二圈时,计算小车的当前位置,从记录数据中查

11、询当前处于什么赛道类型,是否可以提速,是否需要提前刹车,是否需要修正舵机控制参数。事实上,第二圈的坐标很难和第一圈一致,所以只能对比较长的单一类型赛道才能做加减速处理,而且加速需要滞后一段距离,减速需要提前一段距离。为了让第二圈的坐标与第一圈记录信息对应,一般需要通过加上校正信息,比如交叉线处、上坡处进行校正;或者通过实时识别赛道类型后然后调用信息。算法调试:对于智能车的一般调试方法,我们是这样进行的首先匀速下调节舵机P参数,待稳定了,继续增加速度,再调P参数,直道速度无法再增加,一旦增加增调节舵机P参数都不行。然后将P参数乘以0.8、0.9或者保持(最好是保证静态时两边能达到你需要的最大转角

12、),调节D参数,待稳定了,继续增加速度,在调D参数,直道速度无法再增加,一旦增加增调节舵机D参数都不行。(事实上这里可以再调节P参数,但是我们认为其可调空间很小,忽略其提速能力)接着以此速度或者略低于次速度的速度作为速度最低值,进行变速调试。不同的速度设定方法,可以设定不同的速度,通过调节速度设定逼近它的最好成绩。需要继续提速的话,必须将速度设定和舵机参数一起调节,但舵机参数只能微调,一般是速度提高,P参数略微增加,D参数增加稍微多点。算法补充:赛道类型的实时测定:如果小车长距离保持偏心距在中心附近,就可以认为小车处于直道上。如果小车本来在直道上,突然偏心距变大,并保持一定距离,可以认为小车正

13、在直入弯。如果小车长距离保持偏心距较大,表明小车处于大弯道中。起始线(交叉线、坡道)识别:按本质检测黑白黑白黑(归一化值或其梯度)排除法检测排除交叉线、坡道(最好不用排除法)各种滤波:抗跑道夹缝干扰检测到类起始线两次或两次以上确认为起始线抗杂点干扰控制偏心距的变化率和变化量,单周期突变则保持,否则渐变抗光电管一致性不好通过调节接收管电阻,尽量使其保持一致;然后通过测得黑白差值,进行归一化处理,生成灰度值智能车光电组之新思考1,提高抗干扰性,保证部分检测设备故障后仍能正常行驶,保证阳光斜射下正常行驶。2,测速:右轮速/左轮速/后轮轴速3,两排光电管:前瞻和视野宽度(包括检测起始线)前六后九采用两

14、排光电管的方案,不仅有一定的前瞻,而且有相当的视场宽度,同时检测起始线也相对简单、准确性更高。前排可以分布稀疏些、仰角大些,后排分布间隔不超过两厘米,可以不需要什么仰角,但是不损失视场宽度的情况下尽量探远些。4,舵机竖装,不架高舵机连接块不能加长太多,必须满足阿克曼定律。本人认为只要舵机竖装,不需架高即可。5,电机驱动改用MOS管由于33886内阻较大(120毫欧),不能瞬间提供大电流,在速度较高时无法及时加减速。改用MOS管驱动,内阻仅为8毫欧,可以大大降低内阻。33886的额定电流为5A,IRF3205的额定电流为110A,可以提供很大的驱动电流。附录:软件模块简介我们的软件设计分为这样几个模块:方案设置模块、控制模块、检测模块、初始化模块方案设置模块:main.c文件,调用控制函数,设定控制参数,设置控制方案控制模块:Control.c文件,出口函数有void StabDetect(void);void RoadIdentify(void); void SpeedSet(void);void SteerCTL(void);void SpeedCTL(void);void MemoryFun(void); void MemoryDisposal(void);检测函数:Detect.c文件,出口函数有v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论