一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人碰撞检测方法及设备与流程

2022-09-04 04:24:48 来源:中国专利 TAG:


1.本发明涉及计算机领域,尤其涉及一种机器人碰撞检测方法及设备。


背景技术:

2.如图1所示,在现有的移动机器人算法中,都以机器人的底盘为圆形进行模型建模,并配合以costmap实现路径规划和运动规划,但在实际机器人设计中并不会完全设计成圆形的机器人底盘,比如设计成长方形,实际道路中是很狭窄的道路,圆形底盘的机器人无法通过这种很狭窄的道路,只有长方形底盘的机器形才能通过这种很狭窄的道路,那么此时以圆形底盘建模将严重影响机器人通过性。


技术实现要素:

3.本发明的一个目的是提供一种机器人碰撞检测方法及设备。
4.根据本发明的一个方面,提供了一种机器人碰撞检测方法,该方法包括:
5.在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
6.建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
7.获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
8.获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
9.进一步的,上述方法中,建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表,包括:
10.对于旋转角度0~360度,每0.5度离散化一次,离散化为720个旋转角度下的像素化的多边形的机器人底盘的模型;
11.将720个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表。
12.进一步的,上述方法中,将720个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表,包括:
13.分别建立720个旋转角度中每个旋转角度的索引;
14.将每个索引和每个索引对应的旋转角度下的像素化的多边形的机器人底盘的模型。
15.进一步的,上述方法中,在分别建立720个旋转角度中每个旋转角度的索引,包括:
16.根据如下公式建立分别建立720个旋转角度中每个旋转角度的索引:
17.其中,theta表示某个旋转角度,idx表示某个旋转角度对应索引。
18.进一步的,上述方法中,获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,包括:
19.获取环境地图中的障碍物的位置和获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型的原始位置;
20.基于机器人移动的距离在环境地图中将障碍物的位置移动相同距离;
21.判断环境地图中移动后的障碍物的位置是否与获取到的环境地图中的在原始位置的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠。
22.根据本发明的另一方面,还提供一种机器人碰撞检测设备,其中,该设备包括:
23.第一装置,用于在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
24.第二装置,用于建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
25.第三装置,用于获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
26.第四装置,用于获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
27.进一步的,上述设备中,所述第二装置,用于对于旋转角度0~360度,每0.5度离散化一次,离散化为720个旋转角度下的像素化的多边形的机器人底盘的模型;将720个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表。
28.进一步的,上述设备中,所述第二装置,用于分别建立720个旋转角度中每个旋转角度的索引;将每个索引和每个索引对应的旋转角度下的像素化的多边形的机器人底盘的模型。
29.进一步的,上述设备中,所述第二装置,用于根据如下公式建立分别建立720个旋转角度中每个旋转角度的索引:
30.其中,theta表示某个旋转角度,idx表示某个旋转角度对应索引。
31.进一步的,上述设备中,所述第四装置,用于获取环境地图中的障碍物的位置和获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型的原始位置;基于机器人移动的距离在环境地图中将障碍物的位置移动相同距离;判断环境地图中移动后的障碍物的位置是否与获取到的环境地图中的在原始位置的对应旋转角度下的像素化
的多边形的机器人底盘的模型中的某个像素是否发生重叠。
32.根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
33.处理器;以及
34.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
35.在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
36.建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
37.获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
38.获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
39.根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
40.在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
41.建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
42.获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
43.获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
44.与现有技术相比,机器人导航路径规划时,需要使用环境地图如栅格地图gridmap。当需要碰撞检测时,需要将环境地图中每一个障碍物所在的栅格的位置和的机器人底盘的模型做碰撞检测,现有的方案会耗时是非常严重的。本发明通过在环境地图中建立多边形的机器人底盘的模型,将如图3所示的左边的机器人的模型像素化,转化成如图3所示的右边的模型,这样碰撞检测只需要读取像素值,时间复杂度变为o1。同时,由于机器人在不断运动,这里会遇到像素化后的模型转化的问题,本发明设计一种角度离散化得方法,通过建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表,以对角度进行离散化,这样构建有限个模型,当机器人旋转的情况下通过角度表格查找的方法,可以实时进行机器人的碰撞检测,改善机器人通过性。
附图说明
45.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
46.图1示出现有的机器人的圆形底盘的示意图;
47.图2示出本发明一实施例的机器人的方形底盘的示意图;
48.图3示出本发明一实施例的以机器人的方形底盘建模的示意图。
49.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
50.下面结合附图对本发明作进一步详细描述。
51.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
52.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
53.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
54.如图2和3所示,本发明提供一种机器人碰撞检测方法,所述方法包括:
55.步骤s1,如图3的左边图所示,在环境地图中建立多边形的机器人底盘的模型,如图3的右边图所示,将环境地图中的多边形的机器人底盘的模型进行像素化;
56.在此,如图2和3所示,所述多边形例如可以是矩形;
57.步骤s2,建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
58.步骤s3,获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
59.步骤s4,获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
60.在此,如图2所示,机器人导航路径规划时,需要使用环境地图如栅格地图gridmap。当需要碰撞检测时,需要将环境地图中每一个障碍物所在的栅格的位置和的机器人底盘的模型做碰撞检测,现有的方案会耗时是非常严重的。本发明通过在环境地图中建
立多边形的机器人底盘的模型,将如图3所示的左边的机器人的模型像素化,转化成如图3所示的右边的模型,这样碰撞检测只需要读取像素值,时间复杂度变为o1。同时,由于机器人在不断运动,这里会遇到像素化后的模型转化的问题,本发明设计一种角度离散化得方法,通过建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表,以对角度进行离散化,这样构建有限个模型,当机器人旋转的情况下通过角度表格查找的方法,可以实时进行机器人的碰撞检测,改善机器人通过性。
61.本发明的一实施例的机器人碰撞检测方法中,步骤s2,建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表,包括:
62.步骤s21,对于旋转角度0~360度,每0.5度离散化一次,离散化为720个旋转角度下的像素化的多边形的机器人底盘的模型;
63.步骤s22,将720个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表。
64.在此,本实施例可以生成角度离散化模型像素化查找表。具体步骤为,对于旋转角度0~360度,每0.5度离散化一次,离散化为720个旋转角度下的像素化的多边形的机器人底盘的模型。将这些离散化之后的模型存储在线性表格中。
65.在运行阶段需要用到碰撞检测,此时使用生成的查找表可以大大加速碰撞检测的过程。
66.本发明的一实施例的机器人碰撞检测方法中,步骤s22,将720个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表,包括:
67.步骤s221,在分别建立720个旋转角度中每个旋转角度的索引idx;
68.步骤s222,将每个索引和每个索引对应的旋转角度下的像素化的多边形的机器人底盘的模型。
69.在此,使用生成的查找表可以大大加速碰撞检测的过程。
70.本发明的一实施例的机器人碰撞检测方法中,步骤s221,在分别建立720个旋转角度中每个旋转角度的索引idx,包括:
71.根据如下公式建立分别建立720个旋转角度中每个旋转角度的索引idx:
72.其中,theta表示某个旋转角度,idx表示某个旋转角度对应索引。
73.在此,通过机器人当前旋转角度theta在查找表中查找,如上式所示计算查找表偏移idx,可以查询到对应的旋转角度的像素化的模型,再通过模型o1的时间(常数时间)复杂度即可计算出是否碰撞。
74.本发明的一实施例的机器人碰撞检测方法中,步骤s4,获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,包括:
75.步骤s41,获取环境地图中的障碍物的位置和获取到的环境地图中的对应旋转角
度下的像素化的多边形的机器人底盘的模型的原始位置;
76.步骤s42,基于机器人移动的距离在环境地图中将障碍物的位置移动相同距离;
77.步骤s43,判断环境地图中移动后的障碍物的位置是否与获取到的环境地图中的在原始位置的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠。
78.在此,环境地图中的障碍物的位置为一质心,机器人移动时障碍物和机器人的相对位置改变,可以在环境地图中,将机器人的原始位置保持不变,将环境地图中的机器人的位置的改变转换为环境地图中的障碍物的位置改变,即达到相同的障碍物和机器人的相对位置改变的效果;而且质心的移动的计算量比整个多边形的机器人底盘的模型移动的计算量小很多,可以节约计算量,提供碰撞检测的效率。
79.根据本发明的另一方面,还提供一种机器人碰撞检测设备,其中,该设备包括:
80.第一装置,用于在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
81.第二装置,用于建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
82.第三装置,用于获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
83.第四装置,用于获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
84.进一步的,上述设备中,所述第二装置,用于对于旋转角度0~360度,每0.5度离散化一次,离散化为720个旋转角度下的像素化的多边形的机器人底盘的模型;将720个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表。
85.进一步的,上述设备中,所述第二装置,用于分别建立720个旋转角度中每个旋转角度的索引;将每个索引和每个索引对应的旋转角度下的像素化的多边形的机器人底盘的模型。
86.进一步的,上述设备中,所述第二装置,用于根据如下公式建立分别建立720个旋转角度中每个旋转角度的索引:
87.其中,theta表示某个旋转角度,idx表示某个旋转角度对应索引。
88.进一步的,上述设备中,所述第四装置,用于获取环境地图中的障碍物的位置和获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型的原始位置;基于机器人移动的距离在环境地图中将障碍物的位置移动相同距离;判断环境地图中移动后的障碍物的位置是否与获取到的环境地图中的在原始位置的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠。
89.根据本发明的另一方面,还提供一种基于计算的设备,其中,包括:
90.处理器;以及
91.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
92.在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
93.建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
94.获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
95.获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
96.根据本发明的另一方面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:
97.在环境地图中建立多边形的机器人底盘的模型,将环境地图中的多边形的机器人底盘的模型进行像素化;
98.建立环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型,将环境地图中的各个旋转角度下的像素化的多边形的机器人底盘的模型存储入查找表;
99.获取机器人实际移动的距离和旋转角度,基于机器人的实际旋转角度,从所述查找表中获取环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型;
100.获取环境地图中的障碍物的位置,基于环境地图中的障碍物的位置和机器人移动的距离,判断障碍物的位置是否与获取到的环境地图中的对应旋转角度下的像素化的多边形的机器人底盘的模型中的某个像素是否发生重叠,若发生重叠,则判断障碍物与机器人发生碰撞,若未发生重叠,则判断障碍物与机器人未发生碰撞。
101.本发明的各设备和存储介质实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。
102.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
103.需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
104.另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。
而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
105.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献