一种机器人视觉导航地图的创建方法

文档序号:10637264阅读:390来源:国知局
一种机器人视觉导航地图的创建方法
【专利摘要】本发明涉及一种机器人视觉导航地图的创建方法,包括:设置路标的数量,设定一起始路标;机器人从起始路标开始识别路标,对路标进行相机标定,并对每个路标进行层级划分;计算所有相邻层级的具有直属关系的两个路标坐标系的转换关系矩阵。本发明使用多叉树结构来表达相邻路标之间的层级关系,同时使用相机标定与平面坐标系之间的坐标变换矩阵来作为路标坐标系之间的数学转换表达,有利于简化后续的路径规划算法。
【专利说明】
一种机器人视觉导航地图的创建方法
技术领域
[0001] 本发明属于机器人视觉导航领域,特别涉及一种机器人视觉导航地图的创建方 法。
【背景技术】
[0002] 为了实现机器人视觉导航,需要设置路标和导航模块,所述路标可以设置在室内 的天花板上;所述导航模块为了拍摄与识别所述路标,一般包括相机、图像处理单元与计算 单元,所述相机设置在机器人头部顶端,所述图像处理单元、计算单元设置在机器人内部。
[0003] 机器人视觉导航的地图创建一般是指机器人通过所述相机拍摄路标与导航模块 内的图像处理单元、计算单元等进行路标识别、标定,并计算确定各路标之间的位置关系。
[0004] 机器人视觉导航地图创建好之后保存在机器人中,这样,当机器人再次回到本场 景的时候,不需要再次重复繁杂的建图步骤,而是简单的重新加载该地图即可。并且,如果 将多台机器人放在同一场景使用,保存有该地图的机器人可以将该地图传输给未保存该地 图的其他机器人使用。
[0005] 现有的机器人视觉导航地图的创建有多种方法,比较简单的方法是利用所述导航 模块中包括的摄像机对场景地图进行图像识别,并且基于摄像机坐标系保存起来。这样的 方法看似简单,但实际使用过程中,运算量大,不利于后续机器人导航路径的规划。

【发明内容】

[0006] 本发明的目的在于解决现有技术中的机器人视觉导航地图的创建运算量大,不利 于后续导航路线的规划的问题。
[0007] 为实现上述目的,一种机器人视觉导航地图的创建方法,包括:
[0008] S100:设置路标的数量,设定一起始路标;
[0009] S200:机器人从起始路标开始识别路标,对路标进行相机标定,并对每个路标进行 层级划分;
[0010] S300:计算所有相邻层级的具有直属关系的两个路标坐标系的转换关系矩阵。
[0011] 进一步地,步骤S100还包括设置所述路标中的尺寸,所述机器人可使用所述尺寸 将实际空间与相机坐标系下的尺寸进行转换。
[0012] 进一步地,所述路标包括:
[0013] 第一坐标标记,用于确定路标坐标系的X轴;
[0014] 第二坐标标记,用于确定路标坐标系的Y轴;
[0015] 区域标记,用于确定路标所在的空间位置,所述区域标记包括多个等距离的信息 块,所述尺寸是所述信息块之间的距离或者信息块的长度。
[0016] 进一步地,所述起始路标设定为位于所有路标所处空间中央位置的路标。
[0017] 进一步地,步骤S200还包括:以路标为节点,采用多叉树结构对路标进行层级划 分,所述起始路标为第一层级路标。
[0018] 进一步地,所述第一层级路标只有1个。
[0019] 进一步地,所述路标的层级数的确定方法如下:机器人从已划分层级的路标出发, 能够同时识别到所述已划分层级的路标与其他未划分层级路标时,将所述其他未划分层级 路标的层级数划分为比所述已划分层级的路标大一个层级。
[0020] 进一步地,所述直属关系是指,如果两个路标之间的层级相差一个层级,且层级较 大的路标的层级是根据层级较小的路标的层级而直接确定的,则这两个路径具有直属关 系;所述具有直属关系的相邻层级两个路标在所述多叉树结构中直接相连。
[0021] 进一步地,当多叉树结构中的路标数量与预先设置的路标数量相同,并且计算完 成所有相邻层级的具有直属关系的两个路标坐标系的转换关系矩阵时,地图创建完成。
[0022] 进一步地,所述相机标定的的时刻是机器人能够稳定并且准确的反映出识别的路 标的时刻。
[0023] 进一步地,所述S300中,设0XY、0'X' Y'是两个相邻路标的坐标系,0 '在0XY中的坐 标为(tx,ty),由X轴到X'轴的角度为0,则所述转换关系矩阵A是一个可逆矩阵,SP: cosG -sinO tx
[0024] sinO cosB ty 0 0 1
[0025] 与现有技术相比,本技术方案具有以下优点:
[0026] 本技术方案的一种机器人视觉导航地图的创建方法,通过使用多叉树结构来表达 相邻路标之间的层级关系,同时使用相机标定与平面坐标系之间的坐标变换矩阵来做为路 标坐标系之间的数学转换表达,有利于简化后续的路径规划算法。
【附图说明】
[0027] 图1为本发明一种机器人视觉导航地图的创建方法的流程图。
[0028] 图2为本发明一种机器人视觉导航地图的创建方法的多叉树结构图。
[0029] 图3为本发明一种机器人视觉导航地图的创建方法的路标设置示意图。
[0030] 图4为本发明一种机器人视觉导航地图的创建方法的路标结构示意图。
[0031] 图5-7为本发明一种机器人视觉导航地图的创建方法的层级划分示意图。
[0032] (注意:附图中的所示结构只是为了说明本发明特征的示意,并非是要依据附图所 示结构。)
【具体实施方式】
[0033]为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明 的具体实施例做详细的说明。
[0034] 本发明提供了一种机器人视觉导航地图的创建方法。
[0035] 所述机器人视觉导航地图的创建方法,参考图1,包括:
[0036] S100,设置路标的数量,设定一起始路标。
[0037] 在本实施例中,参考图2,所述的机器人视觉导航地图的创建,是指以路标为节点 构建多叉树结构,将此多叉树结构作为机器人视觉导航地图并保存。
[0038] 在本实施例中,参考图3,所述路标的数量根据导航需求设置为7个,包括起始路标 E,第二层级一路标D,第二层级二路标F,第三层级一路标A,第三层级二路标B,第三层级三 路标C,第三层级四路标G。
[0039]在其他实施例中,所述路标的数量根据导航的需求可以设置任意数量,比如2个, 比如3个,比如100个,只要所述路标数量能够满足机器人视觉导航需求即可。
[0040] 所述起始路标可以设定为所有路标中的任意一个,但一般选取位于所有路标所处 空间中央位置的路标。
[0041] 因为在多叉树地图构建过程中,相机标定与坐标转换关系矩阵计算都存在不可避 免的误差,并且误差是相乘叠加的;假设起始路标E与第二层级一路标D的相机标定与坐标 转换关系计算误差为A 1,第二层级一路标D与第三层级一路标A的相机标定与坐标转换关 系计算误差为A 2,则起始路标E到第三层级一路标A间的标定与计算误差为A 〇= A 1 * A 2,因而,一般选择位于所有所述路标所处空间的中央位置的路标为起始路标,这样,在使用 本发明所述方法时,由起始路标E从其周围开始构建多叉树结构地图,可以使得多叉树结构 地图的层数少,以尽可能的减小误差。
[0042] 在本实施例中,所述起始路标E位于7个路标所处空间的中央位置。
[0043]在其他实施例中,所述起始路标可以是所有路标中的任意一个,比如参考本实施 例,可以是第二层级一路标D,或者第二层级二路标F,或者第三层级二路标B。
[0044] 所述S100还包括设置所述路标中的尺寸,使用所述尺寸可以将实际空间与相机坐 标系下的尺寸进行转换。
[0045] 在本实施例中,所述路标采用如图4中所示的路标,所述路标包括第一坐标标记 11,用于确定坐标X轴;第二坐标标记12,用于确定坐标Y轴;还包括区域标记100,区域标记 设置于第一坐标标记11与第二坐标标记12确定的坐标内,用于确定路标所在的空间位置; 所述区域标记1〇〇内包括等距离的信息块,每个路标包含的所述信息块的数量和位置不同, 以区别路标;图2中所述的路标包括信息块110、信息块120、信息块130、信息块140、信息块 150、信息块160、信息块170、信息块180和信息块190,相邻两两信息块之间的距离为5cm。
[0046] 在其他实施例中,所述路标区域标记100内若只包括信息块110、信息块130和信息 块190,则,信息块110与信息块130之间的距离为10cm,也就是2个5cm,信息块130和信息块 190之间的距离为10cm,也是2个5cm,信息块110和信息块190之间的距离为在与路标坐标系 X轴与Y轴分别平行的两个方向上均为10cm。
[0047]在其他实施例中,采用如图4中所述的路标,所述的信息块110、信息块120、信息块 130、信息块140、信息块150、信息块160、信息块170、信息块180和信息块190,相邻两两信息 块之间的距离为1 〇cm 〇
[0048] 在其他实施例中,采用如图4中所述的路标,所述的信息块110、信息块120、信息块 130、信息块140、信息块150、信息块160、信息块170、信息块180和信息块190,相邻两两信息 块之间的距离为8cm 〇
[0049] 在其他实施例中,采用如图4中所述的路标,所述的区域标记100内的所述信息块 可以不是3行3列,可以是4行4列或其他数量的行与其他数量的列。
[0050] 在本实施例中,根据路标中设置的尺寸可以将所述实际空间中的尺寸与相机坐标 系下的尺寸进行转换,比如,可以将实际空间中的宽度与相机坐标系下的宽度进行转换,或 者也可以将实际空间中的距离与相机坐标系下的距离进行转换;本实施例中,所述信息块 之间的距离为5cm,假设拍摄所述路标后,所述信息块之间的距离在所述相机坐标系下为 1mm,即可以确定所述相机坐标系下10mm的距离在实际空间中距离为50cm,或者比如所述信 息块的长度为lcm,所述信息块的长度在所述相机坐标系下为0.2mm,即可以确定所述相机 坐标系下l〇mm的长度在实际空间中长度为50cm。
[0051]在其他实施例中,所述路标也可以采用诸如条形码、二维码等路标,只要确定并设 置好所述路标中的尺寸,能够使用所述尺寸可以将实际空间与相机坐标系下的尺寸进行转 换即可。
[0052] S200,机器人从起始路标开始识别路标,对路标进行相机标定,并对每个路标进行 层级划分。
[0053] 所述相机标定常用于机器视觉研究,在本发明中,是指将所述路标的坐标系都转 化为所述相机的坐标系,并且得知所述路标在所述实际空间与相机坐标系下的尺寸的转换 数学关系,找出其定量的联系。
[0054] 所述路标的层级划分由小到大,确定起始路标为第一层级路标,然后依次将所有 路标进行层级划分。
[0055] 在本实施例中,所述起始路标E为第一层级路标,然后以起始路标E开始将所有路 标进行层级划分。
[0056] 在其他实施例中,所述路标的层级划分也可以由大到小,比如讲起始路标E划分为 的第五层路标,或者第N层路标,N可以为任意数,也可以是字母等。
[0057] 所述路标的层级大小是指:假设有第M层级路标与第N层级路标,M大于N,则,第M层 级路标的层级大于第N层级路标的层级。
[0058] 在本实施例中,起始路标E为第一层级路标,所述第二层级一路标D的层级数大于 起始路标E。
[0059] 在其他实施例中,所述路标的层级大小可做其他规定,比如假设有第M层级路标与 第N层级路标,M大于N,则,第N层级路标的层级大于第M层级路标的层级。
[0060] 所述路标的层级数确定采用如下方法:机器人从已划分层级的路标出发,能够同 时识别到所述已划分层级的路标与其他未划分层级路标时,将所述其他未划分层级路标的 层级数划分为比所述已划分层级的路标大一个层级。
[0061] 在本实施例中,所述机器人从起始路标开始识别路标,划分起始路标为第一层级 路标,在人工干预下,机器人从起始路标出发,在某一位置能够同时识别到起始路标与其他 路标时,将其他路标划分为第二层级路标,并对划分好层级的路标进行相机标定;所述第一 层级路标分别与所有的所述第二层级路标具有直属关系。
[0062] 所述路标的直属关系是指,所述两个路标之间的层级相差一个层级,且层级较大 的路标的层级是根据层级较小的路标的层级而直接确定的;所述具有直属关系的相邻层级 两个路标在多叉树结构中直接相连。
[0063] 然后,机器人从第二层级路标出发,在任何位置均不能够同时识别到起始路标与 其他路标,而只能在某一位置同时识别到第二层级路标与其他路标时,将其他路标划分为 第三层级路标,并对划分好层级的路标进行相机标定;采用同样的方法划分第四层级与第 四层级以上的路标。
[0064] 在本实施例中,参考图5,所述机器人1在人工干预下,从起始路标E开始行走,通过 所述导航模块中的相机2进行路标图像拍摄与识别,当所述导航模块中的相机2能够同时拍 摄到起始路标E与第二层级一路标D,并且准确且稳定的反映出拍摄到的是起始路标E与第 二层级一路标D时,人工干预,给机器人1 一个信号,机器人1对起始路标E与第二层级一路标 D均进行相机标定,分别计算起始路标E坐标系、第二层级一路标D坐标系和所述相机坐标系 的转换关系矩阵,并且,将所述第二层级一路标D划分为第二层级路标。
[0065]然后,参考图6,机器人1在人工干预下从第二层级一路标D出发沿着第三层级二路 标B的方向行走,通过所述导航模块中的相机2进行路标图像拍摄与识别,在此过程中,当机 器人1在任意位置不能同时识别到起始路标E与第三层级二路标B,而在某一位置能够准确 且稳定的反映出同时识别到的是第二层级一路标D与第三层级二路标B时,人工干预,给机 器人1 一个信号,机器人1对第二层级一路标D与第三层级二路标B均进行相机标定,分别计 算第二层级一路标D坐标系、第三层级二路标B坐标系和所述相机坐标系的转换关系矩阵, 并且,将所述第三层级二路标B划分为第三层级路标。
[0066]最后,人工干预机器人回到第二层级一路标D,沿第三层级一路标A方向行走,当过 程中机器人能够准确并稳定的识别出第二层级一路标D与第三层级一路标A时,人工干预, 给机器人一个信号,机器人对第二层级一路标D与第三层级一路标A均进行相机标定,分别 计算第二层级一路标D坐标系、第三层级一路标A坐标系和所述相机坐标系的转换关系矩 阵,并且,将所述第三层级一路标A划分为第三层级路标。
[0067] 在其他实施例中,参考图7,所述机器人1在人工干预下,从起始路标E开始行走,通 过所述导航模块中的相机2进行路标图像拍摄与识别,当所述导航模块中的相机2能够同时 拍摄到起始路标E、第二层级一路标D与第二层级二路标F,并且准确且稳定的反映出拍摄到 的是起始路标E、第二层级一路标D与第二层级二路标F时,人工干预,给机器人一个信号,机 器人对起始路标E、第二层级一路标D、与第二层级二路标F均进行相机标定,分别计算起始 路标E坐标系、第二层级一路标D坐标系、第二层级二路标F和所述相机坐标系的转换关系矩 阵,并且,将所述第二层级一路标D、与第二层级二路标F划分为第二层级路标。
[0068] 在其他实施例中,采用同样的方法划分第四层级与第四层级以上的路标,即机器 人在任意位置均不能同时识别到路标与起始路标、或第一层级路标、或第二层级路标,而在 某一位置能够同时识别到路标与第三层级路标时,将路标划分为第四层级路标;第四层级 以上路标的层级划分也采用同样的方法。
[0069] 在本实施例中,参考图2,采用的是多叉树结构进行地图的创建,所述起始路标E为 第一层级路标,1张地图只有一个第一层级路标,所述第二层级一路标D划分为第二层级路 标,层级数比起始路标E多一层,所述第三层级一路标A、第三层级二路标B划分为第三层级 路标。
[0070] 在其他实施例中,可以采用其他分级或分类方法对路标进行划分,比如,也可以将 起始路标E与第二层级一路标D均确定为第一层级路标,其余路标再划分为第二层级或第二 以上层级路标。
[0071] 在其他实施例中,所述机器人可以从起始路标E开始沿任意方向行走,比如沿第二 层级二路标F方向开始行走。
[0072] 在本实施例中,机器人进行相机标定的时刻是机器人能够稳定并且准确的反映出 识别的路标时,一般设定为机器人能够在持续在3秒的时间内稳定并且准确的识别路标;并 且,本实施例中还要求机器人处于两个路标距离的二分之一处。
[0073] 在其他实施例中,时间可以根据需要进行调整为4秒或5秒或6秒及以上,只要满足 需要且能够实现即可;并且只要满足此条件即可,不需要机器人一定要处于两个路标距离 的二分之一处。
[0074] 在本实施例中,对所述路标进行相机标定,主要是为了能够将所述路标的坐标系 转化为所述照相机坐标系,每一个路标的坐标系都已经转换到了所述相机坐标系,便于步 骤S300中的两两路标之间的关系运算,计算简单。
[0075] 在本实施例中,所述相机标定方法采用张正友基于针孔相机模型特定的平面标定 方法。
[0076] 在其他实施例中,根据需要可以采用其他相机标定方法,只要能够将所述路标坐 标系与所述相机坐标系进行转换即可,这样,每一个路标的坐标系都已经转换到了所述相 机坐标系,便于步骤300中的两两路标之间的关系运算,计算简单。
[0077] S300,计算所有相邻层级的具有直属关系的两个路标坐标系的转换关系矩阵。
[0078]本实施例中,计算的是多叉树结构中所有具有直属关系的相邻层级的两个路标坐 标系的转换关系矩阵,比如起始路标E与第一层级一路标D之间的转换关系矩阵,比如起始 路标E与第二层级二路标F之间的转换关系矩阵。
[0079] 本实施例中,设0XY、0 'X ' Y '是两个相邻路标的坐标系,0 '在0XY中的坐标为(tx, ty),由X轴到X'轴的角度为0,坐标转换公式是:x = x'cos0-y'sin0+tx,y = x'sin0+y'cos0+ ty〇
[0080] gp,转换矩阵如下所示: xl 「cos? -.sin0l「x'1 「&.
[0081] = + _y」.|_sin0 cos0」[_/」
[0082] 为了更进一步简化公式,便于坐标系之间的转换计算,引入齐次坐标形式,则得到 以下公式: X: GQS0 -Sitl0 tX %'
[0083] y = sin9 COS0 ty jf 1」。〇 1丄1
[0084] 由此可得到相应的路标坐标系之间的可逆转换矩阵A: cosO -sinB tx
[0085] A = sin0 cos0 ty Q 0 1
[0086] 由于相邻层级的具有直属关系的两个路标的坐标系均已转换为相机坐标系,两个 路标坐标系原点在所述相机坐标系下的坐标计算简单,两个路标坐标系的旋转角0也计算 简单,因而计算出转换矩阵中的参数,则能够确定相邻层级的具有直属关系的坐标转换关 系,并将转换关系矩阵保存。
[0087] 所述当划分层级的路标数量与设置的路标数量相同时,已完成以上S100,200, S300后,所述机器人视觉导航地图的创建完成,在本实施例中,得到的是一个机器人存储着 的,以路标为节点的多叉树结构,相邻层级的路标坐标系的转换关系矩阵也存在机器人中 作为多叉树结构的相邻层级的具有直属关系的两个路标之间的链,这样,导航时,机器人可 以将相邻层级的具有直属关系的路标之间的实际距离计算出来,以完成导航。
[0088] 本技术方案的一种机器人视觉导航地图的创建方法,通过使用多叉树结构来表达 相邻路标之间的层级关系,同时使用相机标定与平面坐标系之间的坐标变换矩阵来作为路 标坐标系之间的数学转换表达,有利于简化后续的路径规划算法。
[0089] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在 本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护 范围之内。
【主权项】
1. 一种机器人视觉导航地图的创建方法,其特征在于,包括: SlOO:设置路标的数量,设定一起始路标; S200:机器人从起始路标开始识别路标,对路标进行相机标定,并对每个路标进行层级 划分; S300:计算所有相邻层级的具有直属关系的两个路标坐标系的转换关系矩阵。2. 根据权利要求1所述的机器人视觉导航地图的创建方法,其特征在于,步骤SlOO还包 括设置所述路标中的尺寸,所述机器人可使用所述尺寸将实际空间与相机坐标系下的尺寸 进行转换。3. 根据权利要求2所述的机器人视觉导航地图的创建方法,其特征在于,所述路标包 括: 第一坐标标记,用于确定路标坐标系的X轴; 第二坐标标记,用于确定路标坐标系的γ轴; 区域标记,用于确定路标所在的空间位置,所述区域标记包括多个等距离的信息块,所 述尺寸是所述信息块之间的距离或者信息块的长度。4. 根据权利要求2所述的机器人视觉导航地图的创建方法,其特征在于,所述起始路标 设定为位于所有路标所处空间中央位置的路标。5. 根据权利要求2所述的机器人视觉导航地图的创建方法,其特征在于,以路标为节 点,采用多叉树结构对路标进行层级划分,所述起始路标为第一层级路标,第一层级路标只 有1个。6. 根据权利要求5所述的机器人视觉导航地图的创建方法,其特征在于,所述路标的层 级数确定采用如下方法:机器人从已划分层级的路标出发,能够同时识别到所述已划分层 级的路标与其他未划分层级路标时,将所述其他未划分层级路标的层级数划分为比所述已 划分层级的路标大一个层级。7. 根据权利要求6所述的机器人视觉导航地图的创建方法,其特征在于,所述直属关系 是指,如果两个路标之间的层级相差一个层级,且层级较大的路标的层级是根据层级较小 的路标的层级而直接确定的,则这两个路径具有直属关系;所述具有直属关系的相邻层级 两个路标在所述多叉树结构中直接相连。8. 根据权利要求7所述的机器人视觉导航地图的创建方法,其特征在于,当多叉树结构 中的路标数量与预先设置的路标数量相同,并且计算完成所有相邻层级的具有直属关系的 两个路标坐标系的转换关系矩阵时,地图创建完成。9. 根据权利要求1所述的机器人视觉导航地图的创建方法,其特征在于,所述相机标定 的时刻是机器人能够稳定并且准确的反映出识别的路标的时刻。10. 根据权利要求1所述的机器人视觉导航地图的创建方法,其特征在于,设〇XY、〇'X' Υ'是两个相邻路标的坐标系,〇'在OXY中的坐标为(tx,ty),由X轴到X'轴的角度为Θ,则所述 转换关系矩阵A是一个可逆矩阵,BP:
【文档编号】B25J9/16GK106003052SQ201610614319
【公开日】2016年10月12日
【申请日】2016年7月29日
【发明人】乔徽, 张腾飞
【申请人】哈尔滨工大服务机器人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1