APP下载

基于SLAM的激光雷达智能小车设计与测试研究

2024-12-12李国印张岳宋建铭

电脑知识与技术 2024年29期

关键词:机器视觉;智能送药;CNN;A*算法;TEB算法;自动导航

0 引言

人工智能是当前热门的研究领域,而智能机器便是其重要的产物。当前在科学技术不断蓬勃发展的信息时代,智能移动设备及其产品的研究和设计,使其在医疗场所、商场、超市、餐厅旅馆、维修清洗和家庭生活等方面有着广泛的应用。目前,国内的众多小中型医院的送药取药基本都是依靠,人工运输的方式,患者家属常常需要在楼内的药房和病房来回奔波好几次去取药,有时甚至需要病人自己上下楼然后排队去取药。对于进行换药的医护人员来说,取药送药仍是一件十分不方便的事情。

智能送药设备[1]是一种低速、无人操控的自动化药物运送车辆。其智能配送系统需要实现的主要功能为:从药房领取所需药品,沿预设定路线配送给各个病房,并在运送完成后实现自主返回药房。通过这种送药方式,医护人员可以避免与病人的直接接触,从而降低被传染性疾病感染的风险。智能送药设备通常配备传感器、摄像头和其他先进技术,使其能够识别患者和药品、跟踪库存并以高度准确和高效的方式交付药品。本项目对于我国中小型医院药物运输的实际情况做出分析和判断,并给出了一种适合我国中小型医院药物运输的智能药物运输设备[2]。

1 系统总体设计

1.1 设计思路

该设备主要包括四轮驱动车,主控芯片主要基于树莓派4B,并带有一个移动电源为树莓派4B供电。同时在小车的前部安装了一个USB摄像头和一个激光雷达,并搭建了ESP8266WI-FI模块,Wi-Fi模块是一种能够通过Wi-Fi网络连接到互联网的硬件设备,通常被用于实现无线网络通信。实物如图1所示。

智能送药设备的整体操作流程包括几个关键步骤。首先,设备通过Wi-Fi模块与远程服务器或移动设备建立连接,接收到送药指令后,设备能够识别目标病房的位置。在药物装载完成之后,树莓派4B 控制器对驱动电路模块以及激光雷达自动导航模块进行操控。激光雷达[3]有能力获取高分辨率的三维点云数据,进而捕捉目标物体的丰富细节信息,使得设备在定位和障碍物检测方面表现更为准确。然后,设备会寻找附近的路线并驱动至正确的路径上行驶。当智能送药车抵达目标病房时,摄像头会拍摄门牌号。此时,数字图像处理(Digital Image Processing) 技术会对图像进行一系列处理,如去除噪声、增强对比度、复原、分割和提取特征等。通过这些处理后,确认病房号码正确无误,将完成药物的送达。接下来,设备将继续前往下一个病房进行药物投递,如此循环直至所有需要送药的病房都得到药物。在整个送药过程中,前端地图实时展示设备的行驶路径,并向用户提示药品送达的信息。这为用户带来更高效、更准确的药品送达体验。从设备的研发到实际应用过程中,智能送药设备的整体操作流程则旨在提高药物配送的效率和准确性,从而为医护人员、患者以及医疗机构的运作带来极大的便利。通过对送药流程的实时监测,智能送药车能够确保药品准确送至目标病房,从而提高整个医疗服务的质量。具体流程如图3所示。

1.2 功能设计

智能送药设备实现的功能有自主循迹、数字识别、前端展示以及避障功能,设备功能如图 4所示。

1.2.1 自动导航模块

智能送药设备采用先进的激光雷达技术,能够实时地构建周围环境模型,并将这些模型转换成可用于路径规划和导航的地图。配送工作将通过设备实现自主导航,使得无人值守药物配送成为可能。激光雷达的优势在于提供高精度的距离和位置信息,使得自动导航系统具备更高的精确性和可靠性。值得一提的是,该技术已经不受光线、天气等自然条件的影响,能在各种环境下正常运行,使得送药服务不再受限于特定的时间和地点。激光雷达凭借其高速捕捉周边环境信息的能力,实时计算并更新设备的位置和行驶路线规划[4]。设备在进行自动导航时,能够同时检测多个物体,并获取包括位置、尺寸在内的详细信息,这是医药设备提升自动导航性能的关键因素。在行驶过程中,激光雷达起到了辅助设备避开障碍物和其他风险的作用,大幅度提高了智能送药车在行驶途中的安全性。

智能送药设备通过利用激光雷达等技术,在送药领域带来准确、高效的药物配送新模式。这一模式无疑对提升整体医疗服务质量产生积极影响,为患者带来便捷,同时也能减轻医护人员的工作负担。未来,智能配送将在提高设备性能、扩大应用领域等方面持续发展,从而更好地满足医疗行业和患者的需求。

1.2.2 数字识别模块

智能送药设备利用摄像头拍摄门牌号,由于拍摄图像中存在噪声,会对图像识别的准确率产生影响,先采用OpenCV进行图像预处理,然后采用目标检测算法YOLO,数字识别算法CNN 对病房门牌进行识别。OpenCV在图像预处理中可以对图像进行变形操作,以修正图像畸变或者调整角度,提高识别准确率。数字识别的流程如图5所示。

1.2.3 避障模块

A*算法[10]和 TEB(Timed Elastic Band) 算法是两种常见的路径规划与控制算法,可与激光雷达(LIDAR) 相结合,用于小车导航[5]和避障等任务。A*算法是一种启发式搜索算法,可用于为小车找到从起点到终点的最短路径。它结合了广度优先和最优路径搜索,使用代价函数(通常含有实际代价和启发式代价)来评估当前节点到目标节点的成本。在实际应用中,激光雷达可以通过测量周围环境中的障碍物,将这些信息输入地图网格(Grid Map) 或占用网格(Occupancy Grid) 中。随后可将地图数据提供给 A*算法,用以生成高效的路径规划,实现小车在有障碍物的环境中的导航。TEB (Timed Elastic Band) 算法是非线性轨迹优化算法,它通过优化小车当前轨迹在执行过程中产生的成本来定义合适的路径。TEB 算法强调实时性和动态性,针对时间和运动约束都有考虑。与 A*算法相比,TEB算法[11]可以处理连续和动态环境中的路径规划和控制问题。激光雷达在这种情况下可以提供实时的、连续的障碍物检测和定位数据,以便 TEB 算法更好地规划小车在动态环境中的运动轨迹,并实施有效的避障。激光雷达可以为 A*算法和 TEB 算法提供环境中障碍物的信息,这使得小车能够根据算法生成的路径安全地导航。A*算法专注于在静态环境中找到最短路径[6],而 TEB 算法在动态环境中处理连续和实时路径优化问题,以实现小车的实时轨迹优化和避障。

1.2.4 前端展示

该模块通过rviz的“2D Navi Goal”工具完整的地图。当用户点击病房号所在的位置后,小车会从药房到达该病房,并在地图上 形成实时轨迹路线。通过这种方式,用户可以清晰地跟踪小车的位置和行驶路径,更好地掌握送药的进度,具体如图6所示。

2 系统硬件设计

2.1 主控芯片模块

智能送药设备使用4代B型(4B) 树莓派作为主控芯片。树莓派4B型在树莓派3代B 型的基础上进行了多项重要升级。树莓派4B配备了更快的 BroadcomBCM2711 处理器,采用quad-core Cortex-A72(ARMv8-A) 64 位设计,主频为1.5 GHz。树莓派4B包含两个USB 3.0接口和两个USB 2.0接口,而树莓派3B+只有4个USB 2.0 接口。树莓派4B提供了 Gigabit Ether⁃net(千兆以太网),速度是树莓派3B+(10/100 网络接口)的10倍左右。

2.2 激光雷达

激光雷达提供了更高程度的距离和角度测量精度,相较于超声波传感器表现更为准确。因为激光雷达可以达到厘米乃至毫米级别的精度,并具有较高的空间分辨能力,所以能够捕捉到更加丰富的细节。这项优势使其能够更为精确地定位物体和边缘,为用户带来更全面的环境信息。此外,激光雷达的测量范围较大,可以覆盖数十米乃至数百米的距离。在许多环境条件下(包括光照、气候、表面反射特性等因素),激光雷达[9]展现出较好的测量稳定性。所提供的丰富点云数据不仅包括距离和强度,还包括颜色等信息。因此,在如 3D 建模、地形分析和植被分析等专业领域应用上,激光雷达具有明显的竞争优势。借助于激光雷达的强大性能,广泛应用于无人驾驶、机器人导航、测绘等行业,在不断地提升现有技术,创新未来的探索中发挥着关键作用。后续发展中,激光雷达将持续优化性能并扩大应用范围,以满足日益增长的技术需求和市场变化。

2.3 深度相机

深度相机是一种多功能图像设备,充分利用了其在图像采集和距离信息获取方面的优势。除了捕获彩色图像(RGB) 之外,它还能够实时地检测物体与摄像头之间的距离,这种能力损益现实提高了设备的实用性。为了实现这一特性,深度相机采用了先进的技术,为每个像素测量深度值并根据这些值生成精确的深度图。正因如此,深度相机在物体识别、环境重建、姿态估计等多种应用领域表现出显著的优越性。由于它可以直接获取物体距离信息,深度相机被广泛应用于机器人导航、自动避障等场景,确保精确可靠的距离测量。在现实环境中,深度相机为各类应用提供了丰富的三维空间信息,弥补了传统相机在空间感知方面的损益现实。这使得深度相机在需要精细空间感知的场景中具有显著的竞争优势。与此同时,深度相机在许多具有挑战性的情况下仍能表现出较好的容错性。例如,在处理复杂环境中的图像失真或遮挡问题时,深度相机仍然可以获取相对准确的深度信息。这种容错能力使得深度相机在各种不利条件下依然能够提供可靠的空间信息。随着科技的不断进步和人们对更先进应用技术的需求日益增长,深度相机在未来可能会在更多领域发挥重要作用。无论是对现有技术进行改进,还是在新的应用领域中进行探索,深度相机都有望带来更高效、更创新的体验。

3 系统实现

3.1 图像预处理

OpenCV(Open Source Computer Vision Library) 是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉功能[8]。在图像预处理中,OpenCV 可以进行多种操作,以改善图像质量和为后续算法做准备。以下是一些典型的图像预处理操作,分为两部分:

第一部分:基本图像处理

读取和保存图像:使用 OpenCV 读取图像文件,对图像的修改后,可以将其保存到指定的文件中去。图像的缩放、旋转和翻转:对图像进行尺寸缩放、旋转到特定角度以及水平和垂直翻转。直方图均衡化:通过调整图像的直方图来增强图像对比度,使得图像中的颜色和灰度更均匀分布,以改善图像质量。图像阈值处理:使用阈值处理将图像转换为二值图像(黑白图像)

第二部分:高级图像处理

模糊与平滑:通过卷积运算,采用高斯模糊方法来降低图像噪声,帮助抑制图像中的高频噪声成分,改善图像质量。边缘检测:使用Sobel算法,找到图像中的边缘信息,更好地识别图像中的对象和特征。形态学变换:通过膨胀操作,去除噪声、连接断裂区域和分离重叠区域。模板匹配和特征点匹配:可以通过关键点匹配来查找图像中的特征。

3.2 CNN 数字图像处理

卷积神经网络(CNN) [7]是一种先进的深度学习方法,广泛应用于图像处理和识别任务。与其他算法相比,CNN可以有效提取图像的局部特征并进行逐层抽象,使得它能够应对数字旋转、形变等挑战。典型的CNN 模型,如本文所使用的、共包含15 层(含输入层),具体可以分为特征提取和多分类输出两个部分。在特征提取方面,所采用的模型使用了四个卷积层和两个最大池化层来挖掘图像的局部特征。卷积层具体地,依次使用了两个5×5和两个3×3的滤波器进行卷积操作,加上ReLU激活函数以提高表达能力。为了加速模型收敛并防止过拟合,每个卷积层后都引入了批标准化操作。此外,模型在每两个卷积层之间加入了一个最大池化层,以实现特征下采样并保持特征不变性。在多分类输出部分,CNN模型采用了两个全连接层,同时使用Dropout层来避免过拟合。这两个全连接层之间的Dropout层可以提高网络泛化能力。完成特征提取之后,模型通过Flatten层将后处理结果展平并输入全连接层。最终,给出各类别的预测概率。CNN对于图像处理任务具有显著的效果,特别在图像特征提取和多分类输出方面表现优异。通过设计合理的网络结构和优化方法,能够在各种计算机视觉任务中获得高准确率。随着深度学习技术不断发展,CNN将在未来图像处理、识别等领域发挥更大的作用。

4 系统测试与结果分析

4.1 模型评估

模型在训练数据上的损失值为 0.0279,准确率达到了 0.9921。这意味着该模型在训练集上的性能相当出色,可以很好地拟合训练数据。在验证数据中,损失值为 0.0291,且准确率为 0.9945。这进一步证明了模型在验证集上同样具有很好的表现,展示了优秀的泛化能力并可以很好地应对新数据。模型评估结果如图7所示。

4.2 实验测试

实验测试结果如表 1 所示。

送达时间均小于58 s,综上,设备的测试结果符合基本要求。

5 结论

智能送药设备采用了、数字识别、自动导航算法、避障算法等技术,可以提高医疗服务质量、降低医疗成本等方面的问题。它将传统的医疗服务方式进行了升级,实现了智能化、高效化、安全化的送药服务,对于提高医疗服务水平,推动医疗行业现代化具有重要意义。