全局路径规划系统及方法与流程

文档序号:35893212发布日期:2023-10-28 21:09阅读:33来源:国知局
全局路径规划系统及方法与流程

本发明涉及机器人及其智能控制,具体地说是一种全局路径规划系统及方法。


背景技术:

1、当前机器人应用非常广泛,如巡检机器人,配送机器人等,核心技术是让机器人自主的从当前位置移动到目标位置。以室内机器人为例,室内环境墙壁等静态障碍物比较多,在预先设置好场景栅格地图的情况下,如果直接让机器人通过路径查找算法确认全局路径,一般都是查找最短路径,路径规划会紧贴墙壁或其他障碍物。但是在实际沿路径走的过程中,机器人上的传感器要持续的计算周围的障碍物,防止撞人等情况发生。由于之前规划的路径靠墙比较近,对传感器就会造成影响,可能产生停止前进或者进入绕过障碍物的进程。

2、专利号为cn113917912a的专利申请公开了一种全局路径规划方法、装置、终端及可读存储介质,通过:获取机器人所处环境的环境信息及目标终点,环境信息包括环境中的障碍物信息及所述机器人的起始位置;根据障碍物信息,确定环境对应的栅格地图中各目标栅格对应的环境复杂度;根据预先存储的全局路径规划算法、目标终点、起始位置和环境复杂度进行全局路径规划,得到目标全局路径;基于目标全局路径确定最终全局路径,以使机器人按照最终全局路径运行至目标终点。但是该技术方案规划出来的全局道路不居中,有拐角的地方总是贴着角走,这就导致机器人需要绕障造成曲线行走的问题。

3、故如何减少机器人绕障造成的曲线行走,同时提高机器人路径规划效率是目前亟待解决的技术问题。


技术实现思路

1、本发明的技术任务是提供一种全局路径规划系统及方法,来解决如何减少机器人绕障造成的曲线行走,同时提高机器人路径规划效率的问题。

2、本发明的技术任务是按以下方式实现的,一种全局路径规划系统,该系统包括:

3、导入单元,用于将机器人扫描的场景通过激光雷达转换为场景栅格地图,并导入栅格地图标注工具中;其中,栅格地图标注工具用于以直线为主且道路居中的方式规划出全局路径,并以直线长度为权重,在临界矩阵中查找最短路径;

4、坐标提取单元,用于提取栅格地图中心点x坐标、y坐标以及像素与实际场景米的换算比例值,并保存到map_info中;

5、交通网络构建单元,用于在栅格地图标注工具中将可能达到的地方用lineitem连接起来,形成一个室内交通网络;

6、坐标系转换单元,用于将交通网络保存成地图标注文件,pointitem保存点的id、x坐标和y坐标;lineitem保存起点和终点的id及起点和终点之间的距离;

7、路径选取单元,用于使用地图标注文件,加载地图文件中的pointitem与pointitem之间的关系,即lineitem以及lineitem的长度属性,生成带有权重的邻接矩阵,通过邻接矩阵表示图确定图中任意两个顶点是否有边相连,从而求出最短的全局路径。

8、作为优选,所述栅格地图标注工具基于qt的qgraphics图形视图框架,qgraphics图形视图框架分为三层,具体如下:

9、qgraphicsitem层,每个表示一个图元;

10、qgraphicsscene层,保存并管理这所有的qgraphicsitem;

11、qgraphicsview层,把qgraphicsscene层中需要展示的图元显示在屏幕上;

12、其中,栅格地图标注工具继承qgraphics图形视图框架中的qgraphicsitem,派生出pointitem和lineitem两个类,分别代表导航点和线段。

13、更优地,所述栅格地图标注工具以操作点的方式形成和保存道路信息;其中,操作点的方式包括点击以生成或选中点、连接新生成的点或已有的点、在线上所点击位置添加新的点以及连接点和一条线形成t字。

14、更优地,所述栅格地图标注工具包括:

15、定义模块一,用于重写父类中type()方法,定义pointitem的type()方法返回值为usertype+1;并定义lineitem的type()方法返回值为usertype+2;

16、定义模块二,用于通过pointitem保存以该点作为lineitem端点的所有的lineitem,并通过lineitem保存该lineitem的起始pointitem和终止pointitem;

17、查找模块,用于选择导航点功能后,点击栅格地图,通过鼠标在栅格地图中的位置,在qgraphicsscene中查到该位置的qgraphicsitem;

18、删除模块,用于删除lineitem及删除pointitem;

19、修改模块,用于通过鼠标拖拽改变pointitem的位置,与之相连的lineitem自动修改位置,刷新起始点;并拖拽lineitem,起始pointitem和终止pointitem跟踪移动相应的距离;

20、坐标转换模块,用于将pointitem在栅格地图中的x坐标及y坐标换算成x轴与y轴的真实值;

21、保存模块,用于从qgraphicsscene中获取所有的pointitem和lineitem,给所有的pointitem排序,并以排序顺序作为id;同时保存所有pointitem的id值、x真实值和y真实值;保存所有lineitem的起始pointitem的id值、终止pointitem的id值以及起始pointitem和终止pointitem的距离信息,作为寻路时的权重值。

22、更优地,所述查找模块中鼠标在栅格地图中点击处是否为空,情况如下:

23、①当鼠标点击处为空白时,新生成一个pointitem;设已经点击生成了一个pointitem或者点击了一个pointitem而选中了该pointitem,自动在该pointitem与新生成的pointitem之间生成一条lineitem;

24、②当鼠标点击处不为空时,情况如下:

25、查询该qgraphicsitem的type()为usertype+1:说明鼠标点击到了一个pointitem,选中该pointitem;设已经点击生成了一个pointitem或者点击了一个pointitem而选中了该pointitem,自动在该pointitem与新生成的pointitem之间生成一条lineitem;

26、查询该qgraphicsitem的type()为usertype+2:说明鼠标点击到了一条lineitem,在点击位置新生成一个pointitem,以点击到的lineitem的起始pointitem为起点,以新生成的pointitem为终点生成一个新的lineitem;再以新生成的pointitem为起点,以点击到的lineitem的终止pointitem为终点生成新的lineitem;再将点击到的lineitem删除,最后设已经点击生成了一个pointitem或者点击了一个pointitem而选中了该pointitem,会自动在该pointitem与新生成的pointitem之间生成一条lineitem。

27、更优地,所述删除模块具体如下:

28、删除一条lineitem时,将起始和终止pointitem中保存的以自身为端点的所有lineitem中删除掉该lineitem;若删除掉该lineitem后,pointitem中保存的以自身为端点的所有lineitem数量为0,则将该pointitem同时删除;

29、删除pointitem时,将以该pointitem为端点的所有lineitem同时删除。

30、更优地,所述坐标转换模块具体如下:

31、在鼠标点击栅格地图生成pointitem时,qgraphics框架已经将鼠标在屏幕中的位置转变为鼠标在qgraphicsscene中的位置;因为在加载栅格地图时设置qgraphicsscene的大小同栅格地图的大小,所以qgraphicsscene的远点的位置为栅格地图左上角的位置,栅格地图中每向右移动一个像素,坐标的x值+1,每往下移动一个像素,坐标的y值+1;

32、机器人在使用栅格地图时,栅格地图保存中心点的x坐标和y坐标以及栅格地图像素与米的换算比值;在栅格地图的坐标系中:每向右移动一个像素,坐标的x值+1,每往下移动一个像素,坐标的y值+1;两个坐标系的y轴是相反的;

33、在保存pointitem时,x真实值和y真实值的公式如下:

34、x真实值=(pointitem在栅格地图中的x坐标-栅格地图中心点x坐标)*像素与米的换算比值;

35、y真实值=-(pointitem在栅格地图中的y坐标-栅格地图中心点y坐标)*像素与米的换算比值。

36、一种全局路径规划方法,该方法具体如下:

37、将机器人扫描的场景通过激光雷达转换为场景栅格地图,并导入栅格地图标注工具中;其中,栅格地图标注工具用于以直线为主且道路居中的方式规划出全局路径,并以直线长度为权重,在临界矩阵中查找最短路径;

38、提取栅格地图中心点x坐标、y坐标以及像素与实际场景米的换算比例值,并保存到map_info中;

39、在栅格地图标注工具中将可能达到的地方用lineitem连接起来,形成一个室内交通网络;

40、将交通网络保存成地图标注文件,pointitem保存点的id、x坐标和y坐标;lineitem保存起点和终点的id及起点和终点之间的距离;

41、使用地图标注文件,加载地图文件中的pointitem与pointitem之间的关系,即lineitem以及lineitem的长度属性,生成带有权重的邻接矩阵,通过邻接矩阵表示图确定图中任意两个顶点是否有边相连,从而求出最短的全局路径。

42、作为优选,所述栅格地图标注工具基于qt的qgraphics图形视图框架,qgraphics图形视图框架分为三层,具体如下:

43、qgraphicsitem层,每个表示一个图元;

44、qgraphicsscene层,保存并管理这所有的qgraphicsitem;

45、qgraphicsview层,把qgraphicsscene层中需要展示的图元显示在屏幕上;

46、其中,栅格地图标注工具继承qgraphics图形视图框架中的qgraphicsitem,派生出pointitem和lineitem两个类,分别代表导航点和线段;

47、栅格地图标注工具以操作点的方式形成和保存道路信息;其中,操作点的方式包括点击以生成或选中点、连接新生成的点或已有的点、在线上所点击位置添加新的点以及连接点和一条线形成t字。

48、更优地,所述栅格地图标注工具操作过程具体如下:

49、(1)重写父类中type()方法,定义pointitem的type()方法返回值为usertype+1;并定义lineitem的type()方法返回值为usertype+2;

50、(2)通过pointitem保存以该点作为lineitem端点的所有的lineitem,并通过lineitem保存该lineitem的起始pointitem和终止pointitem;

51、(3)选择导航点功能后,点击栅格地图,通过鼠标在栅格地图中的位置,在qgraphicsscene中查到该位置的qgraphicsitem;并判断鼠标在栅格地图中点击处是否为空,情况如下:

52、①当鼠标点击处为空白时,新生成一个pointitem;设已经点击生成了一个pointitem或者点击了一个pointitem而选中了该pointitem,自动在该pointitem与新生成的pointitem之间生成一条lineitem;

53、②当鼠标点击处不为空时,情况如下:

54、查询该qgraphicsitem的type()为usertype+1:说明鼠标点击到了一个pointitem,选中该pointitem;设已经点击生成了一个pointitem或者点击了一个pointitem而选中了该pointitem,自动在该pointitem与新生成的pointitem之间生成一条lineitem;

55、查询该qgraphicsitem的type()为usertype+2:说明鼠标点击到了一条lineitem,在点击位置新生成一个pointitem,以点击到的lineitem的起始pointitem为起点,以新生成的pointitem为终点生成一个新的lineitem;再以新生成的pointitem为起点,以点击到的lineitem的终止pointitem为终点生成新的lineitem;再将点击到的lineitem删除,最后设已经点击生成了一个pointitem或者点击了一个pointitem而选中了该pointitem,会自动在该pointitem与新生成的pointitem之间生成一条lineitem;

56、(4)删除lineitem及删除pointitem;具体如下:

57、删除一条lineitem时,将起始和终止pointitem中保存的以自身为端点的所有lineitem中删除掉该lineitem;若删除掉该lineitem后,pointitem中保存的以自身为端点的所有lineitem数量为0,则将该pointitem同时删除;

58、删除pointitem时,将以该pointitem为端点的所有lineitem同时删除;

59、(5)通过鼠标拖拽改变pointitem的位置,与之相连的lineitem自动修改位置,刷新起始点;并拖拽lineitem,起始pointitem和终止pointitem跟踪移动相应的距离;

60、(6)将pointitem在栅格地图中的x坐标及y坐标换算成x轴与y轴的真实值;具体如下:

61、在鼠标点击栅格地图生成pointitem时,qgraphics框架已经将鼠标在屏幕中的位置转变为鼠标在qgraphicsscene中的位置;因为在加载栅格地图时设置qgraphicsscene的大小同栅格地图的大小,所以qgraphicsscene的远点的位置为栅格地图左上角的位置,栅格地图中每向右移动一个像素,坐标的x值+1,每往下移动一个像素,坐标的y值+1;

62、机器人在使用栅格地图时,栅格地图保存中心点的x坐标和y坐标以及栅格地图像素与米的换算比值;在栅格地图的坐标系中:每向右移动一个像素,坐标的x值+1,每往下移动一个像素,坐标的y值+1;两个坐标系的y轴是相反的;

63、在保存pointitem时,x真实值和y真实值的公式如下:

64、x真实值=(pointitem在栅格地图中的x坐标-栅格地图中心点x坐标)*像素与米的换算比值;

65、y真实值=-(pointitem在栅格地图中的y坐标-栅格地图中心点y坐标)*像素与米的换算比值;

66、(7)从qgraphicsscene中获取所有的pointitem和lineitem,给所有的pointitem排序,并以排序顺序作为id;同时保存所有pointitem的id值、x真实值和y真实值;保存所有lineitem的起始pointitem的id值、终止pointitem的id值以及起始pointitem和终止pointitem的距离信息,作为寻路时的权重值。

67、本发明的全局路径规划系统及方法具有以下优点:

68、(一)本发明用简单的方法规划以直线为主且道路居中的全局路径,减少机器人经常绕障造成的曲线行走的问题;相较于之前的方案减少了计算量,减轻机器人的计算单元压力;同时配套的地图标注工具,仅需要鼠标编辑点的方式就可以快速生成“交通网络”,简单高效;

69、(二)本发明在机器人原有使用栅格地图的基础上,进一步添加道路信息,使机器人更好的实现在室内的移动,而配套的栅格地图标注工具让添加道路信息的工时成本降得很低;

70、(三)本发明保存的道路信息,存储时坐标已经被转换为机器人定位坐标系中的坐标,提高路线规划效率;

71、(四)本发明在栅格地图的基础上进一步添加道路中心线,在中心线的基础上做路径规划,避免了机器人绕障造成的曲线行走问题,同时提高机器人路径规划效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1