NXP智能车比赛AI电磁组的拓展性想法---仅供拓展思维使用

电磁训练数据的采集目前使用的AI算法都是属于机器学习的范畴,需要大量的数据对模型进行训练,以期获得合适的模型参数。现在还没有一个通用的方法获取训练数据集。现在大多使用一个配备了传统算法的小车,沿着赛道匀速运行,把电感采集到的数据以及该小车的舵机驱动信号收集起来,作为模型训练的数据集。小即车前伸出的部分为传统算法使用的电感,在收集数据期间前伸的电感用于导引车子沿赛道运行。但是收集了怎么使用这些数据,利用matlab对数据搭建神经网络,拟合出一个函数,输出舵机的偏移角度?今年智能车的题目加入了AI算法,着实令人头疼,下面由我来分析外面对人工智能跑电磁赛道的一些想法。

先来分析干扰电磁训练的一些要素:

问题一:理想环境与现实环境的差距

首先是不包含异常情况的数据。我们在实验时就遇到当小车依靠模型的输出运行时,由于误差的积累小车逐渐偏离了正常轨迹,因为训练时数据集中没有这样的情况,导致小车无法自我矫正而冲出赛道。

问题二:速度不可调

使用传统算法运行的小车来采集数据,面临的第二个问题是,小车的运行是匀速的,也就是说模型的训练中,速度是个常量,因此在训练之后模型的输出中也不包含速度的信息,这样小车在仅依靠模型运行时只能以匀速运行,理论上讲其运行速度只能低于训练时的速度,如果高于训练时的速度,则结果可能不可预料。

赛道的实际情况:赛道分为直道和弯道两种。验证AI算法是否可以用在智能小车的运行时,我们曾经考虑过不是让AI模型输出舵机控制信号,而是输出小车的姿态信息,简单地说就是“偏左”、“偏右”或“正好”这几种信息,然后再用传统的PID算法产生舵机控制信号控制小车的方向。在实际实现中,这种方法可能会有多种变化,例如按照车速或弯道曲率,可能需要有类似“偏左xx度”、“偏右xx度”等细分。当AI模型只输出姿态信息后,在产生控制方向变化的信号同时,可以按照不同的姿态调整车速以达到更精细化的控制,例如直道时可以提高车速,弯道上偏离中心线较多时减小车速等。假如有赛道地图的话,那么是否可以考虑基于这个地图的赛道进行训练,这样的话则可以突破弯道曲率半径的限制,甚至可以允许赛车根据自身特点,自行选择最优路径行进。再进一步设想(纯属瞎想),如果只给出磁场的分布地图(或是电磁线的布置图),在训练后可以通过AI算法给出小车在地图上的位置信息,然后按照另外给出的赛道信息自主地完成比赛。这种方法,去年北科大在赛道上已经实现,让车在赛道上跑,然后将赛道上的数据用上位机传输到电脑上,然后根据电脑上的数据搭建神经网络,拟合出舵机偏转的方向于速度之间的函数关系。然后再将车脱离传感器,盲跑,在全速前进的情况下获得了第一名。

可现实是我们难以做到完完整整的脱离速度传感器,摄像头来跑赛道。所以我们采用的方案是局部搭建神经网络,主要还是依靠传感器来进行判断。

                   NXP智能车比赛AI电磁组的拓展性想法---仅供拓展思维使用_第1张图片

下面列出我们小组的方案,具体如图所示:

我们对电感收获得到的磁场强度大小搭建神经网络,利用相似三角形的原理,我们可以估算出第八个电感(拟合出来的)处磁场强度大小,并将这个磁场强度大小作为我们小车舵机,与车速控制的主要手段。搭建神经网络的基本思路是这样的,最简单的想法是对电感1-7建立拟合。例如:

                                                                                

对系数建立数学模型分析,例如使用主成分分析法,因子分析法,灰色分析法等等方法。具体如何实现,就要等到下学期过来进行搭建了。

综上诸多方法,我们组自己讨论出的方案相对简单一些,相对于北科大所使用的方案可能性能方面存在很大的优势,但是通过上位机来来回回的发送数据难免过于复杂,繁琐。而且,完全依靠神经网络来跑赛道,风险还是很大,毕竟人工智能这一方面我们学校尚未开展,我们是第一届的探索者,所以我们的神经网络主要还是基于优化传感器的功能。毕竟跑电磁赛道主要是根据磁场的强度进行小车状态的判断,所以传感器的前瞻性就很关键,我们所使用的方法主要是用于传感器的优化。而对传感器的优化,可以利用几何方法,数学模型上的预测模型等等进行预算,估算。

你可能感兴趣的:(无线充电与comsol,人工智能,机器学习)