电磁智能导引

昨天下午,北京科技大学智能车队领队绳浩兵和杨昆汉(音)给我发送过来他们采集到智能车在赛道上运行时的电磁传感器的采集数据。这是他们应我们的邀请协助我们进行智能车控制赛题协作研究的工作。

电磁智能导引

北京科技大学智能车队领队绳浩兵,杨昆汉(音)

计划下一届比赛中,将增加两个赛题组,使用摄像头和电磁传感器,通过人工神经网络的训练完成车模运行控制。这次实验是尝试基于电磁传感器的机器学习算法。

用于训练电磁场控制算法的数据一方面可以通过数值仿真完成,另一方面也可以通过实际电磁场采集来实现。无论是训练还是验证,最终的实际电磁数据采集是必须的。

电磁智能导引

车模上七个电磁传感器的位置

他们一辆光电四轮车模上,临时增加了中间电磁传感器,总共有七个电磁传感器接收电磁车运行时周围电磁场的信息。

车模使用安装在上面的摄像头完成赛道导引,分为快速和慢速运行一圈。采集的数据除了七个电磁传感器之外,还包括有车模舵机控制量的信息。

赛道上包括有今年比赛的大部分的赛道元素。数据采集的场景如下:

采集电磁信号过程

在采集过程中,摄像头的二值化的图片信号还通过无线传输到上位机进行显示。

电磁智能导引

摄像头返回的赛道二值化图片信息

车模舵机控制数值与采集到的电磁信息同时进行记录。这将会为机器学习控制算法提供期望输出信号。

在数据采集中,舵机输出采集时间值没有与电磁数值同步进行存储,采集时间间隔并没有同步。这需要通过后期时间插值完成数据对准。

电磁智能导引

舵机控制信号

采集到的七个电磁通道的数值如下图所示:

电磁智能导引

七个电磁通道的电磁数值

下面是希望通过建立一个神经网络模型,可以完成从输入到输出控制的映射关系。

如果仅仅是通过每一时刻的电磁信号数值来预测舵机控制量,这不会充分发挥大数据的能力。所能够达到的控制效果和简单的控制编程应该没有太大的区别。

电磁智能导引

七个通道电磁数值

所以不仅需要利用到每一时刻的七个通道的输入电磁数值,还需要利用信号的时间序列中的特征,挖掘出赛道的拓扑结构信息,这样便可以完成更加精确的预测控制特性。

由于前面采集到的数据是车模正常运行在赛道上的情形,采集到的数据也只是车模在赛道中心位置上的数据。如果只是使用上述采集到的数据完成车模控制学习,还无法推广到车模赛道边缘时的控制情形。

电磁智能导引

采集车模在不同赛道位置不同方向上的数据

为此还需要给控制算法模型提供车模在更多姿态下所能够采集到的电磁数据。

理论上讲,在赛道的二维平面上,车模不同的方向所能够采集到的数据是三维信息。建立车模位置、方向与车模控制之间的关系所需要的数据是非常大的。通过常规的采集往往无法得到整个空间上的数据信息。

电磁智能导引

七个通道下的电磁信息

为此还需要能够建立起赛道磁场信息到赛道拓扑结构的理论模型,通过反演,利用数值计算的方式可以获得训练控制模型所需要的大量数据。

在未来的车模电磁导引控制编程中,也许将不再使用人工调参的方式完成车模赛道运行控制。只要将车模的运动控制和信号采集电路搭建好,剩下的就交给车模自动完成数据采集和控制学习了。

在智能车模中引入人工神经网络实现智能控制,现在剩下一个问题,就是如何在MCU中部署已经训练好的网络模型。

电磁智能导引

这方面来自NXP公司的宋岩近期将会发布NNCU(NN toolket for MCU )工具包,可以方便在NXP Cortex-M ,i.MX-RT , LPC 等系列的单片机中加载训练好的网络模型。

这方面的内容将会在之后陆续进行介绍。