APP下载

基于北斗系统的自动驾驶实验平台

2021-12-14张昕

科学技术创新 2021年34期
关键词:开发板控制算法小车

张昕

(东北石油大学秦皇岛校区,河北秦皇岛 066000)

1 背景

北斗系统从问世开始,就被应用于各种研究与应用领域,自动驾驶领域是北斗系统比较早期的应用之一,但是自动驾驶领域在不同的场景中会根据不同的控制策略搭建各自控制系统架构。如在公路上自动驾驶车辆速度较快,考虑系统的硬件水平与反应速度,会考虑采用大数据结合人工智能算法进行车辆的行驶控制。这种控制系统,硬件投入很大,控制策略复杂,对网络传输带宽的服务质量要求很高。而对一些园区物流送货车的控制,考虑车辆行驶速度不高,每天行驶路线固定,考虑成本因素,很多情况下可以绕过北斗定位系统,采用车辆的循迹移动控制。在农机设备自动行驶控制领域,农机设备的行驶速度比较低,场地虽然复杂,但有规律可循,因此需要有针对性的在北斗平台中开发农机设备的控制算法,与此类似的还有一些矿山的工程设备。

综上所述,每种场景的特殊性决定了采用的车辆自动行驶算法不尽相同,而且目前新的自动驾驶控制算法不断出现,也不断改良,自动驾驶控制系统的架构不断更新,研究起来也需要不断进行组合,实验平台的搭建比较困难。针对这种状况,本文研究并实现了一种在儿童电瓶车基础上进行改进的自动驾驶算法实验平台,在此平台上可以验证自动驾驶控制算法的原型。

2 硬件实物

儿童电瓶车(12V 供电)、角度传感器、电机驱动板、陀螺仪(车身姿态感知)、ARM 开发板、北斗卫星天线、北斗卫星接收器、北斗卫星基站。

3 实验平台的搭建

首先改装儿童电瓶车的转向,改装转向结构(图1),采用电机控制车辆方向盘下面的转向柱。加装角度传感器反馈车辆前轮的角度,仰角俯角等状态的感知采用陀螺仪(图2)组件进行反馈,陀螺仪安装在车身内部,要求一个水平平面的安装空间如车座底部的平台。

图1 转向结构及角度传感器

图2 陀螺仪的位置

通过北斗卫星定位系统可以获取到经度纬度和海拔高度等信息,在本硬件平台中只用到这三个参数。整个北斗卫星定位部分由三个部件构成:北斗卫星定位基站,北斗卫星接收器和北斗卫星天线。其中,北斗卫星基站和北斗卫星接收器之间的数据传输通过接收天线完成,采用无线通信,北斗接收器与ARM 控制板之间通过RS-232 串口进行通信。

在硬件平台的搭建过程中,可以根据不同的定位算法对平台进行搭建。一般在定位精度要求不算高的情况下,可以采用北斗卫星基站,通过天线和车载接收机获取北斗系统卫星定位的参数,从而实现按照设定好的控制算法自动行驶,误差会根据实际情况,根据所处地域和当时的天气状况有所不同,一般定位精度会高于米级精度。

如果要求定位精确度较高,则需要考虑采用RTK 算法。在小车上安装两个相距一米左右,且连线与车身垂直的接收天线,在此种情况下,北斗卫星定位基站将作为整个自动驾驶系统的基础,北斗卫星定位基站的覆盖范围大约5 公里左右,且固定不动,车载接收机和天线在获取到卫星信息之后,会同基站进行再次的校准,从而抵消卫星定位系统误差,能够实现更高的定位精度,目前最高可以达到厘米级的定位精度。

车载北斗系统的安装如图3 所示。在车尾方向看,车载北斗接收器上连接两个北斗定位天线,并置于车体内部,两个定位天线要求处在同一平面上,并与车头到车尾的连线体垂直,最好以车体中线为对称轴,分居两侧。由于实验小车宽度较窄,所以天线安装在最外侧。两个天线距离大约为0.6 米,可以实现RTK 算法,达到厘米的定位精度。

图3 车载北斗系统安装图

定位系统通过串口通信将定位信息传到ARM 开发板,然后通过控制算法对车辆进行控制。其中ARM 开发板需要连接一块电机的驱动控制板,控制车辆的转向电机,通过角度传感器感知车辆的转弯角度和半径,通过陀螺仪感知车身姿态,根据对北斗定位信息和车辆实际行进的状态控制车辆的行驶轨迹,使整个实验平台运行起来。实验平台结构如图4 所示,在设计好控制算法之后,通过对ARM 开发板编程。可以根据小车的行驶状态进行各类控制算法的横向评测,对控制算法进行改良。

图4 实验平台结构图

4 实验平台的意义与展望

本实验平台主要应用在教育与科研方面,成本不算高,可供学生按照教材中的内容进行经典控制算法如PID 算法的编程,然后将程序移植到ARM 开发板中进行实验和修改,最终通过电瓶车的行驶轨迹进行验证。也可以用来验证更先进的车辆自动行驶控制算法,如采用预测、模糊、迭代学习等算法实现运动车辆的高精度路线追踪控制。以便于科研人员对前沿的控制算法进行改良与创新。图5 为在该平台实验下仿真PID 算法对小车行驶的控制框图。

图5 通过PID 控制算法对小车行驶控制框图

首先通过北斗定位系统获取小车当前的位置信息作为原始参数。之后,根据陀螺仪对车身状态的感知,考虑车身的仰角俯角等信息,对小车的具体位置信息进行矫正,这个操作主要考虑提高小车控制的精准度。根绝小车下一个目标点,采用PID算法根据已知参数进行控制指令的运算。将指令发送至转向电机,进行车辆行驶的轨迹控制。同时,通过获取角度传感器的反馈信息,根据实际距离目的点的偏差,进行控制指令的运算。循环上述PID 控制过程,直至小车到达目的点。

目前本实验平台主要瓶颈在于12V 的儿童电瓶车不能体现较高速度自动行驶控制算法的真实情况。

不同的ARM 开发板可以支持不同的功能,如果换上比较高端的ARM 开发板,可以实现更多的功能仿真,例如加装雷达或者红外探头,可以进行车辆简单避障算法的测试。加装摄像头之后,可以结合人工智能和大数据算法进行机器学习,实现对周边物体的感知和判断。加装安卓屏,通过对安卓屏进行开发,实现人机交互功能,对自动行进的小车进行更多的参数控制,提供更多的控制选项;借助4G 或5G 通信甚至可以实现目前主流的车联网架构,通过车联网体系,进行公路无人驾驶方面的尝试。

猜你喜欢

开发板控制算法小车
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
基于Backstepping的非线性无人船航向控制算法
大车拉小车
基于STM32H7的FDCAN通信系统设计与实现∗
刘老师想开小车
两轮自平衡小车的设计与实现
高精度位置跟踪自适应增益调度滑模控制算法
开发板在单片机原理及接口技术课程教学中的应用
去修理厂
ABS自动优化控制算法及应用