尽着自己最大的努力,不加班不快乐
扫描二维码
随时随地手机看文章
1.1 大赛介绍
全国大学生智能汽车竞赛是以“立足培养、重在参与、鼓励 探索、追求卓越”为宗旨,鼓励创新的一项科技竞赛活动。今年首次新增了电 磁 AI 组别,希望通过神经网络学习甚至超越传统的 PID 控制方法。
在这份报告中,我们小组对小车设计制作整体思路、机械、电路、电控、 神经网络几个方面进行了详细的介绍。
整体思路中主要概括了项目构建时的主 要核心思想,机械部分中主要阐述了小车的机械部分中主要阐述了小车的结构 设计,包含各部件的安装位置以及对车模的保护措施,电路部分主要阐述了小 车的电路结构设计为软件停工稳定输入与输出环境减少外界干扰。
电控部分主 要阐述了如何采用 PID 进行小车控制,包含舵机控制,差速控制,电机控制等。
神经网络部分主要阐述了如何采用神经网络学习小车控制方法,包含数据集制 作,电感位置分布,网络结构创新等。
虽说看似就是一简单巡线的项目,但是随着深入地进行研究,我们发现在 此之上可以用非常多方法大幅度提升巡线效果,比如可以通过无线串口进行 PID 远程调参,通过神经网络去自动地寻找较好的控制方法,通过陀螺仪和编码器 去记录整个赛道等等。
随着一步步地迭代,我们的工程越来越大,完成的功能 也越来越多,自然而然速度也在一点一滴地提升。
1.2 整体方案设计
本节主要简要地介绍智能车系统总体设计思路,在后面的章节中将整个系 统分为机械结构,硬件电路设计,传统 PID 设计,神经网络设计等四部分对智 能车控制系统进行深入的介绍和分析。
根据第十五届智能车竞赛规则,AI 电磁组比赛是在 PVC 赛道上进行,赛道 采用黑色边线引导。选手制作的车模完成赛道运行一周。车辆运行时间是从车 模冲过起跑线开始,到最后车模回到起跑线为止。赛道中存在的元素包括直线 道路、曲线弯道、十字交叉路口、环岛(可不进入)。
根据竞赛规则相关规定及以上任务要求,智能车系统采用大赛组委会统一 提供的 C 型车模,以恩智浦公司生产的 MIMXRT1064DVL6A 作为核心控制器,在 IAR 开发环境中进行软件开发。智能车系统检测电磁场信号为基础,通过单片机 处理信号实现对车体控制。通过编码器测速模块来检测车速,并采用 RT1064 的 输入捕捉功能进行脉冲计数计算速度和路程;电机转速控制采用 PID 控制,通 过 PWM 控制驱动电路调整电机的转速,完成智能车速度的闭环控制。
根据以上系统方案设计,赛车总共包括一下几个模块:
1.RT1064 单片机最小系统模块;2.电源模块; 3.电机驱动模块 ;4.传感器模块; 5. 无线串口模块; 6.编码器测速模块; 7.陀螺仪模块; 8.停车线检测模块; 9.人机交互模块。
▲ 图1.2-1 系统框图
机械设计中,我们需要考虑多电感的保护,转向机构设计,电路板放置, 车身强度等问题。
2.1 智能汽车车体机械建模
此次竞赛选用的是东莞市博思电子数码科技有限公司生产的智能车竞赛专 用模型车(C 型模型车),配套的电机型号为 RS-380,舵机的型号为 FUTABA3010。智能车的外形大致如下:
▲ 车模照片
2.2 转向机构设计
在调试过程中,我们发现原有的转向机构中舵机的转角与前轮的转角不为线 性关系,故尝试更改前轮转向机构为线性控制,但导致前轮转向时的响应时间 增长,转弯不及时。
最终我们使用了自制的舵机固定板与舵机转向套装,如下图所示。
▲ 舵机固定板与舵机转向套装
最终虽然控制仍不为线性,但做到了前轮转向的快速响应,转向机构整体如 下图。
▲ 转向机构
2.3 电路板放置
对于电路板排布,我们经过两次迭代,最终选择采用如下图所示的碳板作为 整体的支撑结构,使用 4 根铜柱与车模底盘连接,保证强度的同时,也能尽可 能地让车身更轻,从而有更为稳定的结构,且易于加装/拆卸长前瞻。
▲ 自制支撑结构
为了维持多个电感与车模之间固定的相对位置,我们将所有装有采集电感传 感器的电路板都安装在碳板上,同时为了操作、拆卸更加方便,我们将其他电 路板也固定在了碳板之上。
▲ 碳板固定
2.4 智能汽车传感器的安装
车模中的传感器包括有:速度传感器,车模姿态传感器(陀螺仪、加速度计), 霍尔传感器以及采集电感传感器。下面分别介绍这些传感器的安装。
2.4.1 速度传感器的安装
速度传感器使用了龙邱 512 线 mini 编码器,固定于车模的编码器位置上。
2.4.2 姿态传感器的安装
车模使用了 HWT101 旋转角姿态传感器,固定于电路板上,俯视位置处于车 模的中心处,保证检测数据的可靠性。
2.4.3 霍尔传感器的安装
车模使用了自制的霍尔传感器模块对终点线进行检测,其安装位置于车模最 前方的底板之上,使用热熔胶固定,如下图所示。
▲ 霍尔模块
2.4.4 采集电感传感器的安装
车模共使用了 14 个采集电感传感器,其中 11 个布置于电路板上,另有 3 个作备用。11 个位于电路板上的电感分 3 排摆放,第一排 7 个电感,第二排 2 个电感,第三批 2 个电感。为保护电感不受撞击损伤,为每个电感都加装了保护 壳,如下图所示。
▲ 电感安装
2.5车身强度
为了提升车身强度,除了支撑电路板的碳板以外,我们还在车模底部添加了 一块碳板,从而提升了车模的强度。为了避免碰撞与剐蹭,我们在车模的正前 面加装了防撞条。
2.6 轮胎处理
使用轮胎软化剂浸泡之后打磨并用硅橡胶粘合轮胎与轮毂。
从最初进行硬件电路设计时我们就既定了系统的设计目标:可靠、高效、简 洁,在整个系统设计过程中严格按照规范进行。
可靠性是系统设计的第一要求, 我们对电路设计的所有环节都进行了电磁 兼容性设计,做好各部分的接地、屏蔽、滤波等工作,将高速数字电路与模拟 电路分开,考虑到走线问题,设计为 4 个部分得 PCB 电路板,使本系统工作的 可靠性达到了设计要求。
3.1 电源管理模块
在考虑离比赛开始时间短的情况下,采用 RT1064 最小核心板,加快整个项 目的进度。在保证电压稳定驱动电流足够纹波小尽可能没有,用一片 LDO 芯片 LP38692MP-5.0 单独给最小核心板供电。
▲ 核心板供电原理图
一片 IDO 芯片 LP38692MP-5.0 给编码器、陀螺仪、无线串口、主板上的磁传 感器供电,一片 IDO 芯片 LP38692MP-3.3 给 OLED 液晶屏,起跑线检测模块供电, 一片 IDO 芯片 LP38692MP5.0 给外载磁传感器供电。通过引脚(图 3.1-2 中 PW_EN) 拉高给使能信号控制外设供电,保证核心板正常启动。
▲ 外设供电原理图
3.2 电机驱动模块
电机驱动使用芯片 BTN8982TA,搭建全桥驱动电路。该芯片正常输出电流可 以达到 50A,同时 BTN8982 的输出阻抗正常情况为 9 毫欧左右,阻抗越小,芯片 的发热量越小,功耗也就越小。从另一个角度看,该芯片内部集成了 H 桥驱动 器以及由 MOS 管组成的半 H 桥电路,设计简单,布局方便。
▲ 电机驱动原理图
3.3 舵机供电
比赛提供的舵机为 FUTABA3010,该舵机工作电压 4.0V-6.0V,工作时所需电 流为 175mA。为了保证舵机正常工作且不影响其他电路工作,为此我们采用线性 电源 LT1764 给舵机供电,该芯片输出电流可达 3A,此时压差为 340mV,输入电压范围广:2.7V-20V,输出电压范围为 1.21V-20V,输出电压与外部配比电阻有 关。
▲ 舵机驱动原理图
输出电压计算公式:
其中IADJ = 3uA,与其他变量有数量级差别,故忽略不计。所以此时计算出VOUT = 5.957V。
3.4磁传感器模块
磁传感器是电磁组小车最重要的模块之一,根据变化的磁场信号作出灵敏的 检测,车体在赛道上位置判断以及之后得控制起着至关重要的作用。本系统根 据 LC 谐振的原理,选取 10mH 电感和 6.8nF 电容作为 LC 谐振电路,产生感应 电流,再通过滤波、放大、检波,然后将结果送入单片机 AD 进行相应的处理, 以判断赛道当前信息。后级放大电路原理图所示。
▲ 采集级放大电路原理图
3.5 无线串口模块
使用逐飞的无线 USB/无线转串口模块套件,实现实时主机与核心板通信, 可以传回神经网络需要的训练数据,同时也可以实现遥控车无线更改参数等操 作,大大节约了时间。
3.6 编码器测试模块
本小车使用龙邱智能科技的 512 线 mini 型编码器进行小车的测速,工作电 压在 3.3V- 5V。处理器通过读取编码器脉冲数来实现小车速度的测, 通过读取 编码器旋转方向脚的高低电平来检测电机的正反转。
3.7 陀螺仪模块
采用 HWT101 旋转角姿态传感器,内部集成姿态解算器,配合动态卡尔曼滤 波算法,能准确的得出当前姿态,姿态测量精度静态 0.05 度,动态 0.1 度, 稳定性极高,用于神经网络的记忆之中。
3.8 停车模块选型
起跑线处布有磁铁表面磁场强度为 3000-4000 G,针对磁场强度和车速两个 条件下不断尝试不同霍尔元件型号如 SM351LT,SS41F,DRV5055,HAL145 等, 在最后根据车速和检测准确率我们选择 HAL145。
这是一种全极性霍尔开关。当 霍尔开关在磁铁上方时, 霍尔开关输出低电平,单片机检测到低电平引发单片 机中断。单个霍尔开关的 电路原理图如图 3.2.6 所示。
▲ 霍尔开关原理图
3.9 人机交互模块
为了方便调试,本车有无线串口模块,有效进行运行参数之间的传送,除此 之外,还设置了键盘、OLED 液晶显示屏,以方便控制参数的修改,便捷的智能 车的调试。
传统 PID 控制部分,我们需要考虑基于电感电压的数据,控制舵机转向和电 机转速。另外,我们加入了陀螺仪和编码器对赛道进行建图,以期获得无限长 前瞻。
4.1 舵机转向控制
舵机控制中,我们的目标是通过改变舵机转向,让车子尽量地保持在赛道中 间。我们希望车身在赛道中间,即误差 Error 尽量地在 0 附近,当 Error<0 时, 说明车身偏右,需要舵机向左打角,同理当 Error>0 时,说明车身偏左,需要 舵机向右打角。
4.1.1 舵机转向偏差计算方案
4.1.1.1 差值法
差值法,顾名思义,通过左右电感的差值作为偏差对小车进行控制,符号判 断方向,大小作为控制量,这是我们最开始采用的控制小车的策略,这样的控 制策略能够在低速情况下满足控制要求,但是极不稳定,容易出界,经过数据 采集和可视化,我们发现这种策略所计算出来偏差并不是单调的,而是随着原 理赛道中线的距离增大先增,到达峰值,再递减,这也解释了当其远离赛道中 线后其控制量不足,导致车身出界的情况。
4.1.1.2 三电感控制法
在我们发现偏差不单调后,我们就想找一种控制策略来解决这个问题,我们 发现,差值法判断方向是比较准确的,所以我们保留了其方向控制策略,在两 个电感中间加了中间电感,以中间电感与其设定的最大值的差值作为偏差,这 种方案较好的解决了偏差不单调的问题,在前瞻比较长的情况下控制效果也很 不错,但后面我们发现神经网络不能很好的学习长前瞻所收回的数据的时候, 我们改用短前瞻进行数据收录,这时我们发现这种策略在转大弯时候效果不太 好,响应太慢跟不上,由于信号线的铺设问题,不同的直道,中间电感所能测量的最大幅度也不同,导致在 Error 在直道上不一定为 0,会产生舵机的震荡, 无法解决,因此也放弃这种方案。
4.1.1.3 归一化法
在我们发现三电感方案不能满足段前瞻控制需求后,我们和往届学长进行沟 通交流,他们提出归一化法方案,这种方案具体是用左右电感的差值比上左右 电感的和,我们尝试了一段时间后,这种方案确实是有一定的效果,控制作用 在大弯的时候确实是得到了增强,解决了三电感所存在的问题,但在我们加速 后,发现它和差值法存在同样的问题,计算出来的偏差不单调,所以在连续过 弯切边的时候,误差值会变小,非常容易跑飞出去,因此我们不得不寻找下一 种控制方案。
4.1.1.4 比值法
除了上面的方案,我们还尝试了各种各样的方案:比如放置斜电感、多个中 间电感模拟摄像头等等,最终我们选取了下面这种方案。
构建位置误差公式:
L:左边电感电压值 R:右边电感电压值
这种计算式其实也存在不单调的情况,但单调的区间很大,在赛道的约束条 件下完全满足要求,并且其对转弯比较灵敏,有效的解决了过弯的难题。
4.1.2 舵机转向控制策略
4.1.2.1 传统控制策略
此部分中,我们只采用了 PD 控制,因为车辆电感值在实时更新,需要进行 实时转向,因此不需要使用 I 控制。PD 控制中,P 为实时修改状态,而 D 是为 了修补 P 实时性的不足,达到提前的作用。另外,为了提升大弯转向的快速性 能和直道的稳定性能,我们通过 Error,划分了两组 PD,当 Error 较小时,认 为是在直道,采用较小的 PD 保证稳定性,防止震荡,当 Error 较大时,认为是在弯道,采用较大的 PD 保证快速转向。
▲ 舵机控制模型
4.1.2.2 控制策略探索
运用传统控制策略进行控制的时候,我们发现参数调节十分麻烦,而且适应 性不强,因此我们就想有没有一种方案能不能在一定区间自动调整 PID 参数去 适应不同的条件,我们查阅了相关文献,几乎都指向了模糊 PID 控制这一方向。
带着探索的心,我们去了解了模糊 PID 的相关理论,并试着写了一套模糊 PID 算法,发现这套算法调参难度并不亚于传统的 PID,但是适应性的确强了不少, 但这与我们想要简化调参过程的初衷并不一致,所以没有更深入的去探索。
后 面根据我们对问题的分析,我们发现舵机控制与当前偏差、偏差的变化率息息 相关,我们根据这两者的状态绘制了以下程序框图并实现:
▲ 模糊控制PID部分流程图
我们仅仅需要确定每次调整步长,我们就可以是 PID 在一个范围内进行变 动,满足不同情况下的要求。
4.1.2.3 控制策略展望
为了简化调参和增强适应性,在上一小节我们对控制策略进行了探索,但是还是逃不掉反复调参的过程,这个过程枯燥乏味又不得不做,我们就想能不能 有一套系统能够在调好一套参数的情况下,通过奖励——惩罚机制使其不断提 速,参数不断适应速度的改变呢?
我们就想用一个摄像头来捕捉车子在赛道上 的状态信息,建立一套奖励惩罚机制,当车子偏离赛道中央过大,说明参数不 太好,给与一定的惩罚,反之亦反之,然后车子缓慢的提速,参数不断适应车 速达到自适应的效果。
4.2 电机控制
电机控制中,我们使用 PID 控制电机的速度。另外,还需要由转向角度控制 电机差速,从而让车子更好过弯。
4.2.1 电机速度
电机转速控制中,我们不断地读取编码器返回的实际转速,与期望转速作差 得到 Error,我们希望转速能够快速跟随,即希望 Error 能够尽快地到 0。采用 最原始的位置式 PID 控制,加上积分抗饱和算法基本满足控制要求。
▲ 电机速度控制模型
4.2.2 电机差速
电机差速的和舵机转向相关,基于阿克曼转向模型,当舵机需要转向更大的 角度的时候,差速的值应该越大,以辅助车身更好的入弯。另外,我们发现车 身出界的情况大多数是在入弯的过程中,在弯道部分一般是不会出的。
为了实 现弯道加速的功能,我们也让其与舵机转向变化率相关,当转向变化率较大时, 即入弯过程中,速度降低,而当转向变化率逐渐变小时,即车身稳定后,则可 以提高速度。因此,我们的速度是由需要转弯的角度和转弯角度的变化率二者 共同决定。
具体的计算流程如下图:
▲ 电机差速控制流程图
由图中可以看到,当突然出现需要打一个比较大的角度的时候,速度会减下来,与此同时,由于突然产生了如此大的角度,方向变化率也会变大,从而让 小车顺利减速过弯。但是在过弯的途中,虽然角度仍然是比较大的值,可是方 向变化率在减小,从而可以让整体速度进行提升,最终达到过弯加速的效果。
4.3 记忆方案
通常我们使用电感等传感器实时检测到的信息作为判断依据来控制车模的 转向和加减速,在限制前瞻长度的情况下这样的实时判断相比于长前瞻就有严 重的滞后性,我们尝试不使用或少使用实时判断的信息进行控制。
我们先使车模在平稳状态下运行一段赛道,记录每个控制周期的陀螺仪 z 轴 转角与编码器数值,通过这些信息对赛道进行解算,将赛道元素分为三类:直 道、左转、右转,可以得到一个简化版的赛道数组(包含按顺序排列的赛道的 每个元素以及对应的直道长度或弯道角度以及弯道半径)。
▲ 某段赛道的结算数组及其图像
发现效果良好,尝试在第二圈时使用第一次运行时记录下的解算后的赛道信 息作为判断依据通过如下步骤控制车模运行(使用速度 PID 环作为内环、位置 PID 环作为外环对车模进行控制):
①进入直道后使用速度图像为抛物线的加速方式,加到设定的直道速度后匀 速运行;
②在直道中根据编码器的实时读数计算减速至设定的弯道速度所需的距离与车模在当前直道元素中已行进的距离,当减速所需的距离与车模进入下一赛 道元素的剩余距离相差很小时,使车模进行抛物线减速,在进入下一赛道元素 前就能减至设定的弯道速度;
③在弯道中根据弯道的半径控制前轮的转角与后轮的差速,并使车模匀速通 过弯道;
④重复①~③步骤;
⑤车模检测到终点线后停止运行。但由于备赛时间较短,未能完整实现上述控制方案。我们又尝试使用车模第一次运行赛道记忆的信息提升直道速度,只根据距离信息来进行入弯时的提前减速。
不过,我们发现直接加速会存在问题,车子变得非常不好控制,很容易冲出赛道,因此后面我们只是略微增大了一些速度, 但是增加电机的 I 项,从而让整体的速度进行提高。
神经网络控制部分,我们希望送入神经网络电感值,让神经网络输出舵机转 向值。
5.1 数据收集
数据收集部分,我们分别采用了长短前瞻的电感值电压输入作为 PID 控制, 进行数据的采集。采集过程中,我们使用无线串口进行上位机和 MCU 通信,通 过 python 写上位机。其中 pyserial 进行串口数据的解析,pygame 读取键盘命 令从而达到小车控制的功能。另外,我们采用了 Matlabplotlib 的包进行了多 种情况的可视化,便于进行分析。
另外,我们对车子进行了远程控制,通过串口,我们可以在上位机中实现控 制车辆启停,车辆加减速,车辆拐弯等功能,从而更好地收集数据。与此同时, 我们还通过远程串口,进行了 PID 参数的调节,从而大大方便了 PID 的调参过 程。
经过整理,我们发现这个环境中彻底验证了"Garbage in, Garbage out" 的说法,即数据好则神经网络效果好,数据不好,则神经网络效果很差。
我们 分别采用了长前瞻和短前瞻作为 PID 数据源进行车辆控制,然后在长前瞻 PID 中收集了长前瞻和短前瞻的电感数据,在短前瞻 PID 中,收集短前瞻的电感数 据,对这三种数据进行学习。
实验发现,当长前瞻跑 PID 时,长前瞻的电感送 入神经网络中拟合的很好,但是短前瞻电感值送入神经网络中拟合却不行。短 前瞻跑 PID 时,短前瞻电感值送入神经网络拟合很好。
因此实验结论是:基于 某几个电感进行 PID 控制,则采集对应电感值作为神经网络输入,神经网络的 拟合性能很好。
关于数据集制作,为了更好地收集数据,我们在上位机中远程控制车辆是否 发送数据,从而可以有针对性地在各个环境中进行数据制作。数据清洗方面, 因为串口发送的频率过高,存在了大量的数据是重复的,因此我们针对性地对 相邻两帧之间电感数据差距不算很大的进行了删除。
另外,为了适应不同的场 地,我们还进行了数据归一化的操作,每次启动车子之前,我们平移我们的车子,收取赛道中最大的电感值,然后所有的电感除以对应最大电感值从而获取 归一化后的电感值。
在数据采集的过程中我们发现了训练出来的模型效果不是很好,经过可视化 之后,发现靠近舵机的电感数据不稳定,即使开启了硬件平均也有很大的抖动, 这对于训练必然是不好的。
▲ 某电感滤波前的图像
在观察到这样的现象之后,我们决定加入软件滤波,对于这种数据抖动较大 的情况,最简单的滤波公式莫过于卡尔曼滤波,对于单片机性能的要求也最低, 在电感的采集过程中,只需要贮存上一个电感数据既可,下图为滤波之后的效 果。
▲ 某电感滤波后的图像
5.2 电感排布
电感排布部分,我们通过随机增加扰动的方式,寻找最为重要的电感。最终确定了 11 个电感排布的方案。假设有 3 个电感分别放置在车前左中右位置,前面的系数分别为 0.8,1.2, 0.8,则可列电感控制舵机的方程:
但是实际上,我们并不知道各个电感前的系数,因此假设为 A,B,C,直观 地,我们可以认为:某个电感前系数较大,则某个电感更为重要,因为他的对 舵机的影响更大。
虽然在神经网络中,每个电感与舵机输出并不是线性关系, 但是我们不妨假设:不同电感变化同一个幅度时,哪个电感能导致舵机变化越 大,哪个电感就是更为重要的电感。基于此假设,我们完成了电感排布的确定。
▲ 电感分布确定流程图
具体步骤如下:每次我们随机选择放置电感排布,通过神经网络收取数据进 行训练得到一个网络模型。然后,我们对收集到的数据添加随机扰动,从-0.1~ 0.1,分为 10 个范围,即-0.1~-0.08,-0.08~-0.06....0.06~0.1。
得到随机扰动的数据集之后,我们把原始数据的输出和扰动数据的输出(都 使用同一个网络)做差得到绝对值。如果某个电感的绝对值较大,则说明此电 感轻微扰动对网络输出影响大,是比较重要的电感。
基于此套方法,我们确定了 11 个电感的排布位置,下为某组数据扰动之后 的误差分布图。
▲ 电感误差分布
以第一列图片为例,第一列对应的是第一排最左边的电感,从上到下,分别 对应了施加扰动的范围为-0.1~-0.08,-0.08~-0.06.......0.06~0.08, 0.08~0.1。直方图代表了施加扰动前后输出的差的绝对值的分布。从图中我们 可以看到在中间部分的偏差靠近 0,而上下偏差靠近 1,符合逻辑。另外,横向 对比,我们可以看到,第 1,2,3,4,5,8,9 列的影响相对比较大,他们对 应了第一排左中右(1,2,3),第二排左右(4,5),第一排竖电感(8,9)。
5.3 网络结构
我们进行了大量的网络结构测试,由于 NXP 芯片所限,基本上只能够使用全 连接层。不过相比于直接送入电感值,我们将电感值和历史 10 次网络输出值(舵 机期望值)共同送入网络,从而相同网络结构(只有输入层不同)训练结果的 loss 从 0.04 降到了 0.02,网络跟踪的效果也变得更好。
另外,我们也发现,基本上的全连接层已经足够训练网络,网络的效果也是满足需求的。基于此我们尽可能地缩小网络大小,让速度尽快,最终的网络结 果为:
网络结果输入为 Nx21x1 的数据,(11 个电感和前 10 帧的舵机控制角度), 分别经过 Dense,BatchNormal,Dropout 等的操作,最终生成一个 1 维度的舵 机值,即为目标输出,网络结构图如下。
▲ 网络结构图
电路部分尝试过为软件增加电机的电流环,但由于 AI 电磁要求的磁传感器 过多,芯片 ADC 引脚比较紧张,最后没有落地。鉴于 AI 电磁本身的特殊性—— 对磁传感器位置的严要求,电路部分将用于 AI 的磁传感器分割到单独 PCB 板上, 确保位置固定,车与车差异小,算法可以移植,与机械部分一同做好电感保护。
机械方面,使用碳板制作的顶棚搭载多个电感,增强了电感数值的可靠性 电控方向,我们采用陀螺仪和编码器进行了全地图的绘制,然后针对直道进行了二次加速。
神经网络方向,我们将历史的舵机控制值送入神经网络,大大提升了网络的 效果。
从机械到电路再到电控和神经网络,我们搭建了一个完整的车子。对车子进 行稳定性测试,算法迭代优化,我们才算是真正地完成了一个项目。小组成员 每个人都尽着自己最大的努力,不加班不快乐,没成果没休息逐渐成为我们的 常态。这一次的磨砺,所有的队员都有了非常大的进步,与此同时,我们也收 获了一份友谊。
另外,感谢学校对我们的支持,在疫情期间仍然全力支持我们。感谢组委会提供的参赛机会。
[1] 卓晴,黄开胜,邵贝贝等,《学做智能车——挑战“飞思卡尔”杯》[c].北京:北京 航空航天大学出版社,2007.
[2] 谭浩强,C 语言程序设计[M],北京:清华大学出版社,2005.
[3] 王宜杯,嵌入式系统原理与实践:ARM Cortex-M4 Kinetis 微处理器,北京:电子工业 出版社,2012.
[4] 陶永乐,新型 PID 控制及其应用(第二版),北京:机械工业出版社 [5] 李发海,王岩等,电机与拖动基础,北京:清华大学出版社
[6] 胡寿松,自动控制原理(第六版),北京:科学出版社
1.软件开发平台:KEIL
▲ 软件开发平台 KEIL
2.神经网络 h5 文件转换工具:
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!