一种基于ROS的变电站巡检机器人***及其方法
技术领域
本公开属于变电站巡检机器人领域,尤其涉及一种基于ROS的变电站巡检机器人***及其方法。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
目前变电站巡检机器人已在国内得到了大规模推广应用,有效解决了传统人工巡检所面临的劳动强度大,检测质量分散,部分区域难以实施巡检的问题,提高了巡检作业和管理的自动化和智能化水平。
近年来激光导航、视觉伺服等技术的相继应用于变电站巡检机器人,有效提升了现有变电站巡检机器人运行的灵活性的设备状态数据采集的质量,然而发明人发现,随着机器人***功能的不断添加,各种功能模块间的数据交互关系日趋复杂,基于集中式架构的机器人本体***的复杂性和开发调试难度不断增加,不利于机器人***功能进一步扩充与性能的提升。
发明内容
为了解决上述问题,本公开提供一种基于ROS的变电站巡检机器人***及其方法,其将底层硬件部和上层控制部所包含的模块均封装成ROS节点,利用ROS提供的网络进程间通信交互机制,实现了对机器人本体各功能的模块化封装和即插即用,方便机器人***的功能扩展增强。
为了实现上述目的,本公开采用如下技术方案:
本公开的第一个方面提供一种基于ROS的变电站巡检机器人***。
一种基于ROS的变电站巡检机器人***,包括:
底层硬件部和上层控制部;
所述底层硬件部包括运动控制模块,其被封装成运动控制ROS节点,用于采集机器人的运动信息及接收上层控制部的运动指令来控制机器人运动;
环境感知模块,其被封装成环境感知ROS节点,用于采集机器人所处的变电站内环境信息;
所述上层控制部,包括地图构建模块,其被封装成地图构建ROS节点,地图构建ROS节点与运动控制ROS节点和环境感知ROS节点分别相互通信;所述地图构建ROS节点用于根据机器人的运动信息及变电站内环境信息,构建机器人变电站内运行环境地图。
作为一种实施方式,所述底层硬件部,还包括电源管理模块,其被封装成电源管理ROS节点,用于对机器人电源的电量进行管理。
作为一种实施方式,所述底层硬件部,还包括检测作业模块,其被封装成检测作业ROS节点,用于对与机器人相连的云台进行闭环控制及运行状态监测。
作为一种实施方式,所述底层硬件部,还包括通信控制模块,其被封装成通信控制ROS节点,用于负责机器人***与站内后台监控***之间的通信。
作为一种实施方式,所述上层控制部,还包括全局定位模块,其被封装成全局定位ROS节点,所述全局定位ROS节点与地图构建ROS节点、运动控制ROS节点和环境感知ROS节点分别相互通信;所述全局定位ROS节点用于在变电站内运行环境地图的基础上,依据机器人的运动信息及变电站内环境信息,对变电站内的机器人进行全局定位。
作为一种实施方式,所述上层控制部,还包括导航控制模块,其被封装成导航控制ROS节点,所述导航控制ROS节点与全局定位ROS节点、运动控制ROS节点和环境感知ROS节点分别相互通信;在机器人定位信息基础上,依据巡检任务下发控制指令至运动控制节点,实现机器人站内运行。
本公开的第二个方面提供一种基于ROS的变电站巡检机器人***的工作方法。
一种基于ROS的变电站巡检机器人***的工作方法,包括:
运动控制ROS节点采集机器人的运动信息及接收上层控制部的运动指令来控制机器人运动;
环境感知ROS节点采集机器人所处的变电站内环境信息;
地图构建ROS节点接收运动控制ROS节点和环境感知ROS节点分别上传的机器人的运动信息及变电站内环境信息,构建机器人变电站内运行环境地图。
作为一种实施方式,基于ROS的变电站巡检机器人***的工作方法,还包括:
全局定位ROS节点接收地图构建ROS节点、运动控制ROS节点和环境感知ROS节点分别上传的变电站内运行环境地图、机器人的运动信息及变电站内环境信息,对变电站内的机器人进行全局定位。
作为一种实施方式,基于ROS的变电站巡检机器人***的工作方法,还包括:
导航控制ROS节点接收全局定位ROS节点、运动控制ROS节点和环境感知ROS节点分别上传的全局定位信息、变电站内运行环境地图、机器人的运动信息及变电站内环境信息,依据巡检任务下发控制指令至运动控制节点,实现机器人站内运行。
本公开的有益效果是:
(1)本公开将底层硬件部和上层控制部所包含的模块均封装成ROS节点,利用ROS提供的网络进程间通信交互机制,实现了对机器人本体各功能的模块化封装和即插即用,方便机器人***的功能扩展增强。
(2)由于ROS的开源特性,在后续变电站巡检机器人技术研发过程中,可以充分借鉴和利用现有ROS开源资源支持,方便新功能在机器人***中的测试和部署,有效降低机器人***开发调试难度。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例的基于ROS的变电站巡检机器人***的各模块连接关系图;
图2是本公开实施例的基于ROS的变电站巡检机器人***的各节点连接关系图;
图3是本公开实施例的环境地图构建流程示意图;
图4是本公开实施例的全局定位流程示意图;
图5是本公开实施例的导航控制流程示意图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在本公开中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本公开各部件或元件结构关系而确定的关系词,并非特指本公开中任一部件或元件,不能理解为对本公开的限制。
本公开中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本公开中的具体含义,不能理解为对本公开的限制。
术语解释:
ROS,Robot Operating System,是一个机器人软件平台,它能为异质计算机集群提供类似操作***的功能。
如图1和图2所示,本实施例的基于ROS的变电站巡检机器人***,包括:
底层硬件部和上层控制部;
所述底层硬件部包括运动控制模块,其被封装成运动控制ROS节点,用于采集机器人的运动信息及接收上层控制部的运动指令来控制机器人运动;
环境感知模块,其被封装成环境感知ROS节点,用于采集机器人所处的变电站内环境信息;
所述上层控制部,包括地图构建模块,其被封装成地图构建ROS节点,地图构建ROS节点与运动控制ROS节点和环境感知ROS节点分别相互通信;所述地图构建ROS节点用于根据机器人的运动信息及变电站内环境信息,构建机器人变电站内运行环境地图。
在具体实施中,运动控制模块包含底盘本体、左右轮驱动电机及对应运动控制器,左右轮驱动电机安装于底盘本体两侧,驱动电机功率输入端及电机轴上安装的编码器连接运动控制器。
环境感知模块,包含激光、视觉等机器人定位导航用环境感知传感器;
地图构建模块,依据底层运动控制节点反馈编码器反馈与环境感知模块获取环境感知数据,实现机器人变电站内运行环境地图构建。
在具体实施中,如图3所示,地图构建模块构建地图的过程为:
步骤11):遥控机器人站内运行,地图构建节点采集运动控制ROS节点反馈编码器反馈与环境感知节点获取环境感知数据,利用SLAM(simultaneous localization andmapping,同时定位与地图构建)算法,如GMapping、Cartographer、ORB-SLAM等,增量式创建环境地图;
步骤12):实时存储当前所建立地图,并重复步骤11)直至得到机器人定位导航所需环境地图。
作为一种实施方式,所述底层硬件部,还包括电源管理模块,其被封装成电源管理ROS节点,用于对机器人电源的电量进行管理。
电源管理模块,包含蓄电池、电源管理板及充电机构,连接机器人各硬件模块,为各模块提供电源供给。
作为一种实施方式,所述底层硬件部,还包括检测作业模块,其被封装成检测作业ROS节点,用于对与机器人相连的云台进行闭环控制及运行状态监测。
检测作业模块,包含云台以及云台上安装的可见光摄像机、红外热像仪等非接触检测传感器。其中,云台可为二自由度电控云台结构。
作为一种实施方式,所述底层硬件部,还包括通信控制模块,其被封装成通信控制ROS节点,用于负责机器人***与站内后台监控***之间的通信。
通信控制模块,包含无线网桥和机器人工控机,无线网桥负责连接站内机器人监控后台及机器人工控机,而机器人工控机则集中连接运动控制器、电源管理板、环境感知传感器、云台及检测传感器。
通信控制ROS节点:负责机器人***与站内机器人后台监控***之间的数据通信与***交互,主要完成机器人远程遥控(底盘运动、云台控制等)、巡检任务接收解析下发、收集各节点数据并回传至站内机器人后台监控***。
作为一种实施方式,所述上层控制部,还包括全局定位模块,其被封装成全局定位ROS节点,所述全局定位ROS节点与地图构建ROS节点、运动控制ROS节点和环境感知ROS节点分别相互通信;所述全局定位ROS节点用于在变电站内运行环境地图的基础上,依据机器人的运动信息及变电站内环境信息,对变电站内的机器人进行全局定位。
全局定位ROS节点:在地图构建ROS节点构建的环境地图基础上,依据底层运动控制反馈编码器反馈与环境感知ROS节点获取环境感知数据,实现机器人变电站全局定位。
如图4所示,全局定位ROS节点实现机器人变电站全局定位的具体步骤为:
步骤21):全局定位ROS节点读取地图构建节点输出的环境地图数据;
步骤22):利用通信控制ROS节点设定机器人在地图内初始位姿(位置和姿态、下同)并启动全局定位所用粒子集;
步骤23):机器人在巡检任务或遥控指令控制下在站内运行,利用AMCL(AdaptiveMonte Carlo Localization,自适应蒙特卡洛定位)算法,实现粒子集迭代更新直至机器人位姿收敛,从而实现机器人站内全局定位。
作为一种实施方式,所述上层控制部,还包括导航控制模块,其被封装成导航控制ROS节点,所述导航控制ROS节点与全局定位ROS节点、运动控制ROS节点和环境感知ROS节点分别相互通信;在机器人定位信息基础上,依据巡检任务下发控制指令至运动控制节点,实现机器人站内运行。
导航控制ROS节点:在全局定位ROS节点得到机器人定位信息基础上,结合环境感知ROS节点获取数据,依据巡检任务下发控制指令至运动控制ROS节点,实现机器人站内运行。
如图5所示,本实施例的导航控制ROS节点的具体工作过程为:
步骤31):导航控制ROS节点读取地图构建节点输出的环境地图数据,并基于通信控制ROS节点所获取后台监控***下发的巡检任务,利用全局路径规划算法(Dijkstra、A*等)规划机器人运行路线;
步骤32):全局定位ROS节点读取地图构建节点输出的环境地图数据实现机器人全局定位;
步骤33):导航控制ROS节点发送运动控制指令至运动控制节点,并采集环境感知ROS节点获取的环境感知数据,以探测机器人运行方向上是否存在障碍,若存在障碍,则进行局部路径规划(动态窗口、人工势场等),以实现对障碍的避让。
步骤34):导航控制ROS节点控制机器人沿规划路线运行,直至完成整个巡检任务路线。
本实施例的一种基于ROS的变电站巡检机器人***的工作方法,包括:
运动控制ROS节点采集机器人的运动信息及接收上层控制部的运动指令来控制机器人运动;
环境感知ROS节点采集机器人所处的变电站内环境信息;
地图构建ROS节点接收运动控制ROS节点和环境感知ROS节点分别上传的机器人的运动信息及变电站内环境信息,构建机器人变电站内运行环境地图。
作为另一种实施方式,基于ROS的变电站巡检机器人***的工作方法,还包括:
全局定位ROS节点接收地图构建ROS节点、运动控制ROS节点和环境感知ROS节点分别上传的变电站内运行环境地图、机器人的运动信息及变电站内环境信息,对变电站内的机器人进行全局定位。
作为另一种实施方式,基于ROS的变电站巡检机器人***的工作方法,还包括:
导航控制ROS节点接收全局定位ROS节点、运动控制ROS节点和环境感知ROS节点分别上传的全局定位信息、变电站内运行环境地图、机器人的运动信息及变电站内环境信息,依据巡检任务下发控制指令至运动控制节点,实现机器人站内运行。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。