APP下载

基于ROS的动车组智能巡检平台

2022-05-17罗意平万政良宇文天张吉祥刘斯斯

铁道科学与工程学报 2022年4期
关键词:动车机器人环境

罗意平,万政良,宇文天,张吉祥,刘斯斯

(1.中南大学 交通运输工程学院,湖南 长沙 410075;2.广州局(铁路)集团有限公司广州动车段,广东 广州 510088)

在科技日益发达的今天,我国铁路网遍及到了大江南北,并且我国的列车数量还会再增加。由于在长时间的超负荷工作中,维修人员会产生急躁的情绪,影响工作状态。所以,为了提高检修的工作质量和运营效率,需要尽快完成从“人力”到“机械”的转变。机器换人不仅可以提高效率,而且可以保证质量。采用智能检测机器人可以解决上述问题[1]。智能机器人不仅可以完美贴合我国铁路未来发展的方向,而且更是完成人力检修到机械检修不可或缺的一个过程。动车所环境图如图1所示。当前的现场服务操作解决方案是劳动密集型的、危险的,并且受限于人类在不完整或不正确信息的情况下做出关键决策的操作能力。此外,高效的系统级操作需要集成全系统解决方案,而不仅仅是针对关键挑战的单点解决方案[2]。这些任务的性质决定了任务和环境不能总是在设计时被完全预期或指定,然而一个自主的解决方案必须具有执行任务的基本能力和工具,即使它遇到了意想不到的情况。目前,有许多移动操纵系统已经在受控的室内环境中得到成功的验证。MEEUSSEN等[3]展示了PR2机器人如何在杂乱的桌面环境中利用3D传感器进行物体检测和操纵。英特尔HERB移动操作平台在室内环境中拾取和放置物体的能力令人印象深刻[4]。NGUYEN等[5]提出了能自动从平面上抓取物体的El-E机器人。为了简化机器人感知问题,所有这些平台都对环境做出了一定的假设。当将机器人放置在室外环境中时,技术挑战大大增加,但现场机器人应用在技术和经济上都有好处[6]。一些研究人员已经在农业[7-8]、采矿[9-10]、运输[11-12]等领域使用机器人。美国国防高级研究计划局机器人挑战赛在提高机器人系统应对灾难的能力,是机器人在非结构化室外环境中工作的少数例子之一[13],这项挑战需要机器人与人类合作,以实现各种任务目标,如开门、转动阀门和钻孔。与在室外环境中可靠地检测物体相关的困难导致物体检测的问题主要由操作人员来执行,使模型适合于感觉数据[14]。华兴致远的动车组底部探测机器人服务于上海市火车段虹桥动车运用所。该系统由检测机器人、中央服务器、手持移动终端、立柱检测和信息管理平台5个模块组成。它采用机器视觉等人工智能技术,能自动检测各类动车组车底及转向架可见部位,实现车底故障的识别和报警。但由于它只能探测车底,所以有一定的局限性。本文设计一种在动车运用所全局环境下可实现自由移动、避障和检修的机器人检修自主移动系统。

图1 动车所环境Fig.1 Environment of EMU station

1 巡检平台搭建

所开发的系统用于驱动巡检机器人,这是一种典型的现场机器人操作。该系统作用于机器人在检修走廊内沿着一节车厢移动到另一节车厢的列车长度自主导航并对动车进行故障检测。在自主导航过程中,机器人向前移动时需要与动车保持一段距离,为了确保实时动车检测和随后的机器人位置估计,一旦机器人导航到动车附近,一种基于3D点云的极快搜索算法会确认机器人的粗略位置。一旦机器人到达期望的位置,用机械臂运动使相机获取到最佳拍摄位置。操作解决方案需要足够灵活,以应对环境、动车的位置和状态以及传感和感知的变化。

1.1 平台硬件

整个平台的硬件由Clearpath husky机器人硬件移动底座、UR3机械臂、相机、激光雷达和IMU组成,各自参数如表1所示,实际巡检机器人如图2所示。

表1 硬件参数Table 1 Hardware parameters

图2 实际巡检机器人Fig.2 Actual inspection robot

1.2 平台系统架构

平台系统是基于机器人操作系统(Robot Oper‐ating System,ROS)开发的。主要部分包括感知、导航、抓取和任务计划程序。作为最广泛使用的开源机器人软件平台,ROS极大地提高了机器人开发效率。

智能巡检任务架构由3层组成:硬件设备层、软件数据处理层和行为规划层组成。硬件设备层包含机器人和各种智能传感器。对于硬件设备层,使用传感器和平台集成来构建一个能执行智能巡检任务的平台。软件数据处理层是系统的关键部分,因为大多数算法和功能都是在这个层上实现的。将数据处理层分为4个模块:思考、感知、导航和操作。审议模块负责规划和协调系统中的所有行为。它从传感器获得经过处理的信息,并决定移动HUSKY机器人和UR3机械臂。感知模块处理感官信息,并找到动车与障碍物在环境中的姿态,与此同时导航模块控制HUSKY移动到所需位置,操纵模块用于控制UR3机械臂移动获取最佳拍摄角度。环境建模用于帮助机器人规划运动轨迹,同时避免碰撞。最后在行为规划层,所有的感觉信息和状态信息都从较低的层收集,以进行动作选择。根据任务的要求,系统会根据当前与任务相关的情况做出不同的决策。整个系统流程如图3所示。

图3 系统流程图Fig.3 System flow chart

1.3 平台硬件

以巡检机器人为硬件平台,在巡检机器人工控机和PC机分别安装Linux系统和机器人操作系统,将PC机与巡检机器人工控机连接在同一网络中,依托机器人操作系统的通信机制,实现在机器人操作系统环境下巡检机器人工控机和PC机的组网。在PC机机器人操作系统中,对RVIZ仿真环境和与移动机器人工控机的通信进行测试,完成了对机械臂的控制和巡检机器人软件平台的搭建。

巡检机器人控制系统的控制流程如图4所示,HUSKY A200机器人和工控机ROS的通信是基于串口通信的。ROS软件的框架结构封装了通信接口,它支持多种不同的语言,比如在C++和python上,使用机器人开源库。串行接口先对中央处理器(Central Processing Unit,CPU)并行信息进行实时接受,然后,把所接收到的一系列参数,转换成不间断的信息流,并且最终完成发送。

图4 巡检机器人控制系统的控制流程Fig.4 Control flow of inspection robot control system

2 机器人自主移动及控制

2.1 环境建模和平台运动控制

在动车运用所的不同位置之间移动平台以执行任务是移动操纵系统的基本要求。在导航模块中提供了2种操作模式:一种是遥控操作模式,另一种是自主模式。在自主模式下,机器人移动以在环境中对动车进行故障检测。导航模块与检测模块紧密耦合,沿平行于动车平面的轨迹移动机器人。防止对机器人和环境造成任何损害,先在GAZEBO软件中构建模拟环境与机器人进行试验。

在一比一建立的虚拟巡检机器人上安装了实时传感器。这些传感器可以与ROS消息和服务结合使用,提供传感器数据,为实现主机和传感器之间的数据传输,并在GAZEBO的描叙文件中对机器人的质量和摩擦力进行了定义。创建的机器人模型如图5所示,各个智能传感器的作用及特点如表2所示。

表2 各个智能传感器的作用及特点Table 2 Function and characteristics of each intelligent sensor

图5 机器人模型Fig.5 Robot model

机器人三维模型或局部结构模型主要用于模拟机器人或帮助开发人员简化日常工作。当然,具体的方法是使用URDF文件,通用机器人描述格式(URDF)是用于描述机器人及其部件参数的一种XML格式的文件。通过GAZEBO建模得到的检测机器人机器的检测环境如图6所示。

图6 检测环境建模Fig.6 Detection environment modeling

机器人的运动仅限于能够在一列动车的长度上导航,随后不需要移动很长的距离,这意味着不需要全局规划。然而,即使在局部规划和运动中,机器人也需要在其环境中安全运行,因此使用点云数据来识别动车的位置。该信息用于使机器人远离动车,并保持预定的分离距离。

本文系统中实现了2个规划模块。一是移动尽量减小机器人与期望位置的距离,二是保持机器人与动车的安全距离。用于向前驱动机器人的目标控制器和用于保持机器人远离动车的安全控制器的计算控制命令被融合,从而得以计算速度命令,该速度命令将控制机器人在环境中移动。融合是2个控制命令的加权和:

cmdgoal和cmdsafety使用人工势场[15-16]算法生成。α和β是根据与任务相关的情况调整的参数。

2.2 目标检测和姿态估计

在无约束环境中的目标检测方法依赖于通过融合2D图像和3D点云的检测结果来获得候选目标假设。由于一些障碍物间离得太近,它们之间会出现数据融合。因此,如何准确、稳定以及误差小地识别障碍物并将其为分类处理提供更好的数据基础,图7为障碍物识别流程图。

图7 障碍物识别流程图Fig.7 Obstacle identification flow chart

在目标识别处理中,Velodyne16线雷达的数据量相对较小,因此,为了保证操作的速度和准确性必须加快处理时间及提高识别难度。本文使用Dimitris Zermas提出的Scan Line Run(SLR)[17]算法,通过标签从上到下扫描线的点云数据实现障碍物的识别。对于平面的估计,使用简单的线性模型:

用n=[abc]T和x=[xyz]T,通过由种子点集合C∈R3x3计算的协方差矩阵S∈R3求解法向n。

首先对顶部扫描线返回的点云数据进行处理。点云数据先得到自己的标签,然后由标签点对下一层的点云数据进行评估。采用寻找最近邻的办法使旧标签只对四周的点感兴趣,并采用双层阈值法解决新点云数据是不是属于旧标签这一方法能实现高效高精的障碍物识别,获得障碍物的具体地址、具体位置点云数据和其他信息。实际的点云图像如图8所示。

图8 实际检测的点云图Fig.8 Point cloud image of actual detection

2.3 轨迹生成

检测完成后,机器人知道确定目标位置在哪里后,使用姿态估计结果,机器人基于当前环境建模结果规划工作空间中的运动轨迹。然后控制机械臂安全移动使相机拍摄视角对准动车需检修部位。

对运动规划算法要求快与安全。本文使用机器人操作系统(ROS)[15]Motoman Package[16]作为基本运动规划驱动程序,并创建了3个ROS服务,包括关节空间中的线性轨迹规划、笛卡尔空间中的线性轨迹规划和关节空间中的点对点轨迹规划,用于系统中的运动规划。

根据定义运动的起始位置和目标位置,使用人工势场算法,可以在期望的运动上找到路径点。吸引力函数是:

其中:ξ是正比例因子;ρ和(q,qgoal)是机器人q与目标(q,qgoal)之间的距离。引力由引力的负梯度给出:

当机器人接近目标时,吸引力趋于0,此时机器人在此力场中移动。

对于机械臂的运动控制只是定义了目标关节角度,没有任何内部路径点。这种方法可以使机械臂尽快到达目标位置。

2.4 机器人运动控制

生成的运动轨迹被定义为关节空间中的一系列路点。每个方向点包含关节角度、时间标记和速度等信息。在机器人上运行ROS程序[18],通过在geometry_msgs/Twis节点来接收速度与转向角信息,用来驱动机器人沿着生成的运动轨迹移动。

2.5 基于深度学习的故障检测

本文基于TENSERFLOW[19]深度学习框架,在本地服务器上搭建了深度学习目标检测环境,骨干网络使用VGG16,配置好的检测网络包括FasterR-CNN和YOLO,使用已建立的动车组故障数据库进行训练后,得到可以对动车组典型故障进行检测的模型。

每个模型通过随机梯度下降的方式实施边到边的培训,把Yolo模型样本的原始学习值设定为0.001,线性动量设定为0.9,衰减为0.000 5。当数字迭代达到20 000和40 000时,学习率降低到当前学习率的1/10,直到损失不再变化。对于Faster R-CNN模型,初始学习率设置为0.001,动量为0.9,衰减为0.000 5,总共80 000个训练步骤。对于Yolo模型检测结果对比如表3所示,对于Faster R-CNN模型检测结果对比如表4所示。

表3 Yolo模型检测结果对比Table 3 Comparison of Yolo model test results

表4 Faster R-CNN模型检测结果对比Table 4 Comparison of fast r-cnn model detection results

3 实验结果和讨论

所提出的设计在虚拟的一比一工作环境和设备下开发和在实际工作环境和移动机器人上验证。本文使用Clearpath Husky移动机器人作为基础平台,集成了一个UR3机械臂和一个定制的末端相机。为了进行环境建模和动车检测,使用velo‐dyne16线激光雷达和IMU结合进行检测和分割。点云信息还用于移动平台的映射和定位。智能巡检平台使用一台笔记本电脑和一个工控机,工控机负责移动平台的运动控制,目标的检测和姿态估计及控制机器人规划运动轨迹,笔记本电脑用来远程遥控机器人运动。

3.1 仿真测试结果

在ROS控制下,利用gazebo建立机器人模型和环境模型,并进行了仿真。如图9所示,使用rviz软件包将模拟结果可视化。通过使用摄影机插件,模拟环境将显示在rviz中。机器人的目标位置是通过电脑鼠标指向并点击来设定的。

图9 模拟结果可视化图Fig.9 Visualization of simulation results

如图10所示,基于在Gazebo搭建的仿真环境,可见当激光雷达采集点的云数据稀疏时,当有4束以上激光束的点云目标时,能稳定、准确地识别障碍物,并通过标定框架进行选定。

图10 GAZEBO环境下检测效果Fig.10 Detection result under gazebo environment

3.2 实际测试结果

在长沙城际动车运用所实际环境中运行,如图11所示,可见当激光雷达采集点的云数据稀疏时,当有4束以上激光束的点云目标时,能稳定、准确地识别障碍物,并通过标定框架进行选定。

图11 实际检测效果Fig.11 Detection result from the collected LiDARdate

本文通过对采集的样本图像进行几何变换和强度变换,将数据扩展到几何变换包括调整图像的截断、旋转和水平翻转,强度变换包括增强的图像对比度和亮度。检测精确度如表5所示(样本数为识别时的图片数量)。

表5 检测精确度对比Table 5 Comparison table of detection accuracy

3.3 动车故障检测结果

Fast R-CNN是一个可以在图形处理器中计算的完全卷积的网络,被应用于生成高质量的候选区域。此外,该神经网络可以与检测模型共享一个卷积层,并采用感兴趣区域策略将候选区域映射到神经网络的特征层,直接在特征层提取相应区域的深层特征。通过感兴趣区域策略避免将候选区域重复输入到特征层,不仅减少了检测时间,而且提高了检测精度。在动车运用所环境下,使用巡检机器人对动车故障检测,效果如图12所示。

图12 动车故障检测效果Fig.12 Fault detection on a collected real photo

4 结论

1)本文巡检平台设计可搭配不同种底盘机器人以满足不同作业环境需求。

2)使用激光雷达进行障碍物检测,实现了各种光线条件下方案实施的可行性,提高了识别率。

在本文工作支持下,可在动车所实施智能巡检技术,大幅提高了检修效率。下一步是开发工业机械手的抓取和拉动能力,该系统将在不同条件下在更多的动车运用所进行更多的测试。

猜你喜欢

动车机器人环境
山西11个地级市实现动车全覆盖
坐上动车去西藏
长期锻炼创造体内抑癌环境
一种用于自主学习的虚拟仿真环境
动车过桥
孕期远离容易致畸的环境
环境
乐!乘动车,看桂林
机器人来帮你
认识机器人