APP下载

一种基于双MCU架构的智能车自主控制系统设计

2019-07-12徐兆龙刘延飞王艺辉

电子技术与软件工程 2019年9期
关键词:舵机图像处理赛道

文/徐兆龙 刘延飞 王艺辉

随着电子信息技术的发展,机器人技术越来越成为现在社会发展的热点,智能车作为轮式机器人的一种备受社会的关注。而智能车在道路行驶过程中控制系统的稳定性和安全行走速度成为关键因素。随着道路信息复杂度的升高,单一控制器采集处理图像、识别赛道元素和执行控制等工作负担过重,较多的中断任务降低程序执行的效率,影响系统的实时性,以及道路行驶对智能车控制的精度要求越来越高,急需对控制系统的构架加以研究改进。本文设计的双MCU架构的智能车系统,实现智能车任务在每个MCU上合理分配,参数传递合理实时,充分发挥双MCU的资源优势,使得智能车道路行驶更加实时流畅。

1 系统总体方案设计

根据智能车在道路行驶中控制任务要求,设计的双MCU架构的智能车系统方案设计如图1所示,分为图像处理平台(MCU-1)和决策控制平台(MCU-2)。由于图像传感器采集有严格的时序要求,而且图像处理复杂程度高,所以设计图像处理平台(MCU-1)完成图像相关任务,主要连接有图像采集电路、人机交互电路和双机互联通讯部分;决策控制平台(MCU-2)主要完成与电机相关的各种,有道路规划、速度采集、电机闭环控制、信息显示和双机互联通讯部分。

2 双MCU构架智能车系统硬件方案

2.1 双MCU互联构架设计

MCU是智能车系统的核心,在本方案中采用恩智浦公司生产的32位单片机MK60FX,该型号芯片以ARM Crotex-M4为内核,功耗低,集成DSP指令和单精度浮点运算单元,可提供高达180MHZ的主频,同时具有GPIO、UART、I2C、SPI、ADC、DAC、DMA、PIT、FTM等丰富外设。

双MCU互联通讯采用SPI模块,即同步串行总线,可利用时钟线SCK、主发从收数据线MOSI、主收从发数据线MISO以及从机片选信号线CS实现四线全双工高速通讯,节约了MCU管脚资源,高通讯速率满足了数据流传输的需求。在双MCU核心实际搭建过程中,将图像处理平台(MCU-1)定为主机、决策控制平台(MCU-2)定为从机,相应的通讯连接方式如图2所示。

图1:系统总体框图

图2:双MCU通讯连接图

图3:系统软件总结构图

2.2 多路电源管理模块

稳定可靠的电能供应是智能车控制系统能够正常工作的基础和前提。利用7.2V镍镉电池负责系统的电能供应。在整个智能车系统中速度采集模块、蓝牙模块需要5V电源,利用TPS7350将7.2V电池电压将至5V供相应模块使用。MCU、图像采集模块、OLΕD显示屏需要3.3V电源,利用TPS7333将转换后的5V电源进一步降至3.3V。伺服舵机的响应速度直接影响到智能车的转向性能,为提高伺服舵机响应速度,利用LM1084并适当调整,供给伺服舵机6.5V电压。对于电机驱动电路中IR2104,利用MC34063进行7.2V至12V升压供电。

2.3 电机驱动模块

采用性能稳定驱动能力强的MOS管驱动,使得智能车在加减速方面的性能更加优越,并在输出端增加压敏电阻,防止电机瞬间换向产生峰值电压损坏其他芯片。其次利用74LVC245隔离芯片将MCU与驱动电路隔离,保障了MCU的安全。驱动模块接收MCU输出的两路PWM信号,实现对直流电机调速控制,通过改变两路PWM信号极性改变电机转动方向,并利用发光二级管进行正反转状态提示。

2.4 图像和速度采集传感器模块

图像采集模块使用灰度摄像头MT9V032。全局快门的特点使得智能车在高速行驶状态下图像不变形。同时具备自动曝光的能力,可根据外界光强自动设定曝光时间,增强了智能车对外界环境的适应性。

速度采集模块使用逐飞科技公司生产的Mini1024Z增量式编码器。输出数据为步进脉冲+转动方向模式。相比较于普通的光栅编码器,抗干扰能力强,可在多灰尘与潮湿环境下工作,能有效地避免电机工作产生的干扰。

3 控制系统软件设计

针对图像数据量大、处理过程繁琐耗时的特点,且智能车在高速行走过程对图像信息的实时性要求苛刻,遂对双MCU合理地进行任务规划:将图像的采集处理任务与决策控制任务分离开,双MCU之间采用SPI通讯方式;图像处理平台(MCU-1)可独立完成摄像头图像采集与处理,人机交互功能,可将图像处理的最终结果通过SPI传输给决策控制平台(MCU-2),决策控制平台(MCU-2)接收图像处理平台(MCU-1)的数据并进行校验分析,采集速度信息,结合PID算法实现对电机、伺服舵机的实时控制,具有较高的并行处理能力。双MCU智能车系统软件结构如图3所示。

3.1 图像处理平台程序步骤设计

图像处理平台利用场中断+DMA模式进行图像数据采集,并进行图像信息处理和双MCU通讯。

(1)初始化后采取DMA模式采集120X188的灰度图像,此DMA采集模式能有效降低单片机的工作负担,提高单片机的工作效率。

(2)将采集到的灰度图像进行基于动态阈值的二值化处理,将赛道与赛道背景分割开,采用逐行搜线方法获取赛道边线,方法是从图像最低行进行搜线,并记录赛道左右边界的位置,当进行下一行图像赛道边界提取时,根据上一行赛道左右边界的位置,动态地选择搜线的起始坐标,使得当获取某一行图像赛道边界时程序循环次数小于等于188,该方法优化了图像处理算法,提高了程序执行效率。

(3)由于赛道元素的不同,需进行图像有效区域的选择和边线的修补与校正,而后再进行赛道中线的提取。此外智能车需要在不同的赛道元素上做出有区别的控制策略,所以图像处理平台还需根据赛道元素的不同特征,进行赛道元素识别。

(4)将图像处理结果以数组形式通过SPI传输至决策控制平台。

3.2 决策控制平台程序步骤设计

决策控制程序主要由两个中断程序组成,一个是SPI中断,接收并校验图像处理平台的数据。一个是定时器中断,每2ms一次,完成伺服舵机控制、目标速度设定、速度获取、PID输出PWM。其中,在每一次定时中断中执行如下步骤。

(1)采集编码器脉冲计数数值,将该脉冲值作为实际速度,为速度闭环控制提供实际值Real。

(2)根据SPI中断中校验分析处理得到的数据,进行控制的目标速度设定,为速度闭环控制提供目标值Aim。

(3)速度PID计算见公式1和2,输出PWM控制直流电机,为防止控制量过大,导致电路或者电机烧坏,要进行PWM波输出限幅。

式中:Pre_error为当前k控制周期目标速度与实际速度的偏差;Last_error为k-1控制周期目标速度与实际速度的偏差;LLast_error为k-2控制周期目标速度与实际速度的偏差;Last_PWM为k-1控制周期PWM的输出量;PWM_OUT为当前k控制周期PWM的输出量。

(4)系统要求伺服舵机快速反应以适应高速转向的需求,所以伺服舵机采用位置式PD算法控制,去掉积分环节,减少系统滞后性。给出转向PWM数值,控制舵机转向。

4 结束语

本文设计了基于双MCU架构的智能车系统,并分别从硬件实现、软件实现的角度阐述了整个智能车系统双MCU架构的搭建、硬件结构组成以及软件的实现过程。该系统使用双MCU将图像采集处理任务与决策控制任务分开,利用SPI进行双MCU互联通讯,使得整个系统模块化,满足了智能车高速行驶下对图像信息实时性和精确控制的苛刻需求。经过初步调试,在模拟道路上速度可稳定在2.8m/s以上,证明双MCU构架具有较好的实用效果。

猜你喜欢

舵机图像处理赛道
自制冰墩墩不能滑出“法律赛道”
科创引领,抢跑新赛道
征服蒙特卡洛赛道
含齿隙弹载舵机的全局反步模糊自适应控制
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于dsPIC单片机的飞艇舵机控制实现
无人驾驶,先上赛道如何?
基于高速同步485总线通信的多通道舵机控制器设计
基于图像处理的定位器坡度计算