CN111221337B - 机器人栅格地图的构建方法及系统 - Google Patents
机器人栅格地图的构建方法及系统 Download PDFInfo
- Publication number
- CN111221337B CN111221337B CN202010062924.XA CN202010062924A CN111221337B CN 111221337 B CN111221337 B CN 111221337B CN 202010062924 A CN202010062924 A CN 202010062924A CN 111221337 B CN111221337 B CN 111221337B
- Authority
- CN
- China
- Prior art keywords
- data
- grid
- information
- map
- obstacle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010276 construction Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000007613 environmental effect Effects 0.000 claims description 24
- 230000004888 barrier function Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 16
- 230000008901 benefit Effects 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 34
- 238000004140 cleaning Methods 0.000 description 16
- 230000004927 fusion Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 10
- 230000009286 beneficial effect Effects 0.000 description 7
- 239000011521 glass Substances 0.000 description 6
- 230000006698 induction Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0285—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
Abstract
本发明公开了一种机器人栅格地图的构建方法及系统,涉及移动机器人技术领域。其构建方法技术要点包括获取栅格地图的栅格边长;获取栅格地图的横向栅格数量;获取栅格地图的纵向栅格数量;获取栅格地图的原点坐标;获取传感器组感应映射到栅格中的障碍信息;依次对应栅格地图内栅格构建数据数组,所述数据数组包括栅格状态层和数据编码层;所述栅格状态层基于定位数据和导航数据运算生成;其中,所述定位数据基于单线激光雷达感应的障碍信息;所述导航数据基于包括单线激光雷达的传感器组结合感应的障碍信息;数据编码层包括开关量障碍信息、语义信息和障碍高度信息中的至少一种;本发明具有减少机器人栅格地图储存、传输等额外开销的优点。
Description
技术领域
本发明涉及移动机器人技术领域,更具体地说,它涉及一种机器人栅格地图的构建方法。
背景技术
随着移动机器人技术的发展,机器人技术在各行业,多场景中应用也越来越多,如家庭服务机器人、商场智能清洁机器人、工厂巡检安防机器人等,帮助或代替人们完成智能家居服务、大面积区域清洁、环境安全监测等任务。
机器人自主运动和定位需要借助环境地图来实现,目前成熟的定位导航方法一般基于平面栅格地图,其原理是通过传感器获取周围环境障碍信息,并将其三维空间坐标映射到二维平面,并储存在栅格数据结构中,形成平面栅格地图。
现有移动机器人应用的平面栅格地图主要包括定位地图和导航地图。其中,定位地图主要用于移动机器人对自身位置进行定位。定位地图为主要应用单线激光雷达感应的定位数据来创建的平面栅格地图,由于单线激光雷达能够快速的感应障碍,机器人通过实时获取单线激光雷达感应的数据和定位地图中障碍数据相比较,能够迅速的确定机器人所在定位地图的位置。
导航地图主要用于机器人自主导航避障,导航地图是在应用单线激光雷达感应的基础上还融合其他传感器(例如深度相机和超声波传感器)的导航数据来创建的平面栅格地图,导航地图相较于定位地图而言,其对障碍的判断更加准确,适用于机器人运动的导航。
目前主流机器人大多采用定位地图与导航地图分开存储的方式。定位地图与导航地图分开存储,在储存、传输等均有额外开销,并且存在地图同步隐患。
发明内容
针对现有的技术问题,本发明的第一目的在于提供一种机器人栅格地图的构建方法,其具有减少机器人栅格地图储存、传输等额外开销的优点。
本发明的第二目的在于提供一种机器人栅格地图的构建系统,其具有减少机器人栅格地图储存、传输等额外开销的优点。
为实现上述第一目的,本发明提供了如下技术方案:一种机器人栅格地图的构建方法,包括:
获取栅格地图的栅格边长;
获取栅格地图的横向栅格数量;
获取栅格地图的纵向栅格数量;
获取栅格地图的原点坐标;
获取传感器组感应映射到栅格中的障碍信息;
依次对应栅格地图内栅格构建数据数组;
所述数据数组包括栅格状态层和数据编码层;
所述栅格状态层基于定位数据和导航数据运算生成;
其中,所述定位数据基于单线激光雷达感应的障碍信息;所述导航数据基于包括单线激光雷达的传感器组结合感应的障碍信息;
数据编码层包括传感器组中各自感应的开关量障碍信息、对应障碍类型的语义信息和障碍高度信息中的至少一种。
通过采用上述技术方案,通过将定位地图与导航地图融合为一张图,即保证了信息的完整性,又降低的地图的传输、存储成本,并且解决潜在的地图同步风险,在多种应用场景下具有重要意义,包括并不限于降低以下成本:机器人地图信息云同步和后台管理的存储和传输成本,多机器人协作的地图传输成本和同步难度,机器人数据迁移时的传输和操作成本等;通过编码位的设计,让单一的二维平面地图有能力承载更多更丰富的信息,大大提高二维平面地图的可操作性。记录障碍数据的具体传感器来源,方便数据溯源和后台针对性编辑;记录简单的地图语义信息;记录简单的障碍高度信息等。方便了在不同场景下的地图复用和后台编辑。综上本方案能够减少机器人栅格地图储存、传输等额外开销;提高二维平面地图的可操作性,方便了在不同场景下的地图复用和后台编辑。
本发明进一步设置为:所述定位数据和导航数据均包括障碍、未知和空白三种状态,所述栅格状态层包括两位的栅格位和一位的定位标志构成,定位标志有将定位数据与对应位置的导航数据运算获得。
通过采用上述技术方案,由于定位地图采用一个单线激光雷达感应获得的障碍信息;而导航数据基于包括单线激光雷达的传感器组结合感应的障碍信息。定位地图在地图数据内容上与导航地图属于被包含关系,换言之,导航地图中非障碍区域在定位地图中一定也是非障碍区域,而导航地图中的障碍信息,由于不一定来自于创建定位地图的传感器,所以可能是未知区域也可能是空白区域。因此,导航地图与定位地图和数据对应关系,只包含五种情况,因此通过两位的栅格位和一位的定位标志能够表达所有情况。
本发明进一步设置为:所述定位数据和导航数据中障碍、未知和空白三种状态分别用00、10和11表示;
所述栅格状态层的计算方法为:
导航数据与定位数据进行异或运算,获得运算结果;
将运算结果按布尔变量的规则取值获得定位标志的值;
分别将两位运算结果数据的每一位与对应的定位标志进行异或运算,获得栅格状态层的栅格位。
通过采用上述技术方案,三位中不同的二进制表示能够对应五种不同的情况,且五种不同能够通过对应的方式编码和解码。
本发明进一步设置为:所述数据数组采用无符号字符型或无符号短整型。
通过采用上述技术方案,数据数组采用无符号字符存储数据少,利于大量数据的存储和传输;而数据数组采用无符号短整型存储数据量虽然稍大,但也仅等同于现有的双地图模式的存储数据量,而可以存储的信息量却大了很多。
本发明进一步设置为:所述传感器组包括单线激光雷达、深度相机、超声传感器和跌落传感器;所述数据编码层包括单线激光雷达、深度相机、超声传感器和跌落传感器的输出的开关量障碍信息。
通过采用上述技术方案,通过传感器开关量信息能够获取到对应障碍的来源,从而除了在原本知道障碍的基础上进一步能够了解到障碍的大概类型。
本发明进一步设置为:语义信息获取的方法为:
从传感器组获取环境障碍信息;
同步开启识别程序,获取环境物体语义信息;
通过传感器坐标对齐,将环境障碍信息与语义信息进行匹配;
判断当前环境障碍信息是否属于预编码的语义信息之一,若是,将对应编码赋值到对应数据编码层的编码位。
通过采用上述技术方案,环境元素中包含一些特别的语义信息需要标注和记录,例如,在地下停车场环境下,创建地图时停在停车位上的汽车需要标注;再比如商场洗地机器人的应用环境下,地毯等特殊区域需要标注等等。这些元素均可以通过后期后台管理进行标注处理。但如果能在创建地图的时候,结合合适的识别程序,例如辅助摄像头进行视觉识别,直接在地图原始数据上做标记,将极大降低后台处理的难度。
本发明进一步设置为:同步开启的识别程序包括图像识别和点云聚类分割的至少一种。
通过采用上述技术方案,图像识别和点云聚类分割都能够识别和划分类型类型,来执行不同的语义。
本发明进一步设置为:障碍高度信息获取的方法为:
从传感器组获取环境障碍信息;
读取并记录环境障碍信息的高度值;
环境障碍信息的高度值与预读取的高度编码范围做对比,环境障碍信息的高度值赋值为对应的编码信息,
覆写入对应数据编码层的编码位。
通过采用上述技术方案,栅格地图的一大缺点就是只有二维信息,而现实中机器人却是立体的。一般在建图时会对传感器获取立体障碍信息进行高度滤波,即只有高于最低高度阈值、低于最高高度阈值的部分才会被当作障碍物记录在地图中。这适用于大部分单层平面场景的应用,但是在某些场景下,同一层地图却包含高度落差,或是同时有不同规格、高度不同的机器人在工作,这时可以利用编码位记录简单的层级信息或障碍高度信息。
本发明进一步设置为:当读取环境障碍信息的高度值时,若传感器组获取多个不同的障碍高度信息,则将获取的障碍高度信息进行对比,取较小者作为障碍高度信息记录。
通过采用上述技术方案,机器人在建图过程中是移动的,有可能在同一个地方检测到不同高度的障碍,比如离着比较远的时候激光雷达扫描到一个比较低的障碍,走近了深度相机又检测到一个比较高的障碍,那记录深度相机数据时,就会与激光雷达的也就是已有的进行对比,取较低的值。
为实现上述第二目的,本发明提供了如下技术方案:一种机器人栅格地图的构建系统,包括编码模块和解码模块;所述编码模块用于实现第一目的所述的构建方法,所述解码模块解码第一目的所述数据数组。
与现有技术相比,本发明的有益效果是:
1. 定位地图与导航地图二图合一,减少存储和传输开销,避免同步风险;
2. 精准记录每一类甚至每一个传感器的数据信息,方便数据溯源和后台编辑;
3. 允许地图同步记录额外的必要信息,如一定的高度层级信息、编码化的语义信息等。
附图说明
图1为现有的栅格地图的对比示意图;
图2为栅格地图中数据数组的一种编码方式示意图。
具体实施方式
下面结合附图和实施例,对本发明进行详细描述。
现有移动机器人应用的平面栅格地图主要包括定位地图和导航地图。其中,定位地图主要用于移动机器人对自身位置进行定位。定位地图为主要应用单线激光雷达感应的定位数据来创建的平面栅格地图,由于单线激光雷达能够快速的感应障碍,机器人通过实时获取单线激光雷达感应的数据和定位地图中障碍数据相比较,能够迅速的确定机器人所在定位地图的位置。
导航地图主要用于机器人自主导航避障,导航地图是在应用单线激光雷达感应的基础上还融合其他传感器(例如深度相机和超声波传感器)的导航数据来创建的平面栅格地图,导航地图相较于定位地图而言,其对障碍的判断更加准确,适用于机器人运动的导航。
目前定位地图和导航地图应用的常见的栅格地图结构如下所示:
{
Resolution,//分辨率,表示一栅格边长代表的现实中的长度(单位:m)
Width,//宽,整型数据,代表栅格地图横向栅格数量
Height,//高,整型数据,代表栅格地图纵向栅格数量
Origin,//地图原点坐标 (x,y,theta)(单位:m,m,rad),记录地图坐标系原点坐标及x轴正方向
Data[],//地图数据
}
其中Data[]数组的编码方式,以c++为例,通常采用单字节的unsigned char类型的一维数组,以0表示障碍物,以254表示空白区域,以两者中间的某个数值例如150表示未知区域,其图像表现就是一张二维灰度地图(如下图图1),黑色表示障碍区域,白色表示空白区域,灰色表示未知区域。一般来说,会设定一个默认比例阈值,当一个栅格区域内障碍占据面积超过此阈值,则此栅格被认定为“占据”,赋值为0。
现有的栅格地图编码存储方式主要存在以下两个方面的问题或不足:
1. 定位地图与导航地图分开存储,在储存、传输等均有额外开销,并且存在地图同步隐患;
1). 越来越多的商用机器人,如大厅接待用机器人、机场等场所的引导机器人,需要后台管理和云端同步功能,定位地图与导航地图分开存储的方式,会额外占用储存和传输带宽,增加成本;
2). 大型场所经常会部署多台机器人,多机器人协作建图有利于提高建图效率,此时多台机器人之间地图同步问题十分重要,而大型场所环境复杂、行人众多(手持终端如手机会影响信号强度),地图数据量大,如定位地图与导航地图分开存储、传输、同步,势必不利于机器人之间的信息同步;
3). 在替换机器人或增加新的机器人时,需要进行数据迁移工作,地图分开存储无疑会降低迁移效率;
4). 后台管理编辑地图时,由于一般情况下定位地图均是用户不可见的,用户修改的一般只有导航地图,这就存在定位地图与修改后的导航地图不同步的问题;地图分开存储,在地图文件发生损坏的时候,也会产生两张地图之间的同步隐患。
2. 现有编码方式仅能区分障碍和非障碍,信息单一,不利于后台编辑和扩展升级。
1). 由于建图时,地图数据来源于多种传感器信息融合的结果,但是以目前的编码方式,并没有对不同传感器的数据加以区分,不利于后台地图管理针对某一传感器源的数据进行精确处理;
2). 因为不同传感器擅长识别的障碍领域不同,因此数据本身带有一定特性,目前的编码方式,就会导致地图信息的损失和失真,例如超声传感器检测到的玻璃信息、跌落传感器检测到的台阶等凹陷等,在地图显示上均与常规障碍物一视同仁,这就不利于地图后台管理。
因此针对以上不足,提供一种机器人栅格地图的构建系统。其中机器人栅格地图的构建系统包括构建栅格地图数据的编码模块和解码栅格地图数据的解码模块。
编码模块在构建栅格地图过程可以采用ROS官方的gmapping包实现,由于本发明不涉及应用ROS官方的gmapping包的内容,故不加以详细展开。在地图创建过程中,机器人通过传感器组实时扫描周围环境获取数据,并通过数据映射形成完整的栅格地图。本方案中,构建的栅格地图融合了定位地图和导航地图的数据,因此通过编码模块获得的栅格地图,也可称为融合地图。
其中,传感器组至少包括单线激光雷达、深度相机、超声传感器和跌落传感器。
机器人栅格地图的构建方法包括步骤如下:
S101、获取栅格地图的栅格边长;
S102、获取栅格地图的横向栅格数量;
S103、获取栅格地图的纵向栅格数量;
S104、获取栅格地图的原点坐标;
S105、获取传感器组感应映射到栅格中的障碍信息;
S106、依次对应栅格地图内栅格构建数据数组。
其中,栅格边长、横向栅格数量、纵向栅格数量和原点坐标的获取可以通过人工录入,或者从定位地图或导航地图中导入。
数据数组包括栅格状态层和数据编码层,栅格状态层基于定位数据和导航数据运算生成;数据编码层包括传感器组中各自感应的开关量障碍信息、对应障碍类型的语义信息和障碍高度信息中的至少一种。数据数组采用无符号字符型(unsigned char)或无符号短整型(unsigned short),其中无符号字符型为1字节8bit,无符号短整型为2字节16bit。具体的,当数据编码层仅具有开关量障碍信息、对应障碍类型的语义信息和障碍高度信息中的一种时,数据数组采用无符号字符型,减少数据数组占用空间。否则,数据编码层具有开关量障碍信息、对应障碍类型的语义信息和障碍高度信息中的两种或三种时,数据数组采用无符号短整型,增加数据数组数据存储量。
定位数据和导航数据均包括障碍、未知和空白三种状态。其中,定位数据是用于生成定位地图的数据,其基于单线激光雷达感应栅格中的障碍信息,即单线激光雷达感应到栅格中存在障碍则输出障碍的障碍信息;单线激光雷达未感应到栅格中存在障碍则输出空白的障碍信息;单线激光雷达无法感应栅格中是否存在障碍则输出未知的障碍信息。
导航数据是用于生成导航地图的数据,其基于单线激光雷达、深度相机、超声传感器和跌落传感器构成的传感器组结合感应的障碍信息。即传感器组存在一个传感器感应到栅格中存在障碍则输出障碍的障碍信息;传感器组均未感应到栅格中存在障碍则输出空白的障碍信息;传感器组均无法感应栅格中是否存在障碍则输出未知的障碍信息。
这里特别说明,由于定位地图采用一个单线激光雷达感应获得的障碍信息;而导航数据基于包括单线激光雷达的传感器组结合感应的障碍信息。定位地图在地图数据内容上与导航地图属于被包含关系,换言之,导航地图中非障碍区域在定位地图中一定也是非障碍区域,而导航地图中的障碍信息,由于不一定来自于创建定位地图的单线激光雷达,所以可能是未知区域也可能是空白区域。
因此,导航地图与定位地图和数据对应关系,只包含五种情况,即当导航数据判断栅格属于障碍区域的情况下,定位数据可能判断栅格属于障碍区域、空白区域和位置区域中任一种。即当导航数据判断栅格属于空白区域的情况下,定位数据仅可能判断栅格属于空白区域。当导航数据判断栅格属于未知区域的情况下,定位数据仅可能判断栅格属于未知区域。
1)栅格状态层
栅格状态层包括两位的栅格位和一位的定位标志构成,通过三位能够表示出所有的状态信息。栅格状态层由定位数据和导航数据计算获得。而栅格状态层获取定位数据和导航数据可以通过传感器检测直接获得,也可以通过转化定位地图和导航地图中的数据获得。
定位数据和导航数据中障碍、未知和空白三种状态的区域分别用00、10和11表示;当定位数据和导航数据通过传感器检测直接获得定位数据和导航数据时,仅需对应传感器获取的障碍、未知和空白的00、10和11的两位数据。而当通过转化定位地图和导航地图中的数据时,可以通过使用条件判断的方式:如一个定位地图和导航地图的栅格数值小于128(10000000B),则该栅格属于障碍区域对应两位数据00;如果栅格数值大于等于128小于192(11000000B),则该栅格属于未知区域对应两位数据10;如果栅格数值大于等于192,则该栅格属于空白区域对应两位数据11。
栅格状态层的编码方法为:
S201、导航数据与定位数据进行异或运算,获得运算结果;
S202、将运算结果按布尔变量的规则取值获得定位标志的值;
S203、分别将两位运算结果数据的每一位与对应的定位标志进行异或运算,获得栅格状态层的栅格位。
其中布尔变量的规则为判断运算结果是否为0,若运算结果为0,则定位标志为0,运算结果非0,则定位标志为1。因此对应上述五种数据的运算过程如下表。
当然,在另一种实施方式中也可以通过条件判断的方式对栅格状态层实施的三位赋值。
2)数据编码层开关量障碍信息
由上文可知,传感器组包括单线激光雷达、深度相机、超声传感器和跌落传感器;开关量障碍信息包括由单线激光雷达、深度相机、超声传感器和跌落传感器的输出的开关量信息。同理,通过增加开关量障碍信息的位数,能够增加更详细或是更多种类的传感器源的记录。
之后预设编码位的顺序:如单线激光雷达采用第一位编码位,深度相机采用第二位编码位,超声传感器采用第三位编码位,跌落传感器采用第四位编码位,所有编码位默认赋值为“0”;
然后,在创建栅格地图过程中,当某一传感器数据映射到某一栅格时,将该栅格编码中该传感器对应的编码位赋值为“1”。
特别说明,由于只有有数据的传感器对应的编码位才会被记录,即栅格位“00(01)”“11”的部分,而未知区域即“10”的部分不会有记录。这个特性可对解码部分起到一定的帮助。
另外,由于多传感器数据叠加会有数据覆盖问题,即障碍区域(00部分)会覆盖未知区域(10部分)和空白区域(11部分),而空白区域又会覆盖未知区域,因此此种编码方式能精准区分空白区域的传感器来源,但是障碍区域仅能区分此传感器是否检测到该障碍,不能区分未检测到时是未知区域还是空白区域。因此,此种编码方式重点在于区分障碍区域的传感器数据来源。
3)数据编码层语义信息
在一些应用场景下,构建栅格地图的过程本身伴随着识别过程,环境元素中包含一些特别的语义信息需要标注和记录,例如,在地下停车场环境下,构建栅格地图时停在停车位上的汽车需要标注;再比如商场洗地机器人的应用环境下,地毯等特殊区域需要标注等等。这些元素均可以通过后期后台管理进行标注处理。但如果能在构建栅格地图的时候,结合合适的识别程序,例如辅助摄像头进行视觉识别,直接在地图原始数据上做标记,将极大降低后台处理的难度。
由于编码位位数限制,能加以标注的类型总数有限,因此仅推荐对相关应用场景下最基本最常见的、后期难以处理的环境元素类型进行类型标注,记录简单的语义信息。
我们需要事先确认好需要添加的语义信息种类,然后对其进行编码分类,一个可行的编码方案如下所示:
语义信息获取的方法步骤为:
从传感器组获取环境障碍信息;
S301、同步开启识别程序,获取环境物体语义信息;
S302、通过传感器坐标对齐,将环境障碍信息与语义信息进行匹配;
S303、判断当前环境障碍信息是否属于预编码的语义信息之一,若是,将对应编码赋值到对应数据编码层的编码位。
其中同步开启的识别程序包括图像识别和点云聚类分割的至少一种。
4)数据编码层障碍高度信息
栅格地图的一大缺点就是只有二维信息,而现实中机器人却是立体的。一般在建图时会对传感器获取立体障碍信息进行高度滤波,即只有高于最低高度阈值、低于最高高度阈值的部分才会被当作障碍物记录在地图中。这适用于大部分单层平面场景的应用,但是在某些场景下,同一层地图却包含高度落差,或是同时有不同规格、高度不同的机器人在工作,这时可以利用编码位记录简单的层级信息或障碍高度信息。
由于平面地图编码位位数有限,不推荐记录过于细致的高度信息,所以首先我们需要给高度划分等级,一个可供参考的样例为:
样例所展示的是多种高度障碍的复杂环境下使用二维平面地图的编码方式,常见于商店、餐馆等场景,或是同一场景下不同高度规格的机器人协同运作,需要地图数据同步的情况。
障碍高度信息获取的方法步骤为:
S401、从传感器组获取环境障碍信息;
S402、读取并记录环境障碍信息的高度值;
S403、环境障碍信息的高度值与预读取的高度编码范围做对比,环境障碍信息的高度值赋值为对应的编码信息,
S404、覆写入对应数据编码层的编码位。
具体的,当读取环境障碍信息的高度值时,若传感器组获取多个不同的障碍高度信息,则将获取的障碍高度信息进行对比,取较小者作为障碍高度信息记录。
综上,在一种实施例中,如图2所示,数据数组采用16位的无符号短整型,数据数组包括前3位的栅格状态层和后13位数据编码层。其中栅格状态层包括两位的栅格位和一位的定位标志。数据编码层四位的开关量障碍信息、五位的语义信息和四位的障碍高度信息。
解码模块用于解码数据数组信息,从融合地图中,解码出对应的定位地图和导航地图。
1). 提取导航地图
导航地图信息完全包含在栅格编码的前两位“栅格位”中,如下表所示:
提取导航地图,可以使用条件判断的方式。
如果一个地图栅格的栅格位小于10,则该栅格属于障碍,解码为导航地图中数据0;如果栅格位等于10,则该栅格属于未知区域,解码为导航地图中数据150;如果栅格数值等于11,则该栅格属于空白区域,解码为导航地图中数据254。
2). 提取定位地图
定位地图的提取需要先将栅格位的两位分别与第三位定位标志进行异或运算,运算结果如下:
由“编码”部分可知,在本发明中,定位标志与融合地图栅格位的对应情况是有限的5种,即上表中有效的五种运算结果。
如果一个地图栅格的异或运算结果小于10,则该栅格属于障碍,解码为定位地图中数据0;如果栅格位等于10,则该栅格属于未知区域,解码为定位地图中数据150;如果栅格数值等于11,则该栅格属于空白区域,解码为定位地图中数据254。
3). 根据预编码信息,提取对应需求的特殊编码地图。
a). 提取单独传感器源的开关量障碍信息。
区分传感器数据来源,是根据编码位对应的传感器源标志进行的。传感器源对应的编码位信息储存在与地图图像一起保存的地图信息文件中,解码时需读取该文件获取传感器源与编码位对应的关系。
根据编码过程的执行方法我们可以得知,针对传感器源的记录只区分障碍区域的栅格数据编码是否来自于某一传感器。所以解码过程之针对栅格位数据为00(01)的部分进行,10和11的部分数据将直接拷贝到要提取的传感器源的数据结构中。其步骤如下:
S501、 新建一张栅格地图,其宽高、分辨率、原点坐标均等同于融合地图,栅格初始值均为150;
S502、 依次遍历融合地图所有栅格,根据传感器与编码位对应关系,读取所需解码的传感器源的编码位信息;
读取所需解码的传感器源的编码位信息可以通过简单的位运算实现(如提取编码位第1位即整体第4位数据,可以将栅格数据与“00010000B”进行按位与“&”运算,结果为0说明该位为0,结果非0说明该位为1)
S503、 进行条件判断,若该编码位为1,则说明此栅格数据来自于此传感器,执行S504、;若该编码位为0,则说明该栅格数据与此传感器无关,执行S505;
S504、 栅格数据来自目标传感器,则若原栅格数据小于128,则给新地图对应栅格赋值为0;若原栅格数据大于等于192,则给新地图对应栅格赋值为254;重复步骤S502直至遍历完成。
S505、跳过处理此栅格,此时该栅格值为默认的150;重复步骤S502,直至遍历完成。
b). 提取指定障碍物体的地图数据,
提取指定障碍物的地图数据,需要预先读取地图信息文件中的障碍物编码方案,获取障碍物语义信息编码对应的编码位位数,以及对应的编码值。然后按以下步骤执行:
S601、新建一张栅格地图,其宽高、分辨率、原点坐标均等同于融合地图,栅格初始值均为150;
S602、依次遍历融合地图所有栅格,若原栅格数据小于128,则提取编码位中表示语义信息的部分;
具体的,取编码位中表示语义信息的部分可以并不限于使用简单的位运算实现(例如编码位后3位表示语义信息,则将该栅格二进制数值与“00000111B”进行按位与“&”运算);
S603、判断该语义编码是否属于待提取的指定障碍物,若是,则将新地图对应栅格赋值为0,否跳过此栅格继续遍历融合地图,直至遍历完成。
c). 提取指定高度信息的地图数据。
在一些较复杂场景下,比如餐馆、商场等,可能有些高度的门、通道等,在某些时候允许机器人通过,而有些时候不允许;或者同一场景下,存在高度不同、规格不同的机器人协同作用,如大型清洗机器人和专门清洗角落等的小型洗地机器人,所允许的同行场景不同,但是因为清洁协同作业的需求,需要地图数据同步。这时候,一张经过特殊编码的保存了高度信息的栅格地图,可以通过读取、过滤障碍物高度信息,获取指定情况下可用的地图。
具体步骤为:
S701、预读取地图信息文件中的高度编码信息,获取所需要的高度范围阈值H(m);
S702、 新建一张栅格地图,其宽高、分辨率、原点坐标均等同于融合地图,栅格初始值均为150;
S703、依次遍历融合地图所有栅格,若原栅格数值小于128,则读取栅格编码位高度编码,将其与所需提取的地图高度信息对比,获取其所在的高度区间范围;否则跳过此格;
S704、将第三步获取的高度范围与H做对比:若对应栅格最小高度范围高于H,则新地图对应栅格赋值为254;否则将新地图对应栅格赋值为0;
s5. 循环此过程直至地图遍历完成。
上述由于构建栅格地图的过程,涉及到编码位预先编码信息,所以需要将地图编码方案、规则,预先用文件记录以供建图程序读取,这里我们采用“地图信息文件”进行记录,供建图程序读取,并且用于建图完成后记录地图信息。
建图完成后,存储编码完成的融合地图分为两部分,一部分是数据本身,即借助计算机图像学将融合地图存储为计算机图像,包括并不限于使用开源库opencv来实现;另一部分是地图的基本信息(分辨率、宽、高和原点坐标等)和预编码信息(如传感器对应编码位、语义信息编码等),即将其储存在地图信息文件中,包括并不限于使用文本文件方式记录,或者使用json开源库将上述信息存储到json文件。
一种实施案例:
某一大型商厦,需要每天清晨进行地面清洁,拟用数台大型洗地机器人和数台小型洗地机器人联合作业,机器人之间需要使用同样的地图,尤其是针对大型洗地机无法进入的区域,需要小型洗地机前往处理。
由于两种洗地机器人传感器安装位置不同,因此两者定位地图略有区别,需要加以高度信息进行区分;为防止直射人眼,大型洗地机器人单线激光雷达安装高度为2.0米,小型洗地机器人单线激光雷达安装高度为0.25米。
商厦部分区域存在移动展柜、柜台等,会定期或随节日等更换布局,因此后台希望能随时、单独地对展柜、柜台等进行编辑处理;同时商厦中存在大量玻璃墙、玻璃店铺门等,由于超声传感器检测玻璃不一定连贯、完整,故需要将超声数据单独提取出来进行编辑,补全玻璃信息;
因此,进行初期部署时,采用本发明所述编码方式对地图进行编码;
首先,设定预编码信息,使用json格式预写入map.json文件中,如下:
"precoded" :
{
"byte_size" : 1,// 表示采用uchar也就是单字节无符号字符型来储存每个栅格的数据
"grid_bits" : [1, 2], // 表示栅格位的数据位置;这是按二进制编码从高位到低位计算,最高位为1,最低位为8,下同
"locate_bit" : 3, // 表示定位标志位的数据位置
"height_bits" : // 表示地图障碍物高度信息,注意,仅适用于定位地图
{
"bits" : [4, 5], // 高度信息所占的数据位置
"low_height" : [0.1, 0.5], // 小型机器人定位高度范围,对应低矮障碍物
"high_height" : [1.75, 2.25], // 大型机器人定位高度范围,对应高障碍物
"low" : [0, 1], // 低障碍物的数据编码
"high" : [1, 0], // 高障碍物的数据编码
"pillar" : [1, 1], // 柱状障碍物(高低均有)的数据编码
},
"semantic_bits" : // 表示语义信息
{
"bits" : [6, 7], // 语义信息所占的数据位置
"semantic_objs" : ["cabinet", "showcase"], // 语义信息包含的语义内容
"cabinet" : 6, // 橱柜所占的数据位置
"showcase" : 7 // 展柜所占的数据位置
},
"sensor_bits" : // 表示传感器信息
{
"bits" : [8], // 传感器信息所占的数据位置,因为只需要超声的所以只有一个
"sonar" : 8 // 超声传感器信息所占的数据位置
}
}
这样,在创建地图的过程中,多台机器人协同建图,按照上述编码方案,和本发明的编码技术,形成各自的融合地图,然后将信息通过无线局域网络传给其余机器人及管理后台,进行地图信息融合,获得统一的商场平面融合地图。
融合过程中,信息覆盖的原则采取一贯的“1覆盖0”,举例说明,小型机器人在某个位置检测到低矮障碍,height_bits编码为“01”,而大型机器人在同样位置检测到高障碍物,编码为“10”,则融合后的地图障碍编码为“11”。
然后,地图解码需要根据需求进行,大型、小型机器人解码定位地图,需要结合高度信息,即在解码定位地图时,针对定位地图中的障碍部分,只有高度编码位为“10”或“11”,才是大型机器人定位地图数据,否则均为未知;同理,只有高度编码位为“01”或“11”,才是小型机器人定位地图数据,否则均为未知。 提取语义信息、超声传感器玻璃信息,需要在管理后台进行。
本发明有益效果如下:
通过将定位地图与导航地图融合为一张图,即保证了信息的完整性,又降低的地图的传输、存储成本,并且解决潜在的地图同步风险,在多种应用场景下具有重要意义,包括并不限于降低以下成本:机器人地图信息云同步和后台管理的存储和传输成本,多机器人协作的地图传输成本和同步难度,机器人数据迁移时的传输和操作成本等;
通过编码位的设计,让单一的二维平面地图有能力承载更多更丰富的信息,大大提高二维平面地图的可操作性。包括并不限于:记录障碍数据的具体传感器来源,方便数据溯源和后台针对性编辑;记录简单的地图语义信息;记录简单的障碍高度信息等。方便了在不同场景下的地图复用和后台编辑。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种机器人栅格地图的构建方法,其特征在于:包括:
获取栅格地图的栅格边长;
获取栅格地图的横向栅格数量;
获取栅格地图的纵向栅格数量;
获取栅格地图的原点坐标;
获取传感器组感应映射到栅格中的障碍信息;
构建与栅格地图内栅格依次对应的数据数组;
其中,所述数据数组包括栅格状态层和数据编码层;所述栅格状态层基于定位数据和导航数据运算生成;所述栅格状态层包括栅格位和定位标志构成,以涵盖定位数据和导航数据的多种不同状态;
所述定位数据基于单线激光雷达感应的障碍信息;所述导航数据基于包括单线激光雷达的传感器组结合感应的障碍信息;
数据编码层包括传感器组中各自感应的开关量障碍信息、对应障碍类型的语义信息和障碍高度信息中的至少一种。
2.根据权利要求1所述的机器人栅格地图的构建方法,其特征在于:所述定位数据和导航数据均包括障碍、未知和空白三种状态,所述栅格状态层包括两位的栅格位和一位的定位标志,定位标志由定位数据与对应位置的导航数据运算获得。
3.根据权利要求2所述的机器人栅格地图的构建方法,其特征在于:
所述定位数据和导航数据中障碍、未知和空白三种状态分别用00、10和11表示;
所述栅格状态层的计算方法为:
导航数据与定位数据进行异或运算,获得运算结果;
将运算结果按布尔变量的规则取值获得定位标志的值;
分别将两位运算结果数据的每一位与对应的定位标志进行异或运算,获得栅格状态层的栅格位。
4.根据权利要求1所述的机器人栅格地图的构建方法,其特征在于:所述数据数组采用无符号字符型或无符号短整型。
5.根据权利要求1所述的机器人栅格地图的构建方法,其特征在于:所述传感器组包括单线激光雷达、深度相机、超声传感器和跌落传感器;所述数据编码层包括单线激光雷达、深度相机、超声传感器和跌落传感器的输出的开关量障碍信息。
6.根据权利要求1所述的机器人栅格地图的构建方法,其特征在于:语义信息获取的方法为:
从传感器组获取环境障碍信息;
同步开启识别程序,获取环境物体语义信息;
通过传感器坐标对齐,将环境障碍信息与语义信息进行匹配;
判断当前环境障碍信息是否属于预编码的语义信息之一,若是,将对应编码赋值到对应数据编码层的编码位。
7.根据权利要求6所述的机器人栅格地图的构建方法,其特征在于:同步开启的识别程序包括图像识别和点云聚类分割的至少一种。
8.根据权利要求1所述的机器人栅格地图的构建方法,其特征在于:障碍高度信息获取的方法为:
从传感器组获取环境障碍信息;
读取并记录环境障碍信息的高度值;
环境障碍信息的高度值与预读取的高度编码范围做对比,环境障碍信息的高度值赋值为对应的编码信息,
覆写入对应数据编码层的编码位。
9.根据权利要求8所述的机器人栅格地图的构建方法,其特征在于:当读取环境障碍信息的高度值时,若传感器组获取多个不同的障碍高度信息,则将获取的障碍高度信息进行对比,取较小者作为障碍高度信息记录。
10.一种机器人栅格地图的构建系统,其特征在于:包括编码模块和解码模块;所述编码模块用于实现权利要求1至9任一所述的构建方法,所述解码模块解码权利要求1至9任一所述的数据数组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010062924.XA CN111221337B (zh) | 2020-01-19 | 2020-01-19 | 机器人栅格地图的构建方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010062924.XA CN111221337B (zh) | 2020-01-19 | 2020-01-19 | 机器人栅格地图的构建方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221337A CN111221337A (zh) | 2020-06-02 |
CN111221337B true CN111221337B (zh) | 2023-05-16 |
Family
ID=70831236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010062924.XA Active CN111221337B (zh) | 2020-01-19 | 2020-01-19 | 机器人栅格地图的构建方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221337B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708368B (zh) * | 2020-07-07 | 2023-03-10 | 上海工程技术大学 | 一种基于激光与视觉slam融合的智能轮椅 |
CN112129295B (zh) * | 2020-09-24 | 2021-08-17 | 深圳市云鼠科技开发有限公司 | 一种低内存占用的链式栅格地图构建方法 |
CN112527929B (zh) * | 2020-10-20 | 2023-12-08 | 深圳银星智能集团股份有限公司 | 一种栅格地图编码方法及其装置、电子设备 |
CN112558599B (zh) * | 2020-11-06 | 2024-04-02 | 深圳拓邦股份有限公司 | 机器人工作控制方法、装置及机器人 |
CN113240737B (zh) * | 2021-04-20 | 2023-08-08 | 云鲸智能(深圳)有限公司 | 识别门槛的方法、装置、电子设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107065872A (zh) * | 2017-04-11 | 2017-08-18 | 珠海市微半导体有限公司 | 智能机器人的栅格地图创建方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106969784B (zh) * | 2017-03-24 | 2019-08-13 | 山东大学 | 一种并发建图定位与惯性导航的组合误差融合系统 |
CN108303101B (zh) * | 2018-03-05 | 2018-09-11 | 弗徕威智能机器人科技(上海)有限公司 | 一种导航地图的构建方法 |
SG11202009494YA (en) * | 2018-03-28 | 2020-10-29 | Agency Science Tech & Res | Method and system for returning a displaced autonomous mobile robot to its navigational path |
CN108920584B (zh) * | 2018-06-25 | 2020-10-30 | 广州视源电子科技股份有限公司 | 一种语义栅格地图生成方法及其装置 |
CN108628316A (zh) * | 2018-06-27 | 2018-10-09 | 杨扬 | 建立吸尘机器人栅格地图的方法 |
CN110275540A (zh) * | 2019-07-01 | 2019-09-24 | 湖南海森格诺信息技术有限公司 | 用于扫地机器人的语义导航方法及其系统 |
-
2020
- 2020-01-19 CN CN202010062924.XA patent/CN111221337B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107065872A (zh) * | 2017-04-11 | 2017-08-18 | 珠海市微半导体有限公司 | 智能机器人的栅格地图创建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111221337A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221337B (zh) | 机器人栅格地图的构建方法及系统 | |
US11747823B2 (en) | Monocular modes for autonomous platform guidance systems with auxiliary sensors | |
CN111461245B (zh) | 一种融合点云和图像的轮式机器人语义建图方法及系统 | |
US10192113B1 (en) | Quadocular sensor design in autonomous platforms | |
Gruen et al. | Automatic extraction of man-made objects from aerial and space images (II) | |
US10496104B1 (en) | Positional awareness with quadocular sensor in autonomous platforms | |
CN101512601B (zh) | 从图像中确定深度图的方法以及确定深度图的设备 | |
US7274380B2 (en) | Augmented reality system | |
CN101673410B (zh) | 一种基于矢量建筑图纸重建三维模型的方法 | |
KR101965878B1 (ko) | 시각적 피처들을 이용한 이미지들의 자동 연결 | |
CN113628291B (zh) | 基于边界提取与合并的多形状目标栅格数据矢量化方法 | |
EP3351001A1 (en) | Method for encoding a light field content | |
CN113052903A (zh) | 一种用于移动机器人的视觉与雷达融合定位方法 | |
da Silveira et al. | 3d scene geometry estimation from 360 imagery: A survey | |
Shan et al. | Toward a unified theoretical framework for photogrammetry | |
Zhou et al. | Street-view imagery guided street furniture inventory from mobile laser scanning point clouds | |
Wang et al. | Construction Photo Localization in 3D Reality Models for Vision-Based Automated Daily Project Monitoring | |
CN115468568A (zh) | 室内导航方法、装置及系统、服务器设备及存储介质 | |
CN115493596A (zh) | 一种移动机器人语义地图构建与导航方法 | |
CN107197274B (zh) | 视觉非同步流编码及解码方法 | |
Tsuji et al. | Memorizing and representing route scenes | |
CN113362458A (zh) | 模拟多视角成像的三维模型解译方法、终端及存储介质 | |
Lee et al. | $^{2} $: LiDAR-Camera Loop Constraints For Cross-Modal Place Recognition | |
Cavallari et al. | Volume-based semantic labeling with signed distance functions | |
Ahmad et al. | Multi-view 3d objects localization from street-level scenes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |