基于STM32微控制器的扫地机器人控制系统硬件架构设计

2022-03-07 13:36杨林超张新锋李超王岩
粘接 2022年1期
关键词:激光雷达单片机

杨林超 张新锋 李超 王岩

摘 要:针对工厂室内复杂情况下的清扫需求,设计了机器人控制系统硬件架构,采用激光雷达及双目摄像头定位与融合控制算法相结合规划机器人行走路径,提出了以STM32F407单片机为控制核心、多传感器融合的扫地机器人控制系统,能够实现机器人按照划路径进行作业,并对障碍物进行自主检测及自主避障,研究了扫地机器人工厂室内环境下的自主行走等问题。在自主作业的基础上,增加了软件抗干扰控制技术,解决机器人无法进行判断的情况,提高了系统运作的稳定性以及安全性,实现复杂环境的巡回作业。

关键词:单片机;自主定位;激光雷达

中图分类号:TP391.41       文献标识码:A文章编号:1001-5922(2022)01-0106-05

Hardware architecture design and control system of sweeping robot based on STM32 microcontroller

YANG Linchao1,ZHANG Xinfeng1,LI Chao2,WANG Yan2

(1.Nanyang Cigarette Factory,Nanyang 473007,Henan China;

2.Henan Central Line Electronic Technology Co.,Ltd.,Zhengzhou 450003,China)

Abstract: AbstractIn this paper,according to the needs of cleaning under complex situation in the factory,the hardware architecture of robot control system was designed.The walking path of the robot was planned by the combination of radar and binocular camera positioning with fusion control algorithm,this paper put forward a new control system based on the control core of STM32F407 and multi sensor fusion sweeping robot.The robot was able to follow the path for its work and automatically detect and avoid obstacles.It also studied autonomous walking in indoor environment of factory for floor sweeping robot etc.On the basis of autonomous operation,software anti-interference control technology was added to solve the problem that the robot couldn′t judge.It improved the stability and security of the system and realized the tour work under complex environment.

Key words: single-chip microcomputer;automatic positioning;laser radar

现代科技的飞速发展,使人工智能与人类生活、生产结合程度越来越紧密。工业机器人的出现便是其最具代表性的结果之一。现代工业机器人是一种基于机器视觉、传感器和先进算法的现代工具,能够极大地降低工业生产、百姓生活中的人力成本。扫地机器人是一种家用机器人的典型代表,能够在居家环境下自动对房屋内部地面等进行清扫,具有高度的灵活性。

扫地机器人的主要功能设计在于机器人自主寻路、自动规避障碍等,是一种非常典型的自动化、智能化机器人。现代扫地机器人通常由硬件本体、软件控制系统、智能传感系统以及伺服驅动系统组成,其中,软件控制系统是扫地机器人开展工作的核心。本文以扫地机器人为例,设计了一种基于STM32F4系列单片机的扫地机器人系统,对机器人的控制系统硬件架构设计进行研究,旨在优化该类型机器人结构,为扫地机器人产业发展提供借鉴。

1 总体设计方案

本文选择了32位低功耗的STM32F407单片机作为本次设计扫地机器人伺服控制系统软件主控CPU。该单片机以ARM Corex-M7为内核,具有工作主频高、可超频、运行速度快以及指令集简单等优势。该单片机在进行大量浮点运算时能够获得远高于一般非FPU 芯片的计算效率。同时,该单片机的操作指令较为简单,并不需要像其他类型单片机一样必须遵循IEEE 745 标准进行严格的浮点运算指令编码制定,而是仅需几条简单的操作指令便可完成运算,在融入DSP(Digital Signal Processing,简称DSP)指令集的基础上大幅提升了单片机的运行效率。

STM32F407系列单片机可以对扫地机器人伺服控制系统每个模块进行单独的控制。例如,STM32F407系列单片机可以对系统时钟电路和复位电路进行单独控制,不受系统整体约束;其单片机可以对电源模块进行单独控制,决定是否进行系统供电,是否选择关闭某些模块工作等。此外,STM32F407系列单片机还可以通过控制电机驱动模块内部电路的通断进而控制扫地机器人4个车轮中的某一个轮或某几个轮的前进、后退等功能,用以完成扫地机器人的前进、后退、转弯等功能。STM32微控制器扫地机器人控制系统如图1所示。

1.1 信号检测模块

由图1所示,信号检测模块由激光雷达模块、超声波模块、水位检测模块、转向编码模块、双目摄像头模块、陀螺仪模块、触摸屏模块等,分别用于扫地区域地图搭建、避障、水量检测、转向角度检测等,以完成机器人所需信息检测综合控制,然后按照规定的区域自动完成扫地功能。

激光雷达模块的主要作用,是对扫地机器人每一帧扫描过程中的图像反映出的机器人姿态进行捕捉。当扫地机器人前端传感器获取所处地区的地图概况以及机器人的姿态信息以后,后端会根据前端所给出的激光雷达数据进行不断的修正处理地图信息等,以便在不断的修正完善中获取全域地图。

超声波模块采用IO口TRIG触发测距,通过测距结果给STM32模块提供至少10 μs的高电平信号。之后,超声波模块会向STM32模块自动发送8个60 kHz的方波,系统则通过自动检测模块自动对返回信号进行处理;若有信号返回,则继续通过超声波模块中的IO输出一个至少10 us高电平。其中,TRIG触发测距=(高电平时间×声速)/2,声速为340 m/s。本模块使用方法简单,通过该方法不断重复地进行周期测距,即可以达到扫地机器人移动测量的值。

双目摄像头模块采用Digilent公司出品的VmodCAM摄像头模块。该模块上搭载有两个Micron公司的MT9D112 CMOS图像传感器(本系统中用到1个)。该传感器最高支持1 600×900分辨率,采用IIC的配置协议,并且内置PLL锁相环,能够产生严格精准相位的控制时钟,达到高速高精度的目的。

陀螺仪模块,陀螺仪是一种能够对运动物体的运动方式、运动距离等进行精准定位和控制的现代精密仪器。陀螺仪在手机、航空、现代工业中的应用程度极为广泛,是一种常见的惯性导航仪器。本文中的陀螺仪模块主要采用MPU6050模块制备而成,具有结构紧凑、灵敏度高等优点。系统工作室,陀螺仪模块中的MPU6050模块会自动搜集扫地机器人工作状态的原始运动数据并对运动数据进行角度化转化,得到扫地机器人的立体运动坐标。

本文所使用的陀螺仪采用MPU6050模块,当得到MPU6050的原始数据时,接下来进行数据处理,利用数学方法把它们转换成角度。常用的方法有:一阶互补滤波、清华角度滤波、卡尔曼滤波、四元数解算得到角度和直接利用MPU6050自带的数字运动处理器(DMP)直接得到角度。故可以直接利用MPU6050自带的数字运动处理器获取数据。

工业触摸屏模块,工业触摸屏是一种有别于一般手机、平板电脑的触摸屏,其屏幕显示率较低但是能够在各种复杂环境下进行工作。本文所使用的工业触摸屏采用HMI接口,通过触摸屏完成人机交互,显示各种数据,并向机器人发出命令,完成功能设置、数据上报、通信管理等,在控制系统中,具有关键的作用。

编码器是一种实现快速调速的装置。它通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出,用来测量转速并配合PWM技术可以实现快速调速,是工业中常用的电机定位设备,可以精确的测试电机的角位移和旋转位置。

开关量输入模块采用光耦LTV-357T,如图2所示。其性价比较好,起到了很好的隔离、抗干扰作用。

工业触摸屏、陀螺仪、激光雷达、超声波均采用485通信方式,通信模块如图3所示。该通信模块速度高、距离远、工作稳定,很好的解决了多路高速通信工作。

网络通信模块如图4所示。有线网络通信模块为高速通信模块,可以连接摄像头、激光雷达等高速模块。

1.2 输出控制模块

输出模块主要完成各种电机控制,扫地、避障闪灯及按照设定的区域进行规划扫地,回到原点等功能。

通过里程计实时检测行走路径,建立极坐标,通过陀螺仪实时检测机器人的前进方向、旋转角度、行驶速度等;融合激光雷达、双目摄像头确定机器人在所建地图的坐标,由超声波传感器实现避障功能,防止与小体积物体或临时移动物体相撞。并由触摸屏进行各种功能设置,且实时显示机器人在所在地图中的位置,通过颜色显示地图作业区域哪些已经清扫,哪些区域没有清扫和完成情况等。

开关量输出完成各种执行机构及电机脉冲输出,是系统的关键部件。开关量输出模块如图5所示。

图6为SRAM扩展模块,因为主控芯片内部SRAM为192 kB,容量较小,需要外扩2片SRAM存储器,达到4 MB,用于临时地图的数据存储。

图7为外扩FLASH ROM模块,其容量为8 MB,因为主控芯片内部FLASH为1 MB,不能保存大量的非易失数据;外扩8 MB存储器用于存储地图数据,断电后数据不丢失。

1.3 通信模块

通信模块由WIFI 模块完成与上位机及手机的通信,通过485转WIFI模块实现非接触设置、通知、控制等功能。

通信模块可以在近距离内实现实时通信功能,上位机通过WIFI通信控制机器人的各种运动行为,并实时获取机器人的各种实时数据,在近距离通信表现出稳定、可靠、快速,能及时完成通信任务,保证机器人正常作业。

2 软件设计

扫地机器人的软件设计包括主程序、电机驱动程序、传感器检测系统程序、通信模块程序、触摸屏交互模块程序和工作状态模块程序。本文对程序采用模块化的设计,以确保各个模块都正常工作,然后在进行整个系统的测试。

2.1 输入传感器软件设计

掃地机器人通过各种传感器检测外部各种工作状态,主要有环境检测、障碍物检测、水位检测、地图定位及转向检测等。

机器人通过检测输入信号,确定机器人的前进工作路线选择,使机器人能按照正确的方式及路径进行工作。

2.2 输出执行机构

输出执行机构包括各种控制电机、闪灯、扫地盘上升下降机构。

输出执行机构完成机器人的前进、倒退、转弯、避障等功能。

图8为本设计系统的扫地机器人的工作流程主序图。

先将机器人上电,之后程序进行系统的初始化、串口的初始化配置以及加速度传感器的初始化,再进入while主循环中;使用超声波传感器扫描附近的物体距离远近,并判断能否需要避障操作。之后程序进行系统的初始化,将各种执行机构进行初始化位置设置,同时读取当前地图状态并保持静止,不断的循环判断是否有触摸屏连接或者是否有模式切换按键被按下;如有触摸屏连接,则进入触摸屏控制模式,通过串口接收触摸屏控制指令,判断不同指令,然后根据指令实现不同作业,完成前进、后退、左转、右转等动作;如有WIFI连接并接收上位机指令,同时机器人慢速行驶,通过激光雷达来检测机器人的前、后、左、右等与物体的间距等;如果测得的前方障礙物距离在50 cm之内为后退,在50~150 cm内为跟随或转向避障,调整机器人行进至合适的位置,然后使用双目摄像头判断周围环境,直到完成整体作业,返回原点。之后,再检测水位来决定是否加水,并排放污水;检测电池状态,决定是否需要充电。

软件设计控制系统的软件编程环境为 MDK5.25,软件算法主要采用ROS(Robot Operating Syetem,简称ROS)算法。它是一个较为复杂的系统算法,再结合SLAM(Simultaneous Localization and Mapping,简称SLAM)算法完成机器人的地图建立及路径识别、位置定位、原点定位及返回。

3 结语

实验结果表明,本文采用算法ROS及SLAM在定位平均相对误差较小时,有不理想的定位精度,同时具有较快的响应速度。由于算法能够自适应地图构建,合理规划扫地路径、及时环境检测及避障,取得了较好效果。但是,还有不足之处,需进一步提高定位精度。

【参考文献】

[1]翟延忠,翟宝蓉,马强,等.基于STM32的人机交互终端的设计[J].仪表技术与传感器,2020(2):105-109.

王宜瑜,宋树祥,王斌,等.嵌入式系统的多路步进电机控制系统的设计[J].计算机测量与控制,2019,27(9):76-79,84.

朱智勇.截瘫下肢康复外骨骼的研究及其实现[D].南京:东南大学,2017:1-2.

彭刚,袁兵.基于双ARM Cortex架构的移动机器人控制器设计[J].华中科技大学学报,2013,41(1):1-5.

王媛媛,刘海龙,蔡逸锋.基于单片机的吸附式仓储搬运机器人研发 [J].机电信息,2020(5):85-88.

胡洪钧.基于PLC和触摸屏的SCARA机器人控制系统 设计[J].制造业自动化,2019(5):98-101.

熊四昌,周赟涛.基于嵌入式的移动图像监控系统设计[J].计算机测量与控制,2018,26(4):82-84.

猜你喜欢
激光雷达单片机
地基与无人机激光雷达结合提取单木参数
激光雷达实时提取甘蔗垄间导航线
法雷奥第二代SCALA?激光雷达
融合激光雷达与超声波数据的障碍物检测方法
Ouster发布首款全固态数字激光雷达
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
机载激光雷达发展与应用简介
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨