System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及机器人,具体涉及一种机器人传感器记忆方法及存储介质。
技术介绍
1、现有的自动驾驶机器人主要通过代价地图的方式对静态地图、各个传感器、虚拟墙等信息进行整合,将其应用于自动驾驶,其中主流的代价地图结构分为三层,分别为静态层、障碍层、膨胀层。其中静态层负责将导航地图(pgm类型)加载为ros(机器人操作系统)可识别的代价地图静态层类,障碍层负责将各传感器数据处理后生成代价地图障碍层类,膨胀层负责将静态层和障碍层中的致命障碍物按预设的算法进行膨胀,得到一个代价变化平缓的代价地图。
2、在障碍层中,所有的传感器都在同一张代价地图中更新,更新分为两个步骤,清除和标记(clear和mark),先清除后标记。
3、其中清除(clear)过程指的是:对于任意一个传感器探测到的障碍点,它与传感器的原点的连线所经过的栅格都会被设置为自由空间(free space),该过程的依据主要是光学类传感器的特性。
4、标记(mark)过程指的是:将传感器探测到的障碍点所在的栅格,设置为致命障碍物(lethal obstacle)
5、但不同传感器可视角度和侧重方向往往是互补的,比如激光雷达的可视角度最大,往往可以达到270°-360°,侧重探测和雷达同高平面的非透明障碍物;深度摄像头视场角较小,往往只有横向50°-60°纵向40°-50°,侧重探测视场范围内的非透明障碍物;超声波传感器视场角较小,往往只有30°圆锥角,侧重探测传感器指向方向较近距离的障碍物,相比光学传感器,超声波传感器的优势是可以探测
6、市面上的机器人往往会采用多种传感器混用的方案来弥补单一类型传感器的缺陷,但传统的代价地图的更新方式是所有的传感器都在同一个障碍层内更新,这就带来一个隐患,就是一个传感器标记(mark)的障碍物会被另一个传感器清除(clear),比如在t时刻,有一低于激光平面的低矮障碍物处在激光和深度摄像头可视角度内,此时深度摄像头能够探测到该低矮障碍物,激光探测不到,深度摄像头在障碍层标记(mark)了一个低于激光平面的低
7、矮障碍物,在t+1时刻机器人转动后该低矮障碍物已不处于深度摄像头视场角内,但还处于激光视场角内,由于该障碍物低于激光平面,激光在该障碍物方向无法探测到该障碍物,激光认为该方向是安全的,就会清除该方向的障碍物,导致深度摄像头探测的低矮障碍物被清除,无法记忆,对机器人自动驾驶造成危险,同理,在超声波和激光共同探测一个透明障碍物时,也会出现类似的风险。
8、同时,一般的深度摄像头输出的是点云数据,点云数据是没有无限值(infinity和nan)的,与激光雷达相比,激光雷达在探测到障碍物的位置会以极坐标(ω,r)的方式给出点云,在量程内没有探测到障碍物的方向,此时(ω,r)的r将会是一个无限值(infinity),这样的性质有助于激光雷达清除障碍层的致命障碍物,因为该方向量程内没有障碍物很大程度代表了该方向是安全的,可以清除障碍物,与之相对的深度摄像头只会在探测到障碍物的位置以直角坐标系(x,y,z)的形式给出点云,量程范围内没有障碍物的位置并不会给出点云,也就是说深度摄像头只知道量程范围内哪里有障碍物,而不知道哪里没有障碍物,这导致了在没有激光辅助清除障碍物的情况下,单靠深度摄像头清障困难,深度摄像头往往要搭配激光使用,不利于机器人传感器方案的成本缩减。
技术实现思路
1、鉴于上述问题,本申请提供了一种机器人传感器记忆方法及存储介质,解决现有机器人在障碍层更新代价地图时,所有传感器都在同一张代价地图中更新中存在的一个传感器标记的障碍物会被另一个传感器清除的问题。
2、为实现上述目的,专利技术人提供了一种机器人传感器记忆方法,包括以下步骤:
3、当达到更新时间点时,进行静态层更新;
4、进行障碍层更新,观测源在各自的观测源子图上进行清除和标记操作;
5、将障碍层代价地图的对应区域清空;
6、将所有的观测源子图对应区域进行叠图生成障碍层更新地图;
7、将生成的障碍层更新地图填入障碍层代价地图;
8、进行膨胀层更新。
9、在一些实施例中,所述将所有的观测源子图对应区域进行叠图生成障碍层更新地图具体包括以下步骤:
10、将所有的观测源子图对应区域使用最大值规则进行叠图生成障碍层更新地图。
11、在一些实施例中,当观测源为激光雷达时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
12、将传感器的原点坐标转化为代价地图的原点栅格坐标;
13、遍历所有障碍物点云,将符合条件的点云的坐标转换为代价地图的点云栅格坐标;
14、将点云栅格坐标与原点栅格坐标相连,获取两端点栅格连线上的栅格,将这些代价地图上的栅格设置为安全区域;
15、再次遍历所有障碍物点云,将符合条件的点云的坐标转换为代价地图的点云栅格坐标;
16、将点云栅格坐标对应的栅格设置为致命障碍物。
17、在一些实施例中,所述获取两端点栅格连线上的栅格具体包括以下步骤:
18、使用bresanham直线算法获取两端点栅格连线上的栅格。
19、在一些实施例中,当观测源为深度摄像头时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
20、获取配置文件中各个传感器绑定的虚拟区域,并将虚拟区域转换为代价地图的栅格坐标;
21、将虚拟区域内部的栅格统一设置为安全区域;
22、遍历所有障碍物点云,将符合条件的点云的坐标转换为代价地图的栅格坐标;
23、将点云栅格坐标对应的栅格设置为致命障碍物。
24、在一些实施例中,当观测源为不应留存记忆的观测源时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
25、将观测源子图上的所有栅格设置为安全区域;
26、遍历所有障碍物点云,将符合条件的点云的坐标转换为代价地图的栅格坐标;
27、将点云栅格坐标对应的栅格设置为致命障碍物。
28、还提供了另一个技术方案,一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器运行时执行以下步骤:
29、当达到更新时间点时,进行静态层更新;
30、进行障碍层更新,观测源在各自的观测源子图上进行清除和标记操作;
31、将障碍层代价地图的对应区域清空;
32、将所有的观测源子图对应区域进行叠图生成障碍层更新地图;
33、将生成的障碍层更新地图填入障碍层代价地图;
34、进行膨胀层更新。
35、在一些实施例中,所述将所有的观测源子图对应区域进行叠图生成障碍层更新地图具体包括以下步骤:
36、将所有的观测源子图对应区域使用最大值规则进行叠图生成障碍层更新地本文档来自技高网...
【技术保护点】
1.一种机器人传感器记忆方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的机器人传感器记忆方法,其特征在于,所述将所有的观测源子图对应区域进行叠图生成障碍层更新地图具体包括以下步骤:
3.根据权利要求1所述的机器人传感器记忆方法,其特征在于,当观测源为激光雷达时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
4.根据权利要求1所述的机器人传感器记忆方法,其特征在于,当观测源为深度摄像头时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
5.根据权利要求1所述的机器人传感器记忆方法,其特征在于,当观测源为不应留存记忆的观测源时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
6.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行以下步骤:
7.根据权利要求6所述的存储介质,其特征在于,所述将所有的观测源子图对应区域进行叠图生成障碍层更新地图具体包括以下步骤:
8.根据权利要求6所述的存储介质,
9.根据权利要求6所述的存储介质,其特征在于,当观测源为深度摄像头时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
10.根据权利要求6所述的存储介质,其特征在于,当观测源为不应留存记忆的观测源时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
...【技术特征摘要】
1.一种机器人传感器记忆方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的机器人传感器记忆方法,其特征在于,所述将所有的观测源子图对应区域进行叠图生成障碍层更新地图具体包括以下步骤:
3.根据权利要求1所述的机器人传感器记忆方法,其特征在于,当观测源为激光雷达时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
4.根据权利要求1所述的机器人传感器记忆方法,其特征在于,当观测源为深度摄像头时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
5.根据权利要求1所述的机器人传感器记忆方法,其特征在于,当观测源为不应留存记忆的观测源时,所述观测源在各自的观测源子图上进行清除和标记操作具体包括以下步骤:
...【专利技术属性】
技术研发人员:李廷伟,戴俊源,田健,陈世念,曲世成,余晓滨,陈文强,
申请(专利权)人:福建汉特云智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。