查看: 1715|回复: 1

基于i.MX RT电磁智能车AI算法的一些讨论

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3315

    主题

    6570

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32237
    最后登录
    2024-5-13
    发表于 2019-12-17 10:31:42 | 显示全部楼层 |阅读模式
    13.png
    上周卓老师在他的公众号中发表了一篇推文——“基于RT106x电磁智能车AI算法”,介绍了恩智浦的工程师是如何利用AI算法,实现了基于电磁检测的智能车循迹运行,并确定将此列为2020年智能车竞赛的比赛项目之一,即室外电磁组。
    该文发布后得到了热烈的反响,也有专家提出了一些问题,典型的是适应性问题,如下:
           1.是否能适应不同强度的电磁信号?如果是在一定范围内随机波动的电磁信号可以适应么?
           2.对于更换赛道铺设情况是否可以适应?如果是赛道场地有磁导率变化的情况(例如有钢筋、管道)是否可以适应?
           3.对于更换电磁传感器、放大板的情况,是否可以适应?只能是训练的车和实际跑的车为同一辆么?

    也另外有专家针对这些问题提出了自己的看法:

    首先,训练集测试集等数据本身就是符合高斯分布并非一成不变,所以学习出来的网络会具有一定的鲁棒性,没有想象中那么脆弱。当然网络训练的结果具有随机性,可能同样的数据集训练出来,这一次鲁棒性强,下一次就不大行了,所以比较保险的做法是把能想到的情况尽可能的加入训练集测试集中。
    不过我比较担心的是,长前瞻能带来速度的提升是因为取得了超前的信息,短前瞻则无法做到,神经网络虽然能做一定的补偿,但是并不能未卜先知。

    从网络训练原理来看,这个补偿不过是所谓的“经验主义”,这种网络输出的判断更多是基于我曾经过的数据可能未来需要什么样的转向信息做出一个概率性的预测,这种预测是基于已知赛道元素出现的位次概率信息的,如果将赛道完全更换,网络是否还能取得理想的效果?我们有没有在网络判断明显失误达到极限情况时强硬纠正的保险措施?

    在此,我想分享一下我们在进行相应的测试和实验过程中,所遇到的问题和相应的思考。

    电磁训练数据的采集

    目前使用的AI算法都是属于机器学习的范畴,需要大量的数据对模型进行训练,以期获得合适的模型参数。现在还没有一个通用的方法获取训练数据集。
    目前我们是使用一个配备了传统算法的小车,沿着赛道匀速运行,把电感采集到的数据以及该小车的舵机驱动信号收集起来,作为模型训练的数据集。
    下图为用于数据采集的小车,红线框处的7个电感用于数据采集,小车前伸出的部分为传统算法使用的电感,在收集数据期间前伸的电感用于导引车子沿赛道运行。
    14.png
    问题一:理想环境与现实环境的差距
    这种方法面临两个问题,首先是它不包含异常情况的数据。我们在实验时就遇到当小车依靠模型的输出运行时,由于误差的积累小车逐渐偏离了正常轨迹,因为训练时数据集中没有这样的情况,导致小车无法自我矫正而冲出赛道。
    针对这种情况,我们在采集训练数据集时,通过随机地对舵机信号添加干扰,有意让小车跑偏,再让它依靠传统算法自我纠正回来,这样就可以采集到小车跑偏后恢复姿态的数据了。这种方法是否能涵盖足够多的异常情况,还有待更多的实验进行检验。
    问题二:速度不可调
    使用传统算法运行的小车来采集数据,面临的第二个问题是,小车的运行是匀速的,也就是说模型的训练中,速度是个常量,因此在训练之后模型的输出中也不包含速度的信息,这样小车在仅依靠模型运行时只能以匀速运行,理论上讲其运行速度只能低于训练时的速度,如果高于训练时的速度,则结果可能不可预料。
    改善这个问题的一个方法是,在采集训练数据时,能够让小车在传统算法下有速度的调节,同时把速度信息也作为训练数据输入进模型中,模型的输出则同样包含速度信号。
    把速度信息引入训练模型,可以实现小车在直道上加快速度,在弯道上减慢速度的变化,有可能提高整体的运行速度。

    其它的训练数据采集方法

    前面介绍的方法,也是目前我们所使用的方法,是使用一部依据传统算法,可以正常沿电磁赛道运行的车子,通过跑圈来采集训练数据的。

    这种方法的好处是,可以在已有基础上快速地改造现有小车并采集到实用的数据,但也存在诸多的问题:

    对于新手来说,如果没有现成可以跑的电磁车,则还要先做出传统算法能跑的车子。

    用AI模型驱动的车子,不能跑出比已有电磁车更好的成绩。

    需要车子实地跑圈,并能够跑出或模拟出足够多的非正常姿态,以期得到更实际的数据。

    对于前两个问题,可以考虑使用现成的光电车,经过改装后进行数据采集。由于光电车具有更远的前瞻,也许可以训练出跑得更快的模型。

    笔者还曾经设想过另外一种方案,制作一个轨道,由外力推或拉着小车沿着电磁赛道跑,这样应该也能获得有效的训练数据。但车速如何掌握,车子跑偏再进行矫正的训练数据如何取得,都需要经过实验迭代才能获得有实用价值的结果。

    当然,为了锻炼身体,用人力拉着小车或推着小车在赛道上跑,则是最节省成本的一种方法-

    依据以上原则,相信各参赛学校的同学们,还可以想出更好和更实用的方法来。

    模拟的数据集

    对于上述第3个问题,卓老师曾经提出过是否可以用公式计算,得到一个三维的电磁场强度分布图,利用算法使用这个数据集计算出各个电感的取值,再人为地叠加上舵机驱动数据和速度数据,得到一组组的数据训练AI模型。

    该方法的好处是可以获得小车处于各个位置和各种姿态下的数据集,但舵机和速度数据需要另外的算法计算并叠加进去;还有一个大问题就是要把每个电感的误差叠加进去,由于各个电感和其附属电路的一致性问题,由此引出的误差恐怕只有通过实际测量才能准确得到。

    关于训练数据采集的进一步思考

    我们先看看下图,这是每届竞赛规则中关于赛道尺寸、形状、间距的描述:
    15.png
    从这里我们可以清楚地知道,赛道分为直道和弯道两种,而弯道的曲率半径也做了限制,因此可以大胆地想象,我们只需要训练车子在以下几种情况的表现即可:

    直道上
    直道进入弯道
    在弯道中
    弯道曲率产生变化
    离开弯道进入直道
    如果要再精细化地划分,还可以按照小车可以适应的误差范围,按不同的曲率半径划分弯道种类。由于场地面积的限制,赛道的曲率半径不可能太大,这实际上就限制了弯道的种类。

    设想如果按照上述分类进行训练,是否可以更有针对性,又可以节省很多时间呢?这也有待同学们去发现。

    电磁数据采样一致性问题

    由于元器件生产的环境、原材料和批次等原因,在相同的电磁环境下采集到的数据可能会有较大的差异性,这就是所谓数据一致性的问题。

    如果不能很好地解决这个问题,可能会造成采集到的数据集严重依赖所使用的那一组器件,当某个器件损坏需要更换时,已采集到的数据集不能再用了。这个问题的一个典型的例子就是,在A车上采集数据训练出的模型,不能在B车上运行。

    为了消除这一影响,可以考虑对采集到的数据进行标定和数据归一化处理。但是这个归一化的处理并不好做,需要比较专业的设备和技能,也许正好可以催生一个新的商机呢-

    有没有混合方案呢?

    到此为止,本文讨论的方法都是基于由AI模型接收电磁传感器的信号,经过计算输出舵机信号直接驱动舵机,即对于小车方向控制的策略完全由AI模型决定,如下图示意:
    16.png
    图中蓝色虚线框里的部分是训练数据集。

    基于AI算法的特点,小车很难跑出比训练时更好的成绩,而且如果在比赛中遇到训练中没有遇到的情况,基本上无法在现场再次训练或调整参数而获得好的成绩。
    那么是否可以有更好的方案呢?
    在验证AI算法是否可以用在智能小车的运行时,我们曾经考虑过不是让AI模型输出舵机控制信号,而是输出小车的姿态信息,简单地说就是“偏左”、“偏右”或“正好”这几种信息,然后再用传统的PID算法产生舵机控制信号控制小车的方向。

    在实际实现中,这种方法可能会有多种变化,例如按照车速或弯道曲率,可能需要有类似“偏左xx度”、“偏右xx度”等细分。

    当AI模型只输出姿态信息后,在产生控制方向变化的信号同时,可以按照不同的姿态调整车速以达到更精细化的控制,例如直道时可以提高车速,弯道上偏离中心线较多时减小车速等。

    假如有赛道地图

    假如有赛道地图的话,例如组委会提前发布比赛时的地图(例如标准的马拉松比赛和F1方程式赛车等都是提前给出地图的),那么是否可以考虑基于这个地图的赛道进行训练,这样的话则可以突破弯道曲率半径的限制,甚至可以允许赛车根据自身特点,自行选择最优路径行进。

    再进一步设想(纯属瞎想),如果只给出磁场的分布地图(或是电磁线的布置图),在训练后可以通过AI算法给出小车在地图上的位置信息,然后按照另外给出的赛道信息自主地完成比赛。

    结语

    使用AI算法来驱动电磁循迹小车的运行还是一个新的课题,由于各种因素的交织混合影响,目前大家会有诸多的疑问,同时由于时间的限制,我们也不可能去验证所有的变化。

    但是组委会决定引入AI算法,让同学们能够在竞赛这个平台上学到最新的技术和手段,无疑是一个正确的决定,相信各校的老师和同学们一定能想出各种好办法,克服种种没有遇到过的新问题,取得更好的成绩。






    者:梁平                              文章出处:恩智浦MCU加油站

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 1338 天

    [LV.10]以坛为家III

    88

    主题

    4296

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9071
    最后登录
    2024-5-13
    发表于 2019-12-17 17:53:50 | 显示全部楼层
    这个车是真好啊
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-13 17:04 , Processed in 0.109436 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表