面向任务的无人智能清扫车系统设计
Design of a Task-Oriented Unmanned Intelligent Cleaning Vehicle System
摘要: 近年来,自主清扫系统,例如机器人吸尘器,因其能够自主导航和清洁室内空间的能力,越来越受到社会的欢迎。然而,这些系统的应用仍受限于其清洁范围有限、无法适应各种环境等问题。本研究旨在解决这些局限性,通过提出一种基于ROS2框架的面向任务的智能清扫车系统。该系统利用ROS2的模块化、灵活性和进程间通信等优势,以增强清扫系统的性能和适应性。主要目标是开发一种能够高效、有效地清洁室内空间的系统。研究的关键步骤包括对自主清扫系统和ROS2的文献进行分析,设计和开发硬件架构,实现ROS2软件组件,以及对系统的性能进行严格的测试和评估。
Abstract: In recent years, autonomous cleaning systems, such as robotic vacuum cleaners, have become increasingly popular in society due to their ability to navigate and clean indoor spaces autonomously. However, the application of these systems is still limited by their limited cleaning range and inability to adapt to various environments. This study aims to address these limitations by proposing a task-oriented intelligent cleaning vehicle system based on the ROS2 framework. This system utilizes the advantages of ROS2’s modularity, flexibility, and inter-process communication to enhance the performance and adaptability of the cleaning system. The main goal is to develop a system that can efficiently and effectively clean indoor spaces. The key steps of the research include analyzing the literature on the autonomous cleaning system and ROS2, designing and developing hardware architecture, implementing ROS2 software components, and conducting rigorous testing and evaluation of the system’s performance.
文章引用:张钧铎. 面向任务的无人智能清扫车系统设计[J]. 人工智能与机器人研究, 2024, 13(1): 98-111. https://doi.org/10.12677/AIRR.2024.131012

1. 引言

近年来,自主清扫系统,如机器人吸尘器,因其能够自主导航和清洁室内空间而日益受到关注。这些系统一般采用先进的传感器技术和智能算法,以便在清洁过程中检测并绕过障碍物,确保高效和有效的清洁工作。在机器人领域,已有众多研究和开发项目专注于自主清扫系统。研究人员探索了各种方法,例如计算机视觉、机器学习和路径规划算法,以提升这些系统的导航和清洁能力。虽然自主清扫系统已取得一定进展,但其应用仍受到诸多限制。这些限制主要包括清洁范围有限、难以适应不同环境,以及与其他智能家居设备的协调性不足。为解决这些问题,本论文提出了一种基于ROS2框架的面向任务的智能清扫车系统。该系统将利用ROS2的模块化、灵活性和进程间通信优势,旨在提升清扫系统的整体性能和适应性。

本研究的主要目标是开发一种基于ROS2的面向任务的智能清扫车系统,能够高效、有效地清洁室内及园区空间。为实现此目标,研究将包括以下关键步骤:对现有自主清扫系统和ROS2相关文献进行综合分析,设计并开发硬件架构,使用ROS2实现软件组件,以及对系统性能进行测试和评估。

2. 文献综述

在自主清扫系统中,自主导航和智能清洁技术的发展起到了核心作用。郭子恒和蔡晨晓 [1] 的研究利用改进的深度强化学习算法,大幅提高了无人机在复杂环境中的自主导航能力。同时,廖铮和张凌浩 [2] 通过引入三维点云地图,为扫地机器人提供了更精确的环境感知和清洁策略。这些进展不仅提高了自主清扫系统的清洁效率,还增强了其在未知环境中的适应能力。此外,王聪 [3] 的研究通过计算机视觉技术,使城市生活垃圾管理系统的识别和分类更为高效,从而提升整体的清洁效能。

传感器技术在自主清扫系统中扮演着至关重要的角色。颜世玉等人 [4] 针对壁面清洁机器人的结构设计进行的研究,凸显了传感器在障碍物检测和避障中的重要性。此外,马天飞等人 [5] 对自动泊车系统中的超声波雷达进行了建模,这同样为自主清扫机器人在障碍物检测和空间定位上提供了借鉴。这些研究表明,随着传感器技术的不断进步,自主清扫系统在复杂环境下的导航和清洁能力得到了显著增强。

高效的路径规划对于提升自主清扫系统的工作效率至关重要。许建民等人 [6] 的研究通过结合多尺度A*算法和优化的动态窗口方法(DWA),为移动机器人提供了更为高效的路径规划解决方案。此外,李青涛等人 [7] 对CAN总线协议进行的自适应算法研究也为自主清扫系统在复杂环境中的通信和协调提供了技术支持。这些创新不仅提高了系统的路径规划能力,还增强了其在多变环境中的适应性和稳定性。

ROS2框架作为一种先进的机器人操作系统,为自主清扫系统的发展提供了重要支撑。雍加望等人 [8] 在自动驾驶汽车实验教学平台的研究中,强调了ROS2在提高系统通信效率和整体协调性方面的作用。高华 [9] 对ROS2的RTOS支持扩展进行的研究与实现,更是为自主清扫系统在实时性和稳定性方面提供了新的解决思路。这些研究表明,ROS2的高度模块化和灵活性,能够有效地促进自主清扫系统在复杂环境下完成任务。

本研究的主要创新点在于开发一种基于ROS2的面向任务的智能清扫车系统,该系统旨在高效、有效地清洁室内及园区空间。与传统自主清扫系统相比,本研究通过对现有自主清扫系统及ROS2相关文献的深入分析,本研究能够更全面地理解和应用最新的技术进展,从而在系统设计中融入先进的思想和方法。研究将专注于设计一套创新的硬件架构,这不仅包括对机器人本体的优化,也涉及传感器和执行器的高效集成,以提高系统的整体性能和适应性。本系统使用ROS2实现软件组件,这意味着系统将具备高度模块化和灵活性,能够更好地适应不同的清洁任务和环境条件。此外,ROS2的实时性和稳定性也将大幅提升系统的可靠性。研究还将包括对系统性能进行严格的测试和评估,确保系统在实际应用中的高效性和可靠性,特别是在处理复杂环境和多样化任务时的适应能力。

综上所述,本研究不仅在理论上深入探讨了自主清扫系统的最新进展,同时也在实践中实现了这些先进理念的具体应用,旨在为室内及园区空间的清洁工作提供一种更高效、更智能的解决方案。

3. 硬件结构方案

Figure 1. Overall design scheme

图1. 总体设计方案

清扫车系统架构分为三层:硬件层、决策规划层和控制执行层 [10] 。通过电池向传感器、控制器和电机供电来实现通信和控制,平台的三层架构如图1,首先硬件层进行周围环境的感知,无线网卡接受管理员下发的任务命令,在收到命令后域控制器结合任务与环境信息通过CAN总线协议(Controller Area Network) [11] 下发控制指令到控制执行层,整个系统通过ROS2进行通信,实现清扫车的实时行为控制。

3.1. 硬件层

在硬件层,我们拥有一系列传感器,这些设备收集和处理关于车辆周围环境的信息,为自动驾驶提供必要的数据。

超声波雷达通过发射超声波并接收其反射波,测量距离和物体大小 [12] 。其主要优势在于能提供实时精确的距离信息,且成本较低,所以本系统选择使用超声波雷达进行测距,通过分析超声波雷达返回的距离信息,在探头距离前方障碍物50 cm时,向系统发出距离报警信息,并将信息传递给融合模块,实现超声波雷达测距功能。

激光雷达(LIDAR):LIDAR (Light Detection and Ranging)通过发射激光脉冲并测量其反射回来的时间,计算物体到车辆的距离和物体的形状。LIDAR能够构建详细的3D环境地图,从而实现对周围环境的精确感知。它对信息复杂且距离近的环境,如室内或建筑密集区域,具有良好的识别效果。因此,本系统使用Robosense16线激光雷达实现障碍物、垃圾的识别和激光SLAM功能。

相机:相机可以捕捉到丰富的视觉信息,如车道线、交通信号灯、行人和其他车辆等。通过图像处理和计算机视觉技术,这些信息可以被提取和用于决策制定。在本系统中,使用六个相机,包括四个500万像素焦距2.1 mm的工业相机分别布置在车辆的四周进行距离检测和两个焦距1.4 mm的鱼眼相机布置在车辆的侧面防止拐弯时出现碰撞,相机会与激光雷达进行联合目标检测和目标跟踪并进行车道线和交通指示灯的识别。

惯性传感器和卫星导航系统:这些传感器(如陀螺仪和加速度计)可以提供关于车辆的实时运动信息,包括速度、加速度和角速度等。惯性导航系统能提供不依赖于外部的持续稳定的自主式导航功能,但是随时间的推移,惯性导航系统会存在较大的误差积累 [12] ,因此在本系统中使用广州导远INS570D惯性传感器,是一款基于MEMS惯性导航技术、融合卫星导航(支持RTK)和车辆信息(轮速、档位等)的高性能组合导航定位产品。其具备在各种场景下(高速路、地库、高架桥、隧道、城市街道、港口等)通过数 据总线向车辆提供准确姿态、航向、位置、速度和传感器数据等信息的能力。会进行惯性传感系统与卫星导航系统信号的融合,实现车辆能够得到更加连续且稳定的车辆定位信息。

3.2. 决策规划层

Figure 2. Logic at the decision-making planning level

图2. 决策规划层逻辑

决策规划层是智能清扫车系统中的核心组成部分之一,充分体现了ROS2通信系统的特点。如图2在该系统中,决策规划层通过无线网卡接收系统管理员下发的任务,任务内容包括清扫垃圾、路面清洗、垃圾倾倒等。同时,该层结合传感器发出的环境信息传给感知模块,接收定位模块传来的定位信息,以及任务信息、感知模块信息和定位模块信息共同决定输出的控制信息,并将任务完成信息传回给管理员。

决策规划层利用ROS2通信系统的优势实现了任务的高效处理和信息的可靠传递。通过分布式特性,多个控制器可以方便地连接在一起,将车辆上的域控制器与系统管理员的上层机器连接在一个统一的通信环境中。相比于ROS中的Master节点作为核心的通信系统 [13] ,ROS2的分布式特性 [14] 充分发挥了其优势,显著提高了通信的灵活性和可靠性 [15] 。

在决策规划层中,通过接收传感器发出的环境信息,包括周围环境、障碍物信息等,实现与感知模块的数据交互。同时,接收定位模块传来的定位信息,包括车辆的当前位置和姿态等,用于路径规划和生成相应的控制指令。此外,任务信息、感知模块信息和定位模块信息共同决定了输出的控制信息,保证了清扫车的运动和清扫动作的准确、高效。

总的来说,决策规划层充分利用ROS2通信系统的特点,通过无线网卡接收任务,结合传感器发出的环境信息与定位模块传来的定位信息,实现智能路径规划和生成控制指令,通过分布式特性实现了通信的灵活性和可靠性。决策规划层的功能和ROS2通信系统的优势相结合,为智能清扫车系统提供了高效、可靠的控制和任务执行能力。

3.3. 控制执行层

Figure 3. The logic of control execution layer

图3. 控制执行层逻辑

控制执行层主要负责实际的操作执行,如图3,它通过接收CAN总线传来的由CAN分析仪解析的决策规划层生成的控制指令,控制车辆底盘电机和清扫工具电机进行相应的操作。

在控制执行层中,车辆底盘电机负责控制整个清扫车的运动,通过接收CAN总线传来的控制指令,根据指令中的速度和转向信息控制车辆的前进、后退、左转和右转等动作。清扫工具电机则负责控制清扫工具的动作,例如清扫刷、吸尘器等。通过接收CAN总线传来的控制指令,清扫工具电机可以进行开启、关闭、调节速度等操作,确保清扫工具能够正常运行以完成任务。

为了确保控制执行层能够正确执行指令并进行相应的操作,需要进行实时的通信和数据处理。控制执行层中的控制器通过与CAN分析仪相连接,实时接收决策规划层生成的控制指令,然后将指令解析并传输给车辆底盘电机和清扫工具电机。同时,控制执行层还需要监测车辆底盘电机和清扫工具电机的状态,确保它们能够正常工作并及时反馈运行状态。

在控制执行层的设计中,还需要考虑各个电机之间的协调和同步。对于底盘电机和清扫工具电机的同时操作,需要确保它们之间的动作按照正确的顺序进行,避免出现冲突或不协调的情况。此外,还需要对电机的运行状态进行监测,包括温度、电流和速度等参数的监控,以确保设备安全运行。

总的来说,智能清扫车的控制执行层通过接收CAN总线传来的决策规划层生成的控制指令,对车辆底盘电机和清扫工具电机进行控制,实现了清扫车运动和清扫工具操作的协调与同步。通过良好的通信和数据处理,控制执行层能够确保指令的准确执行,提高清扫车的运行效率和任务完成质量。

4. 软件设计方案

Figure 4. Software architecture design diagram

图4. 软件架构设计图

图4所示,本系统设计框架基于多个传感器的数据采集、融合与处理,并通过不同的模块实现环境感知、定位、规划和控制等功能。超声波测距、障碍物识别与跟踪、车道线识别等模块是通过传感器对周围环境进行感知,融合模块负责将结果与融合定位信息等数据进行整合,然后将结果输出给预测模块。预测模块接收来自融合模块的数据,并结合车道线和红绿灯的识别结果以及融合定位信息,进行数据分析和处理,为规划模块提供更准确的输入。规划模块是系统中的核心模块之一,它接收来自预测模块的数据以及系统管理员下发的任务,进行路径规划和行为控制。通过算法和模型,规划模块分析预测结果和任务要求,生成相应的路径规划和行为策略。然后,规划模块将这些策略转化为具体的控制指令,并将其下发给控制模块。控制模块接收来自规划模块的控制指令,并进行解析和处理。根据指令的要求,控制模块将相关的操作指令发送给电机,控制清扫车的运动和行为。综合考虑传感器数据、预测模块的结果以及具体的任务要求,控制模块实现对电机的精确控制,确保清扫车能够按照预定的路径和行为规划进行操作。

4.1. 感知模块

在感知模块中,利用相机等传感器获取环境信息,并通过图像处理算法实现对红绿灯和车道线等的识别。相机在清扫车行驶过程中能够捕捉道路标志和交通信号灯的图像并进行识别,从而输出车辆当前的交通情况,此外,通过超声波雷达传感器,感知模块能够测量周围障碍物与清扫车之间的距离和位置,在本系统中,超声波雷达测距模块的安全距离设定为50 cm,当雷达探头距离前方障碍物小于等于50 cm时,会输出距离过近报警信息。

在智能清扫车中,感知模块还具备识别地面上垃圾等物品的功能。通过相机传感器,感知模块能够实时捕捉地面上物品的图像,并通过图像处理算法对垃圾等物品进行识别和定位。这种垃圾识别的功能使得清扫车能够更加精确地定位和清理地面上的垃圾,提高了清扫效率和清洁质量。

综上所述,感知模块通过相机的图像处理和超声波雷达的距离测量等技术,实现了对红绿灯、车道线和地面上垃圾等的感知和识别。

4.2. 规划模块

在规划模块中,主要功能有两个,第一是通过系统管理员下发的任务信息得到当前车辆下一步的任务目标并根据任务目标确定任务的终点,进行全局路径规划。第二是通过周围环境的感知信息进行当前车辆的局部路径规划。通过系统任务信息和周围环境感知信息的输入,得到任务反馈和行为控制的输出。

Figure 5. Planning module logic

图5. 规划模块逻辑

图5,全局路径规划中,取决定性作用的是任务管理部分,因此,任务管理也是规划模块以及整个系统最重要的部分,因为车辆的行驶目的以及行驶行为都取决于系统管理员下发的任务。车辆在接收到任务信息后,规划模块内部解读任务信息并分析任务终点以及使用的清扫车工具,在得到相关的任务信息后,规划模块会根据任务的要求进行全局的路径规划并对用到的工具进行控制信息的修改,例如车辆在执行从当前地点一直清扫到A点的任务时,接收到了管理员下发的从当前地点喷水到B点的任务,车辆会进行从当前地点到任务指定区域的全局路径规划,并收起清扫臂,打开喷水口进行喷水操作,直到达到了B点或接收到新的任务指令。

在局部路径规划中,车辆会结合当前的周围环境感知信息和车辆当前的位置及速度,计算出一条安全、有效的行驶路径,在这个过程中会考虑很多信息,例如当前的位置与速度、周围行人及障碍物的位置与速度、当前是否为路口等。

4.3. 控制模块

控制模块是执行决策的最后一步。主要任务是基于规划模块传递的路径信息和任务信息,结合车辆的运动学参数,生成并输出涉及车辆速度、转角和档位等控制指令。从任务驱动的角度出发,由于清扫车可能需要搭载不同的清扫工具来完成不同的任务,因此控制模块生成的控制信息不仅包括车辆本身的运动控制指令,还包括控制车辆上搭载的清扫工具的指令。

同时,控制模块接收来自车辆电机的数据反馈,并将其传送给规划模块进行状态监测和调整。控制模块具有高度的自主性,能够根据实际情况进行灵活调整和优化,以实现更精确和高效的控制。当清扫车需要搭载新的清扫工具时,仅需对消息进行适度扩展即可实现新清扫工具在清扫系统内的添加。这种可扩展性使得控制模块能够满足不同任务需求的变化,提高了系统的灵活性和适应性。

为了实现对车辆电机的控制和数据获取,控制模块通过CAN总线进行通信。CAN总线是一种常用的实时数据传输协议,可实现可靠的数据传输和高效的通信。通过CAN总线,控制模块可以向电机发送控制指令,精确控制车辆的速度、转角和档位等参数。同时,控制模块还能够获取电机传回的数据,如电流、转速和温度等,以实时监测车辆的状态和性能。这样的双向通信能够实现精细化的控制和更准确的状态监测,提高了清扫车自动驾驶系统的可靠性和安全性。

4.4. 故障管理和冗余系统

Figure 6. Fault management logic

图6. 故障管理逻辑

自动驾驶系统需要具备故障检测和处理能力,以应对可能出现的问题。故障管理模块可以实时监控各个组件的运行状态,一旦发现异常或故障,可以立即采取行动,如降级操作或安全停车,以防止可能的危险。为了提高系统的可靠性,通常会设计冗余系统,当主系统出现故障时,可以接管并继续控制车辆。如图6,本系统将故障管理设定为三级形式,一级为轻微故障,例如激光SLAM建图运行时在某一帧建图失败,无法完成这一帧的建图,处理原则是忽略这一帧的激光雷达图像,直接进行下一帧的建图。二级故障为中等故障,为边缘模块的持续故障,如超声波雷达无法进行距离探测,但是相机和激光雷达运行完好,处理原则为车辆通过无线通信将故障上传到系统管理员,并就近找位置停车。三级故障为重大故障,无法继续行驶,如控制系统无法正常工作,处理原则为马上刹车就地等待并向管理员报警求援。

5. 通信设计

在通信设计部分,基于分布式的思想,在管理员层面与车辆层面的通信选择了ROS2多域控制器的通信设计,重点关注管理员层面与车辆层面的多域控制器之间的分布式通信。其次,我们将讨论消息定义,包括部分模块间通信消息的定义,涵盖消息的格式、组成等方面的内容。本部分还包括CAN通信设计,重点关注控制模块通过CAN总线向电机发送指令的实现方式。通过系统化的通信设计,确保清扫车自动驾驶系统中各个模块之间的高效和可靠的信息交流,从而实现对车辆的精确控制与协调操作。

5.1. ROS2多域控制器通信

由于本系统中,管理员需要不断下发任务指令,车辆也需要不断回传信息,将任务完成情况回传给系统,所以本系统使用ROS2的话题发布订阅模式,通过节点间话题的发布与订阅,实现节点间的信息传递。ROS2多域控制器通信设计是清扫车自动驾驶系统的核心部分,其优点在于实现了分布式通信,提高了系统的可扩展性和可靠性。

Figure 7. Topic node state diagram

图7. 话题节点状态图

图7,在该系统中,分布式通信是通过ROS2的多域控制器实现的。系统管理员通过/task_publisher节点发布/task_info任务信息,规划模块中的/task_receiver节点订阅此信息并解析发布/task_cmd任务指令给/planning_node规划节点。规划节点将发布路径信息/route_info给控制节点/control_node,控制节点将根据路径信息得到控制指令/control_cmd。底盘传输节点/transmit_node订阅控制指令并将其解析成CAN信号以/CAN_send话题发布给电机。电机接收到指令将进行相对应的动作并返回当前状态/CAN_receive。状态监听节点/status_listener订阅此消息并将状态报告/status_report发布给规划节点/planning_node,规划节点将任务完成信息/task_status传给系统管理员的任务监听节点/task_listener。这些节点之间的通信过程是基于ROS2多域控制器实现的。

ROS2多域控制器的分布式特性使得整个系统更加具有可扩展性和可靠性。不同的控制器可以方便地连接在一起,将车辆上的域控制器与系统管理员的上层机器连接在一个统一的通信环境中。相比于ROS中的Master节点作为核心的通信系统,ROS2的分布式特性充分发挥了其优势,显著提高了通信的灵活性和可靠性。此外,ROS2的分布式特性还使得整个系统具备了更好的容错性和可恢复性。

总之,ROS2多域控制器通信设计是实现清扫车自动驾驶系统高效、准确控制的关键部分。通过实现分布式通信的特性和优势,系统具有更强的可扩展性、可靠性、容错性和可恢复性。分布式通信的实现使得系统的各个模块之间的通信过程更加灵活和可靠,能够满足不同任务和需求的要求,为实现自动驾驶功能提供了坚实的基础。

5.2. 消息定义

Table 1. Task command message definition table

表1. 任务指令消息定义表

在ROS2系统中,通信是通过消息传递来进行的,所以对于模块间的通信需要进行消息的定义,如表1为任务指令部分的消息定义。

任务指令是由管理员下发的任务信息,包含了多个字段用于描述任务的不同方面,如任务类型、清扫区域、目标速度和档位信息等。

首先,任务指令的多字段定义使得系统可以支持不同类型的任务。任务类型字段(Task_Type)可以根据实际需求定义不同的任务类型,如清扫任务、喷水任务等。这样可以根据任务类型的不同,对任务进行不同的控制和规划,因此提高了系统的灵活性和适应性。

其次,清扫区域字段(Task_Workspace)的定义允许指定任务执行的具体区域。自定义的Workspace结构体可以包含区域的边界点/线的信息,可以使用坐标点形式进行表示。清扫区域可以是矩形区域或多边形区域,其中包含了该任务的有效操作范围边界。通过确定清扫区域,系统可以保证任务在指定区域内进行,避免无效操作和减少资源的浪费。

此外,目标速度字段(Target_Speed)和档位信息字段(Gear_Information)的定义进行对车辆的运行速度和档位进行精确控制。目标速度字段可以指定车辆执行任务时的期望速度,这可以根据实际需求进行调整,以确保任务的高效执行。档位信息字段则允许控制车辆的传动系统,以满足不同任务对于动力输出的需求。

通过以上定义,任务指令可以实现以下优点:

灵活性和可扩展性:任务指令的多字段定义使得系统具备了灵活性和可扩展性。通过增加不同类型的任务和对应的字段,系统可以轻松扩展支持更多的任务需求和操作细节。

精确性和安全性:任务指令中的字段可以提供更精确和细致的控制。例如,清扫区域字段的定义可以确保任务在指定区域内进行,避免无效操作和减少资源的浪费,同时提高了任务的安全性。

自适应性和效率:目标速度字段和档位信息字段的定义允许车辆根据任务的要求进行自适应的运行。通过调整目标速度和档位,可以实现任务的高效执行,提高系统的效率和性能。

综上所述,任务指令的多字段定义可以提供灵活性、可扩展性、精确性、安全性、自适应性和效率等优点。通过定义任务信息的不同字段,可以实现对不同类型任务的精确控制和规划,以满足系统管理员对于任务执行的要求。这样的任务指令定义为清扫车自动驾驶系统提供了强大的功能和精确性,使得系统更加智能和高效地执行任务。

5.3. CAN通信设计

CAN通信是一种常用的实时、可靠的通信协议,广泛应用于车辆控制系统中,使用CAN帧来传输数据。CAN帧分为两个部分:数据区和消息载荷。数据区包含具体的控制指令或上传信息,而消息载荷则包含CAN_ID和其他控制位。

在清扫车自动驾驶系统中,控制模块通过CAN通信与车辆电机进行控制和信息交互。控制模块通过CAN分析仪将控制模块发送的控制指令解析成CAN信号,并通过CAN总线与车辆电机进行连接。CAN总线是一个双线传输系统,其中包括一个CAN_H (高速)线和一个CAN_L (低速)线,用于数据和信号的传输。车辆电机的波特率被设置为500 K,表示在CAN总线上传输的数据位数。帧格式为标准帧,使用CAN_ID进行标识。在本设计中,CAN_ID被设置为0x001。

控制模块将下发指令通过CAN通信发送给车辆电机。下发ID为0x01,指令可以包括速度、档位、转角、刹车、状态灯等控制信息。车辆电机将信息上传给控制模块,使用CAN_ID为0x02进行标识。上传的信息包括速度、角度信息、故障信息、电量信息和急停信息等。

由于CAN通信是一种实时、可靠的通信协议,它具有很高的通信可靠性和实时性。CAN总线支持多个节点同时进行通信,而且可以检测和纠正错误,并保证数据的准确性和完整性。通过CAN通信设计,在清扫车自动驾驶系统中实现了控制模块与车辆电机之间的有效通信和信息交互。控制模块通过CAN分析仪将控制指令解析成CAN信号,并通过CAN总线与车辆电机连接,实现对车辆的控制和清扫工具的控制。同时,车辆电机将状态信息上传给控制模块,实现双向的数据交流。CAN通信的高可靠性和实时性保证了通信的可靠性和数据的准确性,使得清扫车自动驾驶系统能够高效稳定地执行任务。

6. 实验结果

6.1. 通信功能测试

为了验证智能清扫车系统的消息通信传输的正确性和完整性,我们在ROS2系统中进行了一系列的实验性测试。这些测试的目的是确定系统能够准确无误、完整无损地发送和接收来自各个节点的数据信息。

在一个典型的测试场景中,我们通过命令开启了/task_publisher节点。这个节点的功能是向规划模块发布任务信息。具体的任务内容包括了对车速的设定。这一过程的详细记录被展示在了图8中。

同时,我们也开启了/task_listener节点。这个节点的职责是记录车辆的实时速度情况,以便我们能够对比和分析预设任务和实际执行结果之间的差异。图9记录了这个节点在运行过程中的各种数据和信息。

图8图9的上半部分显示了通过ROS2方法在屏幕上显示的任务内容。而下半部分则是通过CAN分析仪记录的帧信息。

通过对图8图9的详细对比和分析,我们发现通信系统在传输过程中并未出现帧丢失的情况。这一结果证实了ROS2系统内通信的完整性和正确性,表明我们的通信模块可以可靠地发送和接收信息,无论是在任务发布还是任务执行的过程中。

这次的测试验证了我们的消息通信系统在实际操作中的稳定性和可靠性。通过ROS2系统的高效运行,我们能够确保各个节点之间的通信无误、无损,从而保障智能清扫车的稳定运行和高效作业。同时,这次的实验也进一步展示了我们的系统在面对复杂和多变的实际情况时,依然能够保持高效和准确的通信。

Figure 8. The data published by the task

图8. 任务发布数据

Figure 9. Vehicle speed recording

图9. 车辆速度记录

6.2. 停障功能测试

为了对智能清扫车自动驾驶系统中的感知模块进行实际效能验证,我们在车辆上进行了一系列的实地测试。这些测试旨在检验感知模块的障碍物检测和距离测量功能的实际表现和精度。

在一个典型的测试场景中,我们让一名行人走进车辆的预定行驶路线。这个设置是为了模拟现实生活中可能出现的突发情况,例如行人突然闯入车辆行驶路径的情况。在这个过程中,我们密切观察车辆的反应和处理方式。

当行人接近车辆行驶路线并进入车辆的激光雷达和相机感知范围时,感知模块立即检测到行人的存在。同时,超声波雷达也开始测量与行人的距离。当测量结果显示行人的距离过近,可能对车辆行驶造成威胁时,感知模块将这个信息传输给融合模块,融合模块在融合了多个传感器数据后输出信息给规划模块,规划模块将停车指令输出给控制模块进行停车动作。这个过程显示了感知模块在障碍物检测和距离测量方面的精确性和可靠性。在行人突然出现的情况下,系统能够及时、准确地检测到障碍物的存在,测量出与障碍物的距离,并根据这些信息做出正确的决策。

图10展示了车辆相机在这个过程中捕获的图像。从图中可以清晰地看到行人目标,以及远处的其他车辆目标。这些图像进一步证明了感知模块的障碍物检测能力。相机不仅能够准确地识别和跟踪近处的行人目标,还能够清晰地捕捉到远处的车辆目标。

这个测试验证了智能清扫车的感知模块在实际应用中的功能性和可靠性。通过激光雷达、相机和超声波雷达的协同作用,感知模块能够实现准确的障碍物检测和距离测量,为车辆的自动驾驶提供了强大的支持。同时,这个测试也显示了智能清扫车在面对突发情况时,能够做出及时、正确的反应,保证了行车安全。

Figure 10. Obstacle and pedestrian detection tests

图10. 障碍物及行人检测测试

7. 结语

本文基于对当前应用中清扫车及其系统的深入研究,提出了一种创新的基于ROS2系统的智能清扫车系统,这一系统在多个关键方面显著优于现有研究成果,相对于传统清扫车系统通常采用的较为简单或不够灵活的架构,本系统采用硬件层、规划决策层、控制执行层的三层架构,有效整合了机械、电子和软件要素,为更复杂的任务管理和路径规划提供了坚实的基础。这种架构设计不仅提高了清扫车的操作效率,也增强了其适应复杂环境的能力。

本系统通过ROS2发布信息指令,并采用CAN通信进行车辆控制。这一设计在信息传递的安全性和多个域控制器之间通信的便捷性方面相比现有系统有着显著优势。现有研究中,这些方面往往未被充分考虑或优化,而本研究通过先进的通信机制,确保了信息传递的高效性和可靠性。

利用ROS2系统的独特设计,本系统在安全性和实时性方面进行了显著改进。相比于现有的清扫车系统,这种改进使得车辆在执行任务时能够更加智能地应对环境变化,保障了操作的安全性。

通过系统管理员下发任务的方式实现对车辆行为的控制,本研究的清扫车系统在自主性和适应性方面有了显著提升。这一点在现有研究中往往是一个挑战点,而本研究通过创新的系统设计,有效地提升了车辆对复杂多变环境的应对能力。

综上所述,本研究的智能清扫车系统在架构设计、通信控制、安全性和实时性,以及自主性和适应性等多个方面,都展现出明显的优势和创新性。这些改进不仅提高了清扫车的操作效率和安全性,还使得车辆能够更加智能和有效地满足城市清洁的需求。

参考文献

参考文献

[1] 郭子恒, 蔡晨晓. 基于改进深度强化学习的无人机自主导航方法[J]. 信息与控制, 2023, 52(6): 736-746, 772.
https://doi.org/10.13976/j.cnki.xk.2022.0447
[2] 廖铮, 张凌浩. 基于三维点云地图的扫地机器人智能清洁设计策略研究[J]. 设计, 2022, 35(9): 82-85.
[3] 王聪. 基于计算机视觉技术的城市生活垃圾管理系统[D]: [硕士学位论文]. 重庆: 西南大学, 2022.
https://doi.org/10.27684/d.cnki.gxndx.2022.002816
[4] 颜世玉, 于洋, 赵海滨, 等. 一种壁面清洁机器人的结构设计[J]. 电脑与信息技术, 2023, 31(6): 74-78.
https://doi.org/10.19414/j.cnki.1005-1228.2023.06.013
[5] 马天飞, 李波, 朱冰, 等. 考虑大气条件影响的自动泊车系统超声波雷达建模[J]. 汽车工程, 2023, 45(9): 1646-1654.
https://doi.org/10.19562/j.chinasae.qcgc.2023.09.013
[6] 许建民, 宋雷, 邓冬冬, 等. 基于多尺度A*与优化DWA算法融合的移动机器人路径规划[J/OL]. 系统仿真学报: 1-12.
https://doi.org/10.16182/j.issn1004731x.joss.223-1089, 2024-01-17.
[7] 李青涛, 钱枫, 王明达, 等. CAN总线协议自适应算法研究[J]. 农业装备与车辆工程, 2023, 61(8): 120-124.
[8] 雍加望, 冯琦, 李岩松, 等. 自动驾驶汽车实验教学平台研发[J]. 中国教育技术装备, 2023(14): 33-37.
[9] 高华. ROS2的RTOS支持扩展研究与实现[D]: [硕士学位论文]. 北京: 邮电大学, 2020.
https://doi.org/10.26969/d.cnki.gbydu.2020.002346
[10] 徐明泽, 刘清河. 基于LQR和PID的智能车轨迹跟踪控制算法设计与仿真[J]. 太原理工大学学报, 2022, 53(5): 877-885.
https://doi.org/10.16355/j.cnki.issn1007-9432tyut.2022.05.012
[11] 章万静, 赵陇, 赵红梅, 等. 基于CAN总线智能汽车数据采集系统的设计[J]. 电脑知识与技术, 2023, 19(22): 61-63.
https://doi.org/10.14004/j.cnki.ckt.2023.1235
[12] 李升凯, 吴长水. 基于雷达测距的自动泊车目标检测与定位设计[J]. 智能计算机与应用, 2022, 12(6): 72-77, 83.
[13] 陈正升, 王雪松, 程玉虎, 等. 基于ROS的自主移动机器人路径规划虚实结合实验平台[J]. 实验技术与管理, 2023, 40(1): 77-82, 100.
https://doi.org/10.16791/j.cnki.sjg.2023.01.013
[14] 纪东, 魏阳杰, 李宇溪, 等. ROS2多线程执行器上DAG任务的优先级分配方法[J]. 计算机研究与发展, 2023, 60(5): 1086-1098.
[15] 芦倩, 李晓娟, 关永, 等. 面向数据流的ROS2数据分发服务形式建模与分析[J]. 软件学报, 2021, 32(6): 1818-1829.
https://doi.org/10.13328/j.cnki.jos.006251