首页 / 基于GNSS和2D激光雷达的机器人室内外定点巡检方法及系统

基于GNSS和2D激光雷达的机器人室内外定点巡检方法及系统实质审查 发明

技术领域

[0001] 本发明涉及定位导航技术领域,具体涉及一种基于GNSS和2D激光雷达的机器人室内外定点巡检方法及系统。

相关背景技术

[0002] 现有的机器人导航方法包括:激光雷达导航、视觉导航、GNSS导航、航道导航等,其中,激光导航和GNSS导航是时下最为广泛运用的导航方法。目前室内导航中最为广泛运用的激光雷达导航,虽然在室内能够取得良好的定位精度,但在室外开阔环境中,定位系统会由于环境的原因出现较大的误差甚至无法进行定位,且会造成机器人的车载计算机计算量巨大;室外导航中GNSS定位系统原理简单清晰,但在室内外环境交界处会由于建筑物的遮挡、天空可见度的变化等原因丢失定位。以上两种导航方法能在单一环境中执行导航任务,如单一的室内环境或室外环境,但在环境发生变化时,导航可能会无法进行定位、定位不准确或丢失定位。
[0003] 而在实际应用中,巡检机器人往往需要在室内机房和室外设施等不同环境中进行日常的巡检工作,如公开号为CN114739404A,公开了一种带电作业机器人定位系统,包括主机、通信盒子、工控机和传感器,所述主机、通信盒子和传感器均安装于室外带电作业机器人上,主机集成了所述的惯性测量单元、GNSS‑RTK定位模块、主控芯片以及外围硬件接口,主控芯片设有所述ESKF滤波器,通信盒子、工控机、传感器均通信连接主机连接,工控机通信连接激光雷达模块,能够满足带电机器人在多种场景下的定位需求,但其仍然存在以下问题:其在不同场景中GNSS‑RTK定位模块与激光雷达模块均始终处于定位工作状态,一定程度上造成了资源的浪费,机器人车载计算机计算量巨大,或需要更换算力更强的计算机,从而增加制作成本。

具体实施方式

[0046] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047] 实施例1
[0048] 如图1所示,为本发明实施例1整体的流程图,本发明提供一种基于GNSS和2D激光雷达的机器人室内外定点巡检方法,包括以下步骤:
[0049] S1:采集室内与室外的环境信息并建图,在室内与室外分别选取关键节点并采集关键节点信息,具体过程为:
[0050] S101:首先对室内环境信息进行采集并建图,通过Cartographer激光雷达SLAM算法构建二维栅格地图,采用机器人操作系统(ROS)建立包含pgm图像文件和yaml地图参数文件的2D激光栅格地图文件,如图2所示。将机器人在室内的巡检地点、通道拐角处、出入口作为关键节点,将每个关键节点在2D激光栅格地图中对应的坐标(xa,ya)编号、记录并存储于机器人车载计算机中。在进行室内的激光雷达建图时,也将室外的小部分区域进行建图,以便进行室内外导航路径的计算与模块的切换;
[0051] S102:再对室外环境信息进行采集并建图,如图3所示,将机器人在室外的巡检地点与道路交汇处作为关键节点,操作机器人经过室外关键节点,读取机器人GNSS模块接收到的经纬度信息,并记录为(xb,yb),为了将坐标信息导入机器人的本身的/odom坐标系中,需要将WGS‑84坐标系下的经纬坐标(xbi,yb)转化为东北天坐标(ENU)下的统一横轴墨卡托(UTM)坐标(Ei,Ni),得到新的坐标,此步骤可通过Python中的功能包实现;将每个节点编号与坐标信息存储于机器人车载计算机中;
[0052] S103:经过上述两个步骤后,每个关键节点包含以下信息:(xai,yai,Ei,Ni,a),其中xai,yai是机器人在2D激光栅格地图中的坐标,Ei,Ni是机器人在UTM坐标系下的坐标,a是2D栅格地图的编号,若存在多个室内建筑物需要进行巡检工作的情况,将不同的地图进行编号排序。对于室外节点,xai,yai设为无穷大,a设为0;对于室内节点,Ei,Ni设为无穷大,a设为其所在栅格地图对应的编号;对于室内外交界处的节点,同时记录两种坐标系下的坐标,以此能够快速的确定联通关系。
[0053] S2:确定各关键节点间的连通关系,构建对应的拓扑地图;结合图4与图5,根据机器人工作地点的实际情况与各点间的连通关系,构建无向图G=,其中V为顶点集,E为边集,W为权值。得到巡检机器人工作环境的抽象拓扑图。其中,室内关键节点(xai,yai)与(zaj,yaj)间的距离为: 室外关键地点间的距离根据UTM坐标系下两点的坐标(Ei,Ni)与(Ej,Nj)进行计算,室外两点间的距离为:
[0054] S3:机器人接收由客户端传入的所有指定巡检地点,根据全局路径规划算法,具体为:
[0055] S301:根据客户端传入的所有指定巡检地点,将关键节点按是否是指定巡检地点分类;
[0056] S302:从当前起始点开始Dijkstra算法,搜索当前起始点周围的关键节点并判断其是否是指定巡检地点;若是,则记录下当前起始点到该指定巡检地点的距离,若不是,则继续搜索,直至记录完当前起始点与所有指定巡检地点的距离;然后将当前起始点到所有指定巡检地点的距离按长短大小进行排序,选择距离当前起始点最短的指定巡检地点作为新的起始点;
[0057] S303:由步骤S302中确定的新起始点开始,重新执行步骤S302;
[0058] S304:重复执行S302‑S303,直至访问完所有指定巡检地点;再寻找最后一次访问的指定巡检地点到最终目标地点的最短路径,合并所有分段路径,最终得到一条从起始点到最终目标地点的近似最优解的最短路径;
[0059] 规划巡检路线时,机器人针对不同工作环境计算最短路径的过程不同,具体为:
[0060] 若机器人仅在单一的环境,如仅在室内或室外工作,则按公式:与 正常计算;
[0061] 若机器人在室内与室外两种环境工作,在建筑物出入口加入室外指定点位,分别计算处于室内的指定巡检地点与所述室外指定点位之间的最短路径与;处于室外的指定巡检地点与所述室外指定点位之间的最短路径;
[0062] 若机器人需要在多个室内环境进行巡检工作,将建筑物出入口处加入指定点位,先进行室外路径的计算,得到室外最短路径,根据所得的最短路径上建筑物出入口的顺序对室内环境进行巡检;
[0063] 规划出一条经过所有指定巡检地点且路径最短的巡检路线后,机器人开始运行。
[0064] S4:如图6所示,机器人依次经过巡检路线上的目标节点,具体过程如下:
[0065] S401:机器人抵达第一个指定巡检地点后,获取该巡检地点的关键节点信息(xai,yai,Ei,Ni,ai),接收下一巡检地点作为新目标地点并获取关键节点信息(xaj,yaj,Ej,Nj,aj),判断新目标地点处于室内还是室外后,调整机器人定位方法,具体调整过程为:
[0066] (1)若ai‑aj=0,此时机器人处于单一的室内或室外环境,保持当前导航方法不变,机器人前往下一目标节点;
[0067] (2)若ai‑aj<0,此时机器人由室外进入室内,将室外导航转换为室内导航,将扩展卡尔曼滤波算法中的GNSS部分关闭,启动激光雷达定位算法,读取对应2D栅格地图,进行初始重定位,确定机器人在室内2D栅格地图中的位置,机器人前往下一目标地点:
[0068] (3)若ai‑aj>0,此时机器人由室内进入室外,由室内导航切换为室外导航,关闭激光雷达定位算法,启动结合GNSS信息的扩展卡尔曼滤波算法进行室外定位,机器人前往下一目标地点;
[0069] S402:若判断出机器人由室外进入室内,且需要执行室内巡检,当机器人抵达建筑物出入口的关键节点时,确定机器人所在建筑物,读取对应构建的拓扑地图与此关键节点坐标信息,进行室内的定点导航,将扩展卡尔曼滤波算法中的GNSS部分关闭,启动激光雷达自适应蒙特卡洛定位(AMCL)算法,进行初始重定位,确定机器人在室内2D栅格地图中的位置;
[0070] 当机器人处于室内环境中,根据已有的拓扑地图与关键节点坐标进行定点导航,机器人将巡检路线中处于室内部分的路径上的指定巡检地点,作为单次规划路径的终点并依次经过;在机器人运行过程中,启动激光雷达作为局部避障的传感器,当激光雷达工作范围内出现未知障碍物,机器人通过动态窗口局部路径规划算法进行避障,绕开障碍后继续向局部目标地点前进;
[0071] S403:若判断机器人由室内进入室外,机器人需要进行室外巡检,机器人结合GNSS、IMU、里程计等传感器提供的信息,提高室外的定位精度,输出的结果是经过校正的里程计信息和GNSS信息,如图7所示;借助修正后的信息,机器人沿S3中得到的巡检路径,依次将路径上的点作为局部路径的终点,在行驶过程中,同样通过动态窗口法局部路径规划与激光雷达进行局部避障;
[0072] 当机器人在室外且信号良好,对于室外GNSS定位系统,通过扩展卡尔曼滤波(EKF)算法,将GNSS、轮式里程计、IMU等传感器进行融合,获取更为准确的位置信息;依次经过巡检路线上的室外指定巡检地点,将室外节点的UTM坐标信息转化至机器人本身的/odom坐标系中,发送目标节点的坐标,机器人朝向目标地点前进;
[0073] S404:抵达一个目标地点后,机器人接收到抵达目标地点的关键节点信息,确认机器人到达目标节点后,以当前节点为起点,重新执行S4。
[0074] S5:经过每一个全局路径上的节点后,导航结束,根据要求决定是否循环执行工作。根据工作的具体需求,设定机器人接下来的行动:若需要循环巡检,机器人将根据本次操作人员重新设定的所有指定巡检地点,从当前路径的终点开始重新规划一条巡检路线,重复上述的定点导航流程;若需要进行充电,机器人可规划出直达充电地点的路径并自行前往。
[0075] 在本实施方式中,还包含人机交互界面,将机器人车载计算机与本地计算机通过SSH等方式连接后,能够便捷的对关键节点、室内外地图进行设定与调整,也能够监测机器人的运行状况、实时轨迹等信息,并根据实际要求发布巡检任务。
[0076] 本实施例在实际运行中能根据工作人员和工作任务的需求灵活选择机器人的定位方法,能够同时发挥GNSS与2D激光雷达的优点,使机器人能在室内外不同环境下都能实现巡检工作,机器人针对不同环境能够及时、精准的切换定位导航方法,可以避免两种或多种方法同时进行从而造成不必要的资源浪费,并且能在工作中自主避障,具有优秀的灵活性。
[0077] 实施例2
[0078] 与本发明实施例1相对应的,本发明实施例2还提供一种基于GNSS和2D激光雷达的机器人室内外定点巡检系统,包括以下模块:
[0079] 建图模块:用于采集室内与室外的环境信息并建图,在室内与室外分别选取关键节点并采集关键节点信息;具体包括如下单元:
[0080] 采集并建图单元:用于执行如下步骤:首先对室内环境信息进行采集并建图,通过Cartographer激光雷达SLAM算法构建二维栅格地图,采用机器人操作系统(ROS)建立包含pgm图像文件和yaml地图参数文件的2D激光栅格地图文件,如图2所示。将机器人在室内的巡检地点、通道拐角处、出入口作为关键节点,将每个关键节点在2D激光栅格地图中对应的坐标(xa,ya)编号、记录并存储于机器人车载计算机中。在进行室内的激光雷达建图时,也将室外的小部分区域进行建图,以便进行室内外导航路径的计算与模块的切换;
[0081] 再对室外环境信息进行采集并建图,如图3所示,将机器人在室外的巡检地点与道路交汇处作为关键节点,操作机器人经过室外关键节点,读取机器人GNSS模块接收到的经纬度信息,并记录为(xb,yb),为了将坐标信息导入机器人的本身的/odom坐标系中,需要将WGS‑84坐标系下的经纬坐标(xbi,yb)转化为东北天坐标(ENU)下的统一横轴墨卡托(UTM)坐标(Ei,Ni),得到新的坐标,此步骤可通过Python中的功能包实现;将每个节点编号与坐标信息存储于机器人车载计算机中;
[0082] 经过上述两个步骤后,每个关键节点包含以下信息:(xai,yai,Ei,Ni,a),其中xai,yai是机器人在2D激光栅格地图中的坐标,Ei,Ni是机器人在UTM坐标系下的坐标,a是2D栅格地图的编号,若存在多个室内建筑物需要进行巡检工作的情况,将不同的地图进行编号排序。对于室外节点,xai,yai设为无穷大,a设为0;对于室内节点,Ei,Ni设为无穷大,a设为其所在栅格地图对应的编号;对于室内外交界处的节点,同时记录两种坐标系下的坐标,以此能够快速的确定联通关系。
[0083] 构建拓扑地图模块:用于确定各关键节点间的连通关系,构建对应的拓扑地图;结合图4与图5,根据机器人工作地点的实际情况与各点间的连通关系,构建无向图G=,其中V为顶点集,E为边集,W为权值。得到巡检机器人工作环境的抽象拓扑图。其中,室内关键节点(xai,yai)与(xaj,yaj)间的距离为: 室外关键地点间的距离根据UTM坐标系下两点的坐标(Ei,Ni)与(Ef,Nj)进行计算,室外两点间的距离为:
[0084] 规划巡检路线模块:用于在机器人接收由客户端传入的所有指定巡检地点后,根据全局路径规划算法,规划出一条经过所有指定巡检地点的巡检路线后,机器人开始运行;具体包括如下单元:
[0085] 判断指定巡检地点单元:用于根据客户端传入的所有指定巡检地点,将关键节点按是否是指定巡检地点分类;
[0086] 寻找最短路径单元:用于从当前起始点开始Dijkstra算法,搜索当前起始点周围的关键节点并判断其是否是指定巡检地点;若是,则记录下当前起始点到该指定巡检地点的距离,若不是,则继续搜索,直至记录完当前起始点与所有指定巡检地点的距离;然后将当前起始点到所有指定巡检地点的距离按长短大小进行排序,选择距离当前起始点最短的指定巡检地点作为新的起始点;
[0087] 从确定的新起始点开始,寻找最短路径单元再次工作;
[0088] 得到最终路径单元:用于在判断指定巡检地点单元与寻找最短路径单元反复工作,直至访问完所有指定巡检地点后;再寻找最后一次访问的指定巡检地点到最终目标地点的最短路径,合并所有分段路径,最终得到一条从起始点到最终目标地点的近似最优解的最短路径;
[0089] 调整机器人定位方法模块:用于在机器人抵达第一个指定巡检地点后,获取该巡检地点的关键节点信息,接收下一巡检地点作为新目标地点并获取关键节点信息,判断新目标地点处于室内还是室外,调整机器人定位方法,而后机器人依次经过规划巡检路线上每一个指定巡检地点;具体包括如下单元:
[0090] 判断目标地点位置信息单元:用于在机器人抵达第一个指定巡检地点后,获取该巡检地点的关键节点信息(xai,yai,Ei,Ni,ai),接收下一巡检地点作为新目标地点并获取关键节点信息(xaj,yaj,Ej,Nj,aj),判断新目标地点处于室内还是室外后,调整机器人定位方法,具体调整过程为:
[0091] (1)若ai‑ak=0,此时机器人处于单一的室内或室外环境,保持当前导航方法不变,机器人前往下一目标节点;
[0092] (2)若ai‑ak<0,此时机器人由室外进入室内,将室外导航转换为室内导航,将扩展卡尔曼滤波算法中的GNSS部分关闭,启动激光雷达定位算法,读取对应2D栅格地图,进行初始重定位,确定机器人在室内2D栅格地图中的位置,机器人前往下一目标地点:
[0093] (3)若ai‑aj>0,此时机器人由室内进入室外,由室内导航切换为室外导航,关闭激光雷达定位算法,启动结合GNSS信息的扩展卡尔曼滤波算法进行室外定位,机器人前往下一目标地点;
[0094] 判断巡检是否执行模块:用于在导航结束后,根据要求决定是否循环执行工作。根据工作的具体需求,设定机器人接下来的行动:若需要循环巡检,机器人将根据本次操作人员重新设定的所有指定巡检地点,从当前路径的终点开始重新规划一条巡检路线,重复上述的定点导航流程;若需要进行充电,机器人可规划出直达充电地点的路径并自行前往。
[0095] 本实施例通过各模块的运行及配合,实现了机器人在室内外不同环境均能进行巡检工作,且机器人将GNSS与2D激光雷达结合并及时切换导航定位技术,可避免单独使用2D激光雷达巡检室外环境时车载计算机计算量巨大的问题,能够在算力较低的车载计算机上运行,有效降低了计算机的运算量与运行成本。
[0096] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页 第1页 第2页 第3页
相关技术
定点检相关技术
室内外相关技术
严怀成发明人的其他相关专利技术