著录项信息
专利名称 | 基于视觉的移动机器人障碍物检测方法和装置 |
申请号 | CN201410182735.0 | 申请日期 | 2014-04-30 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2014-08-13 | 公开/公告号 | CN103984037A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G01V8/10 | IPC分类号 | G;0;1;V;8;/;1;0查看分类表>
|
申请人 | 深圳市墨克瑞光电子研究院 | 申请人地址 | 广东省深圳市前海深港合作区前湾一路1号A栋201室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳超多维科技有限公司 | 当前权利人 | 深圳超多维科技有限公司 |
发明人 | 郁树达 |
代理机构 | 北京友联知识产权代理事务所(普通合伙) | 代理人 | 尚志峰;汪海屏 |
摘要
本发明提供了一种基于视觉的移动机器人障碍物检测方法和基于视觉的移动机器人障碍物检测装置,其中,基于视觉的移动机器人障碍物检测方法包括:接收视觉传感器采集的移动机器人所处环境的图像信息;利用同时构图和定位算法对接收的图像信息进行计算,得到计算结果;根据计算结果,检测移动机器人所处环境中的障碍物。通过本发明的技术方案,能够将基于视觉传感器的同时构图和定位算法的计算结果直接应用于移动机器人自主运动中的自由空间和障碍物空间判断,计算复杂度低,既适合于机器人的三维空间移动又适合二维平面移动。
1.一种基于视觉的移动机器人障碍物检测方法,其特征在于,包括:
接收视觉传感器采集的所述移动机器人所处环境的图像信息;
利用同时构图和定位算法对所述接收的图像信息进行计算,得到计算结果;
根据所述计算结果,检测所述移动机器人所处环境中的障碍物,
其中,所述计算结果包括:所述环境的特征几何基元、视觉传感器位姿和所述特征几何基元与所述视觉传感器位姿之间的可见约束关系,所述根据计算结果,检测所述移动机器人所处环境的障碍物,包括:将所述移动机器人所处环境的三维空间剖分为多个子空间,根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间,组合所述障碍物子空间,
其中,所述特征几何基元包括:特征几何点、特征几何点和特征几何线段;
采用不规则组合结构将所述移动机器人所处环境的三维空间剖分为多个子空间,包括:
当特征几何基元均是特征几何点时,以特征几何点为顶点,建立所述不规则组合结构,以剖分所述三维空间;
当特征几何基元包含特征几何点和特征几何线段时,以特征几何点为顶点,以特征几何线段为边,建立所述不规则组合结构,以剖分所述三维空间。
2.根据权利要求1所述的方法,其特征在于,所述根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间包括:
将满足第二预设条件的子空间标记为障碍物子空间,所述第二预设条件为:子空间与任一约束基元无任何相交部分;
其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。
3.根据权利要求1所述的方法,其特征在于,当所述移动机器人的运动空间为二维平面时,在执行将所述三维空间剖分为多个子空间的步骤之前,还包括:
根据所述特征几何基元和视觉传感器位姿,计算二维平面方程;
选取所述特征几何基元中待投影的特征几何基元;
将所述待投影的特征几何基元和所述视觉传感器位姿投影到所述二维平面方程对应的二维平面,得到二维特征几何基元、二维视觉传感器位姿及二维可见约束关系;
所述将所述三维空间剖分为多个子空间包括:将所述二维平面剖分为多个平面子空间;
所述根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间包括:
根据所述二维特征几何基元和/或所述二维可见约束关系,标记出所述平面子空间中的平面障碍物子空间。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述移动机器人所处环境变化时,基于新获取的图像信息和所述计算结果确定出更新的计算结果及变化的子空间,所述更新的计算结果包括:更新的特征几何基元、更新的可见约束关系;
根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间。
5.一种基于视觉的移动机器人障碍物检测装置,其特征在于,包括:
接收模块,用于接收视觉传感器采集的所述移动机器人所处环境的图像信息;
计算模块,用于利用同时构图和定位算法对所述接收模块接收的图像信息进行计算,得到计算结果;
处理模块,用于根据所述计算模块的计算结果,检测所述移动机器人所处环境中的障碍物,
其中,所述计算结果包括:所述环境的特征几何基元、视觉传感器位姿和所述特征几何基元与所述视觉传感器位姿之间的可见约束关系,所述处理模块将所述移动机器人所处环境的三维空间剖分为多个子空间,根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间,并组合所述障碍物子空间,
其中,所述特征几何基元包括:特征几何点、特征几何点和特征几何线段;
所述处理模块采用不规则组合结构将所述移动机器人所处环境的三维空间剖分为多个子空间,包括:
当特征几何基元均是特征几何点时,以特征几何点为顶点,建立所述不规则组合结构,以剖分所述三维空间;
当特征几何基元包含特征几何点和特征几何线段时,以特征几何点为顶点,以特征几何线段为边,建立所述不规则组合结构,以剖分所述三维空间。
6.根据权利要求5所述的装置,其特征在于,所述处理模块包括:
空间剖分单元,用于将所述移动机器人所处环境的三维空间剖分为多个子空间;
空间标记单元,用于根据所述特征几何基元和/或所述可见约束关系,标记出所述空间剖分单元剖分得到的子空间中的障碍物子空间;
组合单元,用于组合所述空间标记单元标记出的障碍物子空间。
7.根据权利要求6所述的装置,其特征在于,所述空间标记单元包括:
第二空间剖分子单元,用于将满足第二预设条件的子空间标记为障碍物子空间,所述第二预设条件为:子空间与任一约束基元无任何相交部分;
其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。
8.根据权利要求6所述的装置,其特征在于,所述处理模块还包括:
平面方程计算单元,用于根据所述特征几何基元和视觉传感器位姿,计算二维平面方程;
选取单元,用于选取所述特征几何基元中待投影的特征几何基元;
投影单元,用于将所述选取单元选出的待投影的特征几何基元和所述视觉传感器位姿投影到所述二维平面方程对应的二维平面,得到二维特征几何基元、二维视觉传感器位姿及二维可见约束关系;
所述空间剖分单元,还用于:将所述平面方程计算单元计算出的二维平面方程对应的二维平面剖分为多个平面子空间;
所述空间标记单元,还用于根据所述二维特征几何基元和/或所述二维可见约束关系,标记出所述空间剖分单元剖分的平面子空间中的平面障碍物子空间。
9.根据权利要求6所述的装置,其特征在于,
所述计算模块还用于在所述移动机器人所处环境变化时,基于新获取的图像信息和所述计算结果确定出更新的计算结果及变化的子空间,更新的计算结果包括:更新的特征几何基元、更新的可见约束关系;
所述处理模块,还用于根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间。
基于视觉的移动机器人障碍物检测方法和装置\n技术领域\n[0001] 本发明涉及机器人控制技术领域,具体而言,涉及到基于视觉的移动机器人障碍物检测方法和基于视觉的移动机器人障碍物检测装置。\n背景技术\n[0002] 具有自主运动功能的移动机器人是当前机器人学发展十分迅速的一个分支,它在科研和工业领域均得到了极大关注。移动机器人的自主运动是一个不断循环的自动过程,对于每一次循环,机器人首先判断外部空间中哪些是障碍物,哪些是自由空间,从而在自由空间中设计出一条路径,并根据路径规划自身运动命令,最后完成运动。\n[0003] 现有技术中,大多数障碍物检测方法主要依赖激光或声呐等主动传感器。这种检测方式存在着抗干扰能力低、价格昂贵等特点。少数也采用视觉传感器进行障碍物检测,这主要归因于视觉传感器具有体积小、价格低廉及抗干扰能力强等优点。\n[0004] 现有的基于视觉传感器的机器人障碍物检测方法方式包括,例如:机器人根据左右两个摄像头所得图像,计算出左右摄像头图像视差,并根据视差推断出场景物体相对于机器人的距离,从而定义自由空间和障碍物空间;然而,此类方法仅限于双目摄像头,而且由于需要计算图像视差和使用栅格存储障碍物信息,因此,计算复杂,实时性较差。又例如:\n使用单目摄像头的方法,通过运动补偿的办法进行障碍物检测;然而此方法仅限于路面障碍物的检测,适用范围仅限于机器人的平面移动,不能适用于空间运动。\n发明内容\n[0005] 有鉴于此,本发明提供了一种基于视觉的移动机器人障碍物检测方法和装置,其运算简单,既适合于平面移动又适合于空间移动中的障碍物检测。\n[0006] 一方面,本发明提出了一种基于视觉的移动机器人障碍物检测方法,包括:\n[0007] 接收视觉传感器采集的所述移动机器人所处环境的图像信息;\n[0008] 利用同时构图和定位算法对所述接收的图像信息进行计算,得到计算结果;\n[0009] 根据所述计算结果,检测所述移动机器人所处环境中的障碍物,\n[0010] 其中,所述计算结果包括:所述环境的特征几何基元、视觉传感器位姿和所述特征几何基元与所述视觉传感器位姿之间的可见约束关系。\n[0011] 其中,所述根据计算结果,检测所述移动机器人所处环境的障碍物,包括:\n[0012] 将所述移动机器人所处环境的三维空间剖分为多个子空间;\n[0013] 根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间;\n[0014] 组合所述障碍物子空间。\n[0015] 其中,所述将所述三维空间剖分为多个子空间包括:\n[0016] 采用规则网格或不规则组合结构将所述三维空间剖分为多个子空间。\n[0017] 其中,所述采用规则网格将所述三维空间剖分为多个子空间包括:\n[0018] 将所述三维空间剖分为多个尺寸为预设值的子空间;\n[0019] 或者,\n[0020] 将所述三维空间剖分为多个相同尺寸的子空间;当所述子空间的尺寸大于预设的尺寸下限值、且所述子空间中包含特征几何基元时,继续剖分所述子空间,否则停止剖分所述子空间。\n[0021] 其中,所述特征几何基元包括:特征几何点、特征几何点和特征几何线段;\n[0022] 所述采用不规则组合结构将所述三维空间剖分为多个子空间包括:\n[0023] 当特征几何基元均是特征几何点时,以特征几何点为顶点,建立所述不规则组合结构,以剖分所述三维空间;\n[0024] 当特征几何基元包含特征几何点和特征几何线段时,以特征几何点为顶点,以特征几何线段为边,建立所述不规则组合结构,以剖分所述三维空间。\n[0025] 其中,所述根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间包括:\n[0026] 将满足第一预设条件的子空间标记为障碍物子空间,所述第一预设条件为:子空间中存在特征几何基元,或者,子空间中不存在特征几何基元且子空间与任一约束基元无任何相交部分;\n[0027] 其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。\n[0028] 其中,所述根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间包括:\n[0029] 将满足第二预设条件的子空间标记为障碍物子空间,所述第二预设条件为:子空间与任一约束基元无任何相交部分;\n[0030] 其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。\n[0031] 其中,当所述移动机器人的运动空间为二维平面时,在执行将所述三维空间剖分为多个子空间的步骤之前,还包括:\n[0032] 根据所述特征几何基元和视觉传感器位姿,计算二维平面方程;\n[0033] 选取所述特征几何基元中待投影的特征几何基元;\n[0034] 将所述待投影的特征几何基元和所述视觉传感器位姿投影到所述二维平面方程对应的二维平面,得到二维特征几何基元、二维视觉传感器位姿及二维可见约束关系;\n[0035] 所述将所述三维空间剖分为多个子空间包括:将所述二维平面剖分为多个平面子空间;\n[0036] 所述根据所述特征几何基元和/或所述可见约束关系,标记出所述子空间中的障碍物子空间包括:\n[0037] 根据所述二维特征几何基元和/或所述二维可见约束关系,标记出所述平面子空间中的平面障碍物子空间。\n[0038] 其中,所述方法还包括:\n[0039] 在所述移动机器人所处环境变化时,基于新获取的图像信息和所述计算结果确定出更新的计算结果及变化的子空间,更新的计算结果包括:更新的特征几何基元、更新的可见约束关系;\n[0040] 根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间。\n[0041] 另一方面,本发明相应地提出了一种基于视觉的移动机器人障碍物检测装置,包括:\n[0042] 接收模块,用于接收视觉传感器采集的所述移动机器人所处环境的图像信息;\n[0043] 计算模块,用于利用同时构图和定位算法对所述接收模块接收的图像信息进行计算,得到计算结果;\n[0044] 处理模块,根据所述计算模块的计算结果,检测所述移动机器人所处环境中的障碍物,\n[0045] 其中,所述计算结果包括:所述环境的特征几何基元、视觉传感器位姿和所述特征几何基元与所述视觉传感器位姿之间的可见约束关系。\n[0046] 其中,所述处理模块包括:\n[0047] 空间剖分单元,用于将所述移动机器人所处环境的三维空间剖分为多个子空间;\n[0048] 空间标记单元,用于根据所述特征几何基元和/或所述可见约束关系,标记出所述空间剖分单元剖分得到的子空间中的障碍物子空间;\n[0049] 组合单元,用于组合所述空间标记单元标记出的障碍物子空间。\n[0050] 其中,所述空间剖分单元包括:\n[0051] 规则网格剖分子单元,用于将所述三维空间剖分为多个尺寸为预设值的子空间;\n[0052] 或者,用于将所述三维空间剖分为多个相同尺寸的子空间,当所述子空间的尺寸大于预设的尺寸下限值、且所述子空间中包含特征几何基元时,继续剖分所述子空间,否则停止剖分所述子空间。\n[0053] 其中,所述特征几何基元包括:特征几何点、特征几何点和特征几何线段;所述空间剖分单元包括:\n[0054] 不规则组合结构剖分子单元,用于当特征几何基元均是特征几何点时,以特征几何点为顶点,建立所述不规则组合结构,以剖分所述三维空间;当特征几何基元为特征几何点和特征几何线段时,以特征几何点为顶点,以特征几何线段为边,建立所述不规则组合结构,以剖分所述三维空间。\n[0055] 其中,所述空间标记单元包括:\n[0056] 第一空间剖分子单元,用于将满足第一预设条件的子空间标记为障碍物子空间,所述第一预设条件为:子空间中存在特征几何基元,或者,子空间中不存在特征几何基元且子空间与任一约束基元无任何相交部分;\n[0057] 其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。\n[0058] 其中,所述空间标记单元包括:\n[0059] 第二空间剖分子单元,用于将满足第二预设条件的子空间标记为障碍物子空间,所述第二预设条件为:子空间与任一约束基元无任何相交部分;\n[0060] 其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。\n[0061] 其中,所述处理模块还包括:\n[0062] 平面方程计算单元,用于根据所述特征几何基元和视觉传感器位姿,计算二维平面方程;\n[0063] 选取单元,用于选取所述特征几何基元中待投影的特征几何基元;\n[0064] 投影单元,用于将所述选取单元选出的待投影的特征几何基元和视觉传感器位姿投影到所述二维平面方程对应的二维平面,得到二维特征几何基元、二维视觉传感器位姿及二维可见约束关系;\n[0065] 所述空间剖分单元,还用于:将所述平面方程计算单元计算出的二维平面方程对应的二维平面剖分为多个平面子空间;\n[0066] 所述空间标记单元,还用于根据所述二维特征几何基元和/或所述二维可见约束关系,标记出所述空间剖分单元剖分的平面子空间中的平面障碍物子空间。\n[0067] 其中,所述计算模块还用于:在所述移动机器人所处环境变化时,基于新获取的图像信息和所述计算结果确定出更新的计算结果及变化的子空间,更新的计算结果包括:更新的特征几何基元、更新的可见约束关系;\n[0068] 所述处理模块,还用于根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间。\n[0069] 本发明实施例中,直接利用同时构图和定位算法的计算结果来检测移动机器人所处环境中的障碍物,与现有的其他相关检测方法相比,其运算比较简单,并且对机器人的移动空间没有限定,既适合于机器人的三维空间移动又适合二维平面移动。\n附图说明\n[0070] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:\n[0071] 图1是本发明提供的基于视觉的移动机器人障碍物检测方法的第一实施例的流程示意图;\n[0072] 图2是图1实施例中步骤S13的第一实施例的流程示意图;\n[0073] 图3是本发明提供的规则网格的实施例的结构框图;\n[0074] 图4是图1实施例中步骤S13的第二实施例的流程示意图;\n[0075] 图5是本发明提供的不规则组合结构的实施例的示意图;\n[0076] 图6是本发明提供的基于视觉的移动机器人障碍物检测方法的第二实施例的流程示意图;\n[0077] 图7是本发明提供的约束基元的实施例的示意图;\n[0078] 图8是本发明提供的约束基元的另一实施例的示意图;\n[0079] 图9是本发明的基于视觉的移动机器人障碍物检测装置的第一实施例的结构框图;\n[0080] 图10是图9实施例中处理模块的第一实施例的结构框图;\n[0081] 图11是图9实施例中处理模块的第二实施例的结构框图;\n[0082] 图12是本发明的基于视觉的移动机器人障碍物检测装置的第二实施例的结构框图。\n具体实施方式\n[0083] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式f对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。\n[0084] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。\n[0085] 如图1所示,是本发明提供的基于视觉的移动机器人障碍物检测方法的第一实施例的流程示意图,该检测方法包括:\n[0086] 步骤S11,接收视觉传感器采集的移动机器人所处环境的图像信息;\n[0087] 图1实施例及以下的方法实施例中,障碍物检测方法的执行主体可以是具有障碍物检测功能的装置,例如集成有障碍物检测功能模块的移动机器人。\n[0088] 此处,对采集移动机器人所处环境图像信息的视觉传感器没有类型限制,例如可以是单目摄像机、双目摄像机、全方向反射折射摄像机或多目全方向摄像机等。具体在采集图像信息时,视觉传感器可以安装固定在移动机器人本体上。视觉传感器采集的图像信息的格式可以是连续的照片组或视频。\n[0089] 步骤S12,利用同时构图和定位算法对接收的图像信息进行计算,得到计算结果。\n[0090] 现有技术中,常采用Visual-SLAM算法:(Visual Simultaneous Localization And Mapping:同时构图和定位)对移动机器人进行定位。具体定位时,移动机器人首先使用固定在其上的视觉传感器实时采集所处环境的图像信息。在采集的图像信息中进行特征几何基元的提取和匹配,以及对提取的特征几何基元和视觉传感器位姿进行三维重建,得到重建的移动机器人所处环境的三维空间坐标,从而实现对移动机器人的定位。\n[0091] 与上述现有技术不同的是,本发明实施例利用Visual-SLAM算法不是进行机器人定位,而是进行障碍物检测。本发明实施例具体是利用Visual-SLAM算法来计算视觉传感器接收的图像信息,并根据得到的计算结果,检测移动机器人所处环境的障碍物。\n[0092] 此处,利用Visual-SLAM算法来计算视觉传感器接收的图像信息,经过特征几何基元提取与匹配、特征几何基元和视觉传感器位姿的三维重建、以及重建结果优化等步骤处理之后,得到的计算结果包括:移动机器人所处环境的特征几何基元和视觉传感器位姿,还包括特征几何基元与视觉传感器位姿之间的可见约束关系。\n[0093] 其中,特征几何基元包括:特征几何点、特征几何点和特征几何线段,其可以用于表征移动机器人所处环境三维空间中的点、点和线段。也就是说,特征几何点可以是三维空间中的一个点,特征几何线段可以是三维空间中的一条线段。在本发明的所有方法实施例中,以特征几何基元包括点、点和线段为例子进行说明。而视觉传感器位姿则用于表征固定在移动机器人上的视觉传感器的位置坐标和朝向。利用Visual-SLAM算法可以计算出根据接收的图像信息所重建的三维空间中的所有特征几何基元。为方便表述,在图1及以下的所有方法实施例中,三维空间中包括的所有特征几何基元可以称为特征几何基元集合Q。\n[0094] 此处,特征几何基元与视觉传感器位姿之间的可见约束关系,该可见约束关系用于表征某一特征几何基元与视觉传感器位姿之间是否可见,若可见,则表明该特征几何基元与视觉传感器之间不存在障碍物。此处,根据接收的图像信息,可以计算出机器人所处环境三维空间中特征几何基元集合Q与视觉传感器位姿的所有可见约束关系。\n[0095] 需要说明的是,关于特征几何基元提取与匹配、特征几何基元和视觉传感器位姿的三维重建、以及重建结果优化等步骤的具体处理方式,可以采用现有中的任何一种方式,在此不再赘述。\n[0096] 步骤S13,根据计算结果,检测移动机器人所处环境中的障碍物。\n[0097] 在执行步骤S13时,具体是利用步骤S12中的计算结果来检测移动机器人所处环境中的障碍物。\n[0098] 本发明实施例中,由于是利用Visual-SLAM算法来计算视觉传感器接收的图像信息,并能够根据得到的计算结果直接检测出机器人所处环境的障碍物,因此与传统的机器人障碍物检测方法相比,其运算比较简单。其次,利用该算法得到的计算结果来检测机器人所处环境的障碍物时,对机器人的移动空间没有限定,既适合于机器人的三维空间移动又适合二维平面移动。并且该检测方法在获取机器人所处环境的图像信息时,对视觉传感器的类型没有任何限定。\n[0099] 在图1实施例的步骤S13中,根据计算结果,检测所述移动机器人所处环境的障碍物的处理过程,在具体执行时,可以采用图2所示的方法,包括:\n[0100] 步骤S21,采用规则网格方式将所述移动机器人所处环境的三维空间剖分为多个子空间。\n[0101] 此处,在对三维空间进行剖分时,可以采用规则网格或不规则组合结构两种方式来剖分移动机器人当前所处环境的三维空间。下面,将详细讲述采用规则网格来剖分三维空间的具体过程。\n[0102] 请参见图3,是采用规则网格剖分三维空间的示意图。在采用规则网格对移动机器人当前所处环境的三维空间进行剖分时,又可以有两种方式,一种是均一网格,另一种是自适应网格,下面将分别介绍采用均一网格和自适应网格剖分三维空间的过程。\n[0103] (1)采用均一网格剖分三维空间的过程可以为:将三维空间剖分为多个尺寸为预设值的子空间,进而把移动机器人所述环境的三维空间剖分为多个相同尺寸的子空间,如剖分成包括多个长方体和/或正方体的子空间。也就是说,经过剖分后的三维空间可以被看成为一个包括多个长方体和/或正方体的子空间集合D。此处,该预设值的设定方式例如可以是:预设值为视觉传感器位姿的平均值与一常量的乘积。\n[0104] (2)采用自适应网络剖分三维空间的过程可以为:将三维空间剖分为多个相同尺寸的子空间,当子空间的尺寸大于预设的尺寸下限值、且子空间中包含特征几何基元时,继续剖分子空间,否则停止剖分子空间。\n[0105] 具体实现中,在建立自适应网格时,需要首先定义最小子空间的尺寸,即尺寸下限值,然后根据特征几何基元的分布状况逐步将三维空间剖分为大小不一的多个子空间。\n[0106] 剖分三维空间的具体过程例如可以是:将三维空间剖分为n个相同尺寸的子空间,比如n=2,4,8等。对于每一个子空间,在其尺寸大于预设的尺寸下限值,即子空间的尺寸大于最小子空间的尺寸时,还判断该子空间是否包含至少一个特征几何基元,若包括,则将其继续剖分为n个相同尺寸的子空间;如果该子空间不包含特征几何基元,则停止对该子空间进行剖分;如果该子空间达到或小于预设的尺寸下限值,则不对其进行继续剖分。依此类推,直至无任何子空间可以继续剖分为止。经过剖分后的三维空间可以被看成包括多个长方体和/或正方体的子空间集合D。\n[0107] 步骤S22,根据特征几何基元和/或可见约束关系,标记出子空间中的障碍物子空间。\n[0108] 步骤S23,组合步骤S22中标记出的障碍物子空间。\n[0109] 由于在将三维空间剖分为多个子空间时,采用规则网格的剖分方式。那么相应地,在执行步骤S22-步骤S23中,即在标记出子空间中的障碍物子空间时,具体过程如下:\n[0110] 将满足第一预设条件的子空间标记为障碍物子空间。该第一预设条件可以为:该子空间中存在特征几何基元,或者该子空间中不存在特征几何基元且子空间与任一约束基元无任何相交部分。其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。也就是说,约束基元是特征几何基元、特征几何基元和视觉传感器位姿的可见约束关系共同决定的。比如,假设特征几何基元是点,那么该点与与其存在可见约束关系的视觉传感器位姿共同组成的约束基元就是一条线段。假设特征几何基元是线段,那么该线段与与其存在可见约束关系的视觉传感器位姿共同组成的约束基元就是一个三角形。\n[0111] 由于采用均一网格或自适应网格对三维空间进行剖分之后,该三维空间可以被看成为包括多个正方体和/或长方体的子空间集合D。对于D中的任意一个子空间d,假如d包含特征几何基元,则标记d为障碍物子空间。当d不包含特征几何基元时,则进一步判断d与约束基元是否相交,若d与任何约束基元都不相交,或者说d与任何约束基元都没有相交部分,则标记d为障碍物子空间。反之,若判断d与至少一个约束基元相交,则标记d为自由子空间。\n[0112] 在使用上述第一预设条件标记出子空间中的障碍物子空间之后,将所有标记为障碍物子空间的子空间进行组合,形成移动机器人所处环境的障碍物空间。将所有标记为自由子空间的子空间进行组合,形成移动机器人所处环境的自由空间。在检测出移动机器人所处环境的自由空间和障碍物空间后,移动机器人即可在自由空间中规划出合理的移动路径,从而完成自主运动。\n[0113] 在图1实施例的步骤S13中,根据计算结果,检测所述移动机器人所处环境的障碍物的处理过程,在具体执行时,还可以采用图4所示的方法,包括:\n[0114] 步骤S41:采用不规则组合结构方式将所述移动机器人所处环境的三维空间剖分为多个子空间。\n[0115] 本发明中,在对三维空间进行剖分时,可以采用规则网格或不规则组合结构两种方式来剖分移动机器人当前所处环境的三维空间。本实施例中将描述采用不规则组合结构方式剖分三维空间的具体过程。\n[0116] 请参见图5,是采用不规则组合结构剖分三维空间的示意图。在采用不规则组合结构对三维空间进行剖分时,根据特征几何基元的不同类型,可以分为如下两种剖分方式:\n[0117] (1)当采用同时构图和定位算法计算出的特征几何基元均是点时,则以点为顶点,建立不规则组合结构,将整个三维空间剖分为许多不规则的多面体。也就是说,经过剖分后的三维空间可以被看成为包含多个不规则多面体的子空间集合D。\n[0118] (2)当采用同时构图和定位算法计算出的特征几何基元包括包含点和线段时,则以点为顶点,以线段为边,建立不规则组合结构,利用该不规则组合结构将整个三维空间剖分为许多不规则的多面体。也就是说,经过剖分后的三维空间可以被看成为包括多个不规则多面体的子空间集合D。\n[0119] 步骤S42,根据特征几何基元和/或可见约束关系,标记出子空间中的障碍物子空间。\n[0120] 步骤S43,组合步骤S42中标记出的障碍物子空间。\n[0121] 由于在将三维空间剖分为多个子空间时,采用不规则组合结构的剖分方式。那么相应地,在执行步骤S42-步骤S43时,即在标记出子空间中的障碍物子空间时,具体过程如下:\n[0122] 将满足第二预设条件的子空间标记为障碍物子空间,所述第二预设条件为:子空间与任一约束基元无任何相交部分;其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。也就是说,约束基元是特征几何基元、特征几何基元和视觉传感器位姿的可见约束关系共同决定的。比如,假设特征几何基元是点,那么该点与与其存在可见约束关系的视觉传感器位姿共同组成的约束基元就是一条线段。假设特征几何基元是线段,那么该线段与与其存在可见约束关系的视觉传感器位姿共同组成的约束基元就是一个三角形。\n[0123] 在采用不规则组合结构对三维空间进行剖分之后,整个三维空间都可以被看成为包括多个不规则多面体的子空间集合D。对于D中任意一个子空间,假如这个子空间与所有的约束基元都不相交,或者说该子空间与任一约束基元无任何相交部分,那么该子空间就被标记为障碍物子空间。假如这个子空间与至少一个约束基元相交,那么这个子空间就被标记为自由子空间。\n[0124] 此处,可以将所有标记为障碍物子空间的子空间进行组合,形成移动机器人所处环境的障碍物空间。将所有标记为自由子空间的子空间进行组合,形成移动机器人所处环境的自由空间。在检测出移动机器人所处环境的自由空间和障碍物空间后,移动机器人即可在自由空间中规划出合理的移动路径,从而完成自主运动。\n[0125] 在机器人的运动区域仅限于二维平面的情况下,为减小运算复杂度,还可以采用图6提出的基于视觉的移动机器人障碍物检测方法,该方法主要应用于移动机器人在二维平面运动的场景。\n[0126] 如图6所示,是本发明提供的基于视觉的移动机器人障碍物检测方法的第二实施例的流程示意图,所述方法具体包括:\n[0127] 与图1实施例中步骤S11和S12类似的步骤S61和S62,在执行将所述三维空间剖分为多个子空间之前还包括:\n[0128] 步骤S63,根据所述特征几何基元和视觉传感器位姿,计算所述二维平面区域的二维平面方程。\n[0129] 此处,具体实现时可先根据任意三个视觉传感器位姿,计算出多个二维平面方程,然后再计算所有视觉传感器位姿与计算出的多个二维平面方程对应二维平面的距离平方之和。多次重复执行上述两个步骤,得到多个距离平方之和,最后选择多个距离平方之和中的最小值,并将该最小值对应的二维平面方程作为最终的二维平面方程。关于如何计算距离平方之和的方法,可以采用现有中的方式,在此不赘述。当然,视觉传感器的类型不同,计算距离平方之和时,选择的方法也可能不同。\n[0130] 步骤S64,选取所述特征几何基元中待投影的特征几何基元。\n[0131] 此处,在将计算得到的特征几何基元投影到二维平面之前,并不是将所有的特征几何基元都投射到二维平面,还需要选取出需要投影的特征几何基元。选取原则可以是:先计算特征几何基元在特定方向上的分量值,若分量值大于预设的上限阈值且小于预设的下限阈值,则将该特征几何基元映射到二维平面。此处该特定方向可以为:垂直于二维平面且朝上的方向。\n[0132] 具体实现时,选取待投影的特征几何基元的方式可以是:\n[0133] 首先设定一个下限阀值e1和一个上限阀值e2,之后根据e1和e2来选取特征几何基元。假设k为地面的垂直向量且朝向天空,对于任何一个特征几何基元,计算其所有顶点在k上的分量,如果有一个以上的顶点在k上的分量低于e1或高于e2,则该特征几何基元将不被选取。下限阀值e1的大小取决于Visual-SLAM三维重建误差范围,其目的是:使大多数属于二维平面的特征几何基元均不被选取。其中,下限阀值e1可以设定为视觉传感器与二维平面之间的距离。上限阀值e2的选取取决于应用场景为室内还是室外,目的是使属于天空或天花板的特征几何基元不被选取,如可以将上限阀值e2设定为:视觉传感器与二维平面的距离的n倍。\n[0134] 步骤S65,将待投影的特征几何基元和视觉传感器位姿投影到二维平面方程对应的二维平面,得到二维特征几何基元、二维视觉传感器位姿及二维可见约束关系。\n[0135] 将选取得到的待投影的特征几何基元投影到二维平面,即可以得到待投影的特征几何基元在二维平面上的投影,在此可以称为二维特征几何基元。同时由于将所有视觉传感器位姿也投影到二维平面,即可以得到视觉传感器位姿在二维平面上的投影,在此可以称为二维视觉传感器位姿。相应地,也就将特征几何基元所对应的约束基元也同样投影到了二维平面上,进而得到了二维特征几何基元与二维视觉传感器位姿之间的可见约束关系,即二维可见约束关系。相应地,也会得到二维约束基元。该二维约束基元是:二维特征几何基元与与其存在可见约束关系的二维视觉传感器位姿共同组成的基元。\n[0136] 由于将特征几何基元和视觉传感器位姿进行了投影,那么在执行所述将所述三维空间剖分为多个子空间时,则采用步骤S66的方式执行:\n[0137] 步骤S66,将在步骤S63中计算的二维平面方程对应的二维平面剖分为多个子空间。\n[0138] 此处,将二维平面剖分为多个平面子空间的方式与将三维空间剖分为多个子空间的方式类似,即可以采用规则网格方式或不规则组合结构二维将二维平面剖分为多个平面子空间。\n[0139] 采用规则网络方式如均一网格或自适应网格对二维平面进行剖分之后,该剖分后的二维平面可以看成是包含多个正方形和/或长方形的平面子空间的集合。\n[0140] 采用不规则组合结构将平面剖分为多个平面子空间时,由于二维几何特征基元包括点、点和线段,那么在剖分时,例如可以使用点作为顶点建立三角形剖分,或者使用点作为顶点,使用线段作为边,建立约束三角形剖分。采用上述两种方式剖分后的二维平面可以看成是包含多个多边形的平面子空间的集合。\n[0141] 步骤S67,根据所述二维特征几何基元和/或所述二维可见约束关系,标记出所述平面子空间中的平面障碍物子空间。\n[0142] 在采用规则网格剖分二维平面的情况下,在标记平面子空间中的平面障碍物子空间时,具体过程为:如果一个平面子空间包含至少一个二维特征几何基元,则将该平面子空间被标记为平面障碍物子空间;当一个平面子空间不包含任何二维特征几何基元且该平面子空间与任何二维约束基元均没有相交部分,则该平面子空间被标记为障碍物子空间,反之如果该平面子空间与至少一个二维约束基元相交,则该平面子空间被标记为自由平面子空间。其中,二维约束基元为:二维特征几何基元与与其存在可见约束关系的二维视觉传感器位姿共同组成的基元。\n[0143] 在采用不规则组合结构剖分二维平面的情况下,在标记平面子空间中的平面障碍物子空间时,具体过程为:如果一个平面子空间与至少一个二维约束基元相交,则该平面子空间被标记为自由平面子空间;如果一个平面子空间与任何二维约束基元都不相交,则该平面子空间被标记为平面障碍物子空间。\n[0144] 步骤S68,组合标记为平面障碍物子空间的平面子空间。\n[0145] 本步骤中,组合所有标记为自由平面子空间的平面子空间,形成二维平面的自由空间,组合所有标记为平面障碍物子空间的平面子空间,形成二维平面中的障碍物,移动机器人便可该二维平面的自由空间中设计出移动路径。\n[0146] 本发明实施例中,当移动机器人的平面仅限于二维平面时,便可先将计算结果投影到移动机器人所运动的二维平面,然后再进行二维平面剖分与障碍物标记,从而检测出二维平面空间中的障碍物。和三维空间剖分与障碍物标记相比,此种方式的计算复杂度更低。\n[0147] 图1-6所示的实施例中,移动机器人在移动时,不论移动机器人的运动空间是三维空间还是二维平面,其所处的环境都是变化的,因此基于视觉传感器的障碍物检测方法实质是一个实时的、不断循环的过程,移动机器人所处环境不断更新,相应地计算结果也会不断更新,因而需要根据更新的计算结果标记出更新的子自由空间和障碍物子空间。在标记更新的自由子空间和障碍物子空间时,可以采用全局性更新和连续性更新两种方式。\n[0148] 此处,全局性更新的原理是:T1和T2为前后相邻两个时刻,在更新时不依赖于上一时刻T1的计算结果,而是直接使用当前时刻T2的计算结果对机器人所处环境进行重新剖分与重新标记,从而得到更新的自由空间和障碍物空间,检测出当前时刻机器人所处环境的障碍物。此种全局性更新的方式所需的计算量会随时间逐渐增大,因此无法保证实时性。\n[0149] 此处,连续性更新的原理是:T1和T2为前后相邻两个时刻,在更新时利用上一时刻T1的计算结果,并将当前时刻T2的计算结果与上一时刻T1的计算结果进行比较,确定出在当前时刻T2更新的计算结果和发生变化的子空间。其中,更新的计算结果包括更新的特征几何基元、更新的视觉传感器位姿及更新的可见约束关系。此处,发生变化的子空间可能是:\n标记状态发生变化的子空间,也可能是标记状态和剖分状态都发生变化的子空间。当变化的子空间仅标记状态发生变化时,则根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间;当变化的子空间剖分状态和标记状态都发生变化时,则根据更新的特征几何基元和/或更新的可见约束关系,对发生变化的子空间进行重新剖分与标记,因此采用连续性更新时,所需的时间基本不变,因此能保证实时性。\n[0150] 下面,将分别描述采用规则网格方式剖分三维空间时的连续性更新方法和采用不规则组合结构剖分三维空间时的连续性更新方法。\n[0151] (1)采用规则网格方式剖分三维空间时的连续性更新方法\n[0152] 移动机器人在移动的过程中,当采用均一网格方式剖分三维空间时,移动机器人在移动的过程中,剖分的子空间结构不会发生变化,即该子空间的剖分状态不会发生变化,但是由于三维空间中的特征几何基元可能发生变化或增加,因此相应的特征可见约束关系也会相应更新,该子空间的标记状态可能发生变化。此时只需要根据更新的特征几何基元和/或更新的可见约束关系,重新标记出所述剖分的子空间中的障碍物子空间。\n[0153] 当使用自适应网络方式剖分三维空间时,假设T1和T2为前后相邻两个时刻,从上一时刻T1到当前时刻T2,特征几何基元有所增加,也就是说特征几何基元有更新。那么,相应地,对应的可见约束关系也会有更新。并且,对于上一时刻T1到当前时刻T2的增加的特征几何基元,则需要判断包含该增加的特征几何基元的子空间的剖分状态是否发生变化,若判断结果为是,即该子空间的剖分状态发生变化,则需要对发生变化的子空间进行重新剖分。\n由于该子空间的剖分状态发生变化,相应地,其标记状态也会发生变化。在对该变化的子空间进行重新剖分之后,则需要对根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出重新剖分的子空间中的障碍物子空间。\n[0154] (2)采用不规则组合结构方式剖分三维空间时的连续性更新方法\n[0155] 具体实现时,假设时刻T1和T2为前后相邻两个时刻,Qt1和Qt2分别是截止T1和T2两个时刻利用Visual-SLAM计算所获得的所有特征几何基元的集合。由于T1时刻的空间剖分状态和标记状态已知,那么在T2时刻,子空间的剖分状态和标记状态均可能发生变化,此时则需要更新子空间的剖分状态和标记状态。\n[0156] 由于Qt2是Qt1的延续,因而Qt2包含了大部分Qt1的特征几何基元。这些从T1时刻到T2时刻坐标没有发生任何变化或者变化较小(比如小于一个阀值)的特征几何基元集合被标记为Qo。Qt1中剩下的特征几何基元是经过光束调整优化后被判定为离群值的特征几何基元,这些特征几何基元的集合被标记为Qd。同时,Qt2增加了一些T2时刻的新的特征几何基元,这些基元是T2时刻重建的新的基元,或者是某些T1时刻的基元经过光束调整优化后三维坐标变化较大(比如大于一个阀值)的基元。这两类基元集合均被标记为Qn。其中,Qd和Qo组成了Qt1,Qn和Qo组成了Qt2。特征几何基元的集合更新具体为:从T2时刻的集合中剔除集合Qd,然后向剩下的集合中加入Qn。\n[0157] 假设T2时刻的子空间集合为{Do,Dn},其中,Do为T1到T2时刻,坐标和结构未发生任何变化的子空间集合,Dn为新的子空间集合。此外,还有一些子空间存在于T1时刻但不存在于T2时刻,标记为Dd,这些子空间也可以称为在T2时刻被摧毁的子空间。这些子空间被摧毁的原因是由于新的特征几何基元被加入进来后,如果这个新的特征几何基元处于某一子空间内,则此子空间将被摧毁,新的顶点和被摧毁子空间的顶点重新组合形成新的子空间。此时,Do和Dd组成了T1时刻的子空间集合,Do和Dn组成了T2时刻的子空间集合。\n[0158] 此处,定义函数f(D,Q)为D和Q的相交关系函数。这里,假设D是一个子空间的集合,Q是一个特征几何基元的集合。f(D,Q)是D中所有子空间与Q中所有特征几何基元所对应的约束基元之间的相交关系集合。假设Q={qi|i=1..n}为特征几何基元集合,C={cj|j=\n1..m}是视觉传感器位姿的集合,V={vij|i∈1..n,j∈1..m}。vij代表qi点与cj可见。前文所述,一个可见约束关系vij表示一个特征几何基元qi与一个视觉传感器位姿cj之间可见,即qi与cj之间不存在障碍物。称以qi中的所有顶点和cj作为顶点组成的特征几何基元为qi的约束基元。每一个可见约束关系约束vij均对应一个约束基元。具体来说,当qi是一个点时,它的约束基元是以qi,cj为端点的线段,如图7所示;当qi是一条线段时,它的约束基元是以qi的两个端点和cj作为顶点的三角形,如图8所示。\n[0159] 已知T1时刻的空间标记,也就是说已知f(Do,Qo),f(Do,Qd),f(Dd,Qo),f(Dd,Qd)。\n需要计算t2时刻的自由子空间标记,也就是说我们需要计算f(Do,Qo),f(Do,Qn),f(Dn,Qo),f(Dn,Qn)。f(Do,Qo)为已知,无需计算。\n[0160] f(Dn,Qn)和f(Do,Qn)的计算需要判断Qn所对应的所有约束基元与T2时刻所有子空间的可见约束关系。它们的计算可以使用区域增长的方法降低复杂度。例如,假设是qi是Qn中的任意一员,qi与一个视觉传感器位姿cj组成一个约束基元qicj。首先找到任意一个与qi相交的子空间d0,例如包含cj的子空间,并计算d0的相邻子空间中与qicj相交的子空间,再从这些子空间开始继续寻找它们相邻子空间中与qicj的相交的子空间,依次类推,直至无任何子空间与qicj相交。\n[0161] 为计算f(Dn,Qo),可以使用所有Q0和上文所述的区域增长的方法。但是这样做的结果是使用了T2时刻的所有的可见约束关系进行计算,其结果和全局性更新方法完全相同,其计算时间会随着Qt2的增大而增大。为避免这种情况,我们使用f(Dd,Qo)∪f(Dd,Qd)的结果来代替f(Dn,Qo)。实际上,这个代替是可行的。因为T2时刻新增加的子空间集合Dn分为两个部分。一部分Dn是以T2时刻完全以新增加的特征几何基元Qn为顶点或边形成的子空间。正常情况下,这些子空间与Qo所对应的约束基元不相交。另一部分Dn是以Qd的所有顶点,与新的特征几何基元重新形成的子空间。因此这部分子空间与Qo的相交关系函数f(Dn,Qo)实际上与f(Dd,Qo)∪f(Dd,Qd)完全一样,即f(Dn,Qo)=f(Dd,Qo)∪f(Dd,Qd)。如此,便可利用T1时刻的计算结果及空间剖分及标记状态,重新标记出所述变化的子空间中的障碍物子空间,进而检测出T2时刻机器人所处环境的障碍物,从而完成移动机器人所处环境的障碍物更新。\n[0162] 需要说明的是,当移动机器人所处的二维平面更新时,相应地计算结果也会不断更新,因而需要根据更新的计算结果不断更新二维平面中的平面自由子空间和平面障碍物子空间。\n[0163] 如前文所述,更新包括全局性更新和连续性更新两种方式。不论采用不规则组合结构还是使用规则网格剖分二维平面,二维平面情况下的更新原理和三维空间情况下的更新原理完全一致。不同的是,在二维平面情况下需要标记的平面子空间是不规则的多边形、长方形或正方形,而在三维空间的情况下,需要标记的子空间是不规则多面体、长方体或正方体。同理,在二维平面情况下,用来做标记的约束基元是由投影在二维平面上的二维特征几何基元与二维视觉传感器位姿所组成的,而在三维空间情况下,用来做标记的约束基元是特征几何基元与视觉传感器位姿所组成的。\n[0164] 图1-图8是详细介绍了基于视觉的移动机器人障碍物的检测方法,下面结合图9-图12,对采用该图1-图8所示的检测方法进行移动机器人障碍物检测的装置进行详细介绍,为说明书版面的简洁性,装置中所涉及的一些术语的基本概念,可参照方法实施例中的解释。本发明基于视觉的移动机器人障碍物检测装置,例如可以是移动机器人。\n[0165] 请参考图9,是本发明提供的一种基于视觉的移动机器人障碍物检测装置的第一实施例的结构框图,该装置包括:接收模块91、计算模块92及处理模块93。\n[0166] 此处,接收模块91用于接收视觉传感器采集的移动机器人所处环境的图像信息;\n计算模块92,用于利用同时构图和定位算法对接收模块91接收的图像信息进行计算,得到计算结果;处理模块93,根据计算模块92的计算结果,检测所述移动机器人所处环境中的障碍物,\n[0167] 其中,和方法实施例类似的,图9及以下的装置实施例中,在采集移动机器人所处环境的图像信息时,对视觉传感器的类型没有限制,例如可以是单目摄像机、双目摄像机、全方向反射折射摄像机或多目全方向摄像机等。具体在采集图像信息时,视觉传感器可以安装固定在移动机器人本体上。视觉传感器采集的图像信息的格式可以是连续的照片组或视频。\n[0168] 此处,计算模块92所得的计算结果包括:移动机器人所处环境的特征几何基元、视觉传感器位姿和所述特征几何基元与视觉传感器位姿之间的可见约束关系。\n[0169] 其中,特征几何基元包括:特征几何点、特征几何点和特征几何线段,其可以用于表征移动机器人所处环境三维空间中的点、点和线段。也就是说,特征几何点可以是三维空间中的一个点,特征几何线段可以是三维空间中的一条线段。在本发明的所有装置实施例中,以特征几何基元包括点、点和线段为例子进行说明。\n[0170] 关于视觉传感器位姿及可见约束关系的含义及作用,可以参考图1所示的方法实施例。\n[0171] 本发明实施例中,由于计算模块92是利用Visual-SLAM算法来计算视觉传感器接收的图像信息,且处理模块93能够根据计算模块92得到的计算结果直接检测出机器人所处环境的障碍物,因此与传统的机器人障碍物检测装置相比,其运算比较简单。其次,利用该计算模块92得到的计算结果来检测机器人所处环境的障碍物时,对机器人的移动空间没有限定,既适合于机器人的三维空间移动又适合二维平面移动。\n[0172] 请参考图10,是图9中处理模块93的第一实施例的结构框图。处理模块93具体包括:空间剖分单元931、空间标记单元932、及组合单元933。\n[0173] 此处,处理模块93在检测移动机器人所述环境的障碍物时,首先需要利用空间剖分单元931对移动机器人所处环境的三维空间进行剖分,以将移动机器人所处环境的三维空间剖分为多个子空间。然后再利用空间标记单元932,标记出空间剖分单元931剖分的多个子空间中的障碍物子空间。空间标记单元932在具体标记时,具体是利用计算模块92计算得到的特征几何基元和/或所述可见约束关系来进行空间标记的。最后,通过组合单元933,即可对空间标记单元932标记出的障碍物子空间进行组合,形成移动机器人所处三维空间中的检测物。\n[0174] 由于空间剖分单元931在进行三维空间剖分时,可以采用规则网格或不规则组合结构两种方式,相应地空间剖分单元931的结构也有两种,相应的,空间标记单元932的结构也有不同。\n[0175] 请参考图11,是图9中处理模块93的第二实施例的结构框图。\n[0176] 本发明实施例与图10所示实施例的区别在于:\n[0177] 空间剖分单元931具体包括:规则网格剖分子单元9311和不规则组合结构剖分子单元9312;空间标记单元932具体包括:第一空间标记子单元9321和第二空间标记子单元\n9322。\n[0178] 下面将分别描述各子单元的具体作用。\n[0179] 规则网格剖分子单元9311对移动机器人当前所处环境的三维空间进行剖分时,又可以有两种方式,一种是均一网格,另一种是自适应网格,下面将分别介绍采用均一网格和自适应网格剖分三维空间的过程。\n[0180] 当采用均一网格剖分三维空间时,规则网格剖分子单元9311用于将所述三维空间剖分为多个尺寸为预设值的子空间,进而把移动机器人所述环境的三维空间剖分为多个相同尺寸的子空间,如剖分成包括多个长方体和/或正方体的子空间。也就是说,经过剖分后的三维空间可以被看成为一个包括多个长方体和/或正方体的子空间集合D。此处,该预设值的定义方式例如可以是:预设值设定为视觉传感器位姿的平均值与一常量的乘积。\n[0181] 当采用自适应网格剖分三维空间时,规则网格剖分子单元9311用于将所述三维空间剖分为多个相同尺寸的子空间,当所述子空间的尺寸大于预设的尺寸下限值、且所述子空间中包含特征几何基元时,则继续剖分所述子空间,否则停止剖分所述子空间。\n[0182] 具体实现中,在建立自适应网格时,需要首先定义最小子空间的尺寸,即尺寸下限值,然后根据特征几何基元的分布状况逐步将三维空间剖分为大小不一的多个子空间。\n[0183] 规则网格剖分子单元9311剖分三维空间的具体过程可以是:将三维空间剖分为n个相同尺寸的子空间,比如n=2,4,8等。对于每一个子空间,在其尺寸大于预设的尺寸下限值,即子空间的尺寸大于最小子空间的尺寸时,规则网格剖分子单元9311还判断该子空间是否包含至少一个特征几何基元,若包括,则将其继续剖分为n个相同尺寸的子空间;如果其不包含特征几何基元,则停止对该子空间进行剖分;如果该子空间达到或小于预设的尺寸下限值,则不对其进行继续剖分。依此类推,直至无任何子空间可以继续剖分为止。经过剖分后的三维空间可以被看成包括多个长方体和/或正方体的子空间集合D。\n[0184] 当采用不规则组合结构剖分三维空间时,不规则组合结构剖分子单元9312根据基于特征几何元的不同类型,可以分为如下两种剖分方式:\n[0185] 当特征几何基元均是点时,不规则组合结构剖分子单元9312以点为顶点,建立不规则组合结构,将整个三维空间剖分为许多不规则的多面体。也就是说,经过剖分后的三维空间可以被看成为一个不规则多面体的子空间集合D。\n[0186] 当特征几何基元包括点和线段时,不规则组合结构剖分子单元9312以所有点为顶点,以线段为边,建立不规则组合结构,利用该不规则组合结构将整个三维空间剖分为许多不规则多面体。也就是说,经过剖分后的三维空间可以被看成为包括多个不规则多面体的子空间集合D。\n[0187] 由于在将三维空间剖分为多个子空间时,有规则网格和不规则组合结构两种剖分方式。相应地,在进行障碍物子空间标记时,也有两种方式。\n[0188] 当采用规则网格方式剖分三维空间时,通过第一空间标记子单元9321标记出规则网格剖分子单元9311剖分的子空间中的障碍物子空间,具体标记时,第一空间标记子单元\n9321将满足第一预设条件的子空间标记为障碍物子空间。该第一预设条件可以为:该子空间中存在特征几何基元,或者该子空间中不存在特征几何基元且子空间与任一约束基元无任何相交部分。其中,约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元,如图7和图8所示。\n[0189] 当采用不规则组合剖分三维空间时,则通过第二空间标记子单元9322标记出不规则组合结构剖分子单元9312剖分的子空间中的障碍物子空间。具体标记时,第二空间标记子单元9322将满足第二预设条件的子空间标记为障碍物子空间。所述第二预设条件为:子空间与任一约束基元无任何相交部分。约束基元为:特征几何基元与与其存在可见约束关系的视觉传感器位姿共同组成的基元。也就是说,约束基元是特征几何基元、特征几何基元和视觉传感器位姿的可见约束关系共同决定的。比如,假设特征几何基元是点,那么该点与与其存在可见约束关系的视觉传感器位姿共同组成的约束基元就是一条线段,如图7所示。\n假设特征几何基元是线段,那么该线段与与其存在可见约束关系的视觉传感器位姿共同组成的约束基元就是一个三角形,如图8所示。\n[0190] 通过第一空间标记子单元9321和第二空间标记子单元9322标记出子空间中的障碍物子空间之后,组合单元933即可对障碍物子空间进行组合,形成移动机器人所处三维空间中的检测物。在检测出移动机器人所处环境的自由空间和障碍物空间后,移动机器人即可在自由空间中规划出合理的移动路径,从而完成自主运动。\n[0191] 在机器人的运动区域仅限于二维平面的情况下,为减小运算复杂度,还可以采用图11提出的基于视觉的移动机器人障碍物检测装置,该装置主要应用于移动机器人在二维平面运动的场景。\n[0192] 请参考图12,是本发明提供的基于视觉的移动机器人障碍物检测装置的第三实施例的结构框图,所述装置与图9或图10所示的实施例的区别在于,所述处理模块93还包括:\n平面方程计算单元934、选取单元935及投影单元936。\n[0193] 此处,当移动机器人的运动区域仅限于二维平面时,为减小运算的复杂度,还可以考虑先将计算结果投影到移动机器人所在的二维平面。在投影之前,由于移动机器人所处的二维平面不是已知的,因此需要通过平面方程计算单元934来计算。\n[0194] 平面方程计算单元934,具体是根据计算结果中包括的特征几何基元和视觉传感器位姿来计算二维平面方程,从而确定出机器人运动的二维平面。具体计算时,平面方程计算单元934可先根据任意三个视觉传感器位姿,计算出多个二维平面方程,然后再计算所有视觉传感器位姿与计算出的多个二维平面方程对应二维平面的距离平方之和。多次重复执行上述两个步骤,得到多个距离平方之和,最后选择多个距离平方之和中的最小值,并将该最小值对应的二维平面方程作为最终的二维平面方程。关于如何计算距离平方之和的方法,可以采用现有中的方式,在此不赘述。\n[0195] 在将计算得到的特征几何基元投影到二维平面之前,并不是将所有的特征几何基元都投射到二维平面。因此,可以通过选取单元935从特征几何基元集合中选取待投影的特征几何基元。\n[0196] 选取单元935的选取原则可以是:先计算特征几何基元在特定方向上的分量值,若分量值大于预设的上限阈值、且小于预设的下限阈值,则将该特征几何基元映射到二维平面。此处该特定方向可以为:垂直于二维平面且朝上的方向。\n[0197] 具体选取时,选取单元935可以首先设定一个下限阀值e1和一个上限阀值e2,之后根据e1和e2来选取特征几何基元。假设k为二维平面的垂直向量且朝向天空,对于任何一个特征几何基元,计算其所有顶点在k上的分量,如果有一个以上的顶点在k上的分量低于e1或高于e2,则该特征几何基元将不被选取。关于e1和e2的具体设定方式,可参考方法实施例中的解释。\n[0198] 待选取出待投影的特征几何基元之后,则通过投影单元936将所述选取单元935选出的待投影的特征几何基元和视觉传感器位姿投影到二维平面上,从而得到二维特征几何基元、二维视觉传感器位姿及二维可见约束关系;其中,二维特征几何基元是待投影的特征几何基元在二维平面上的投影。同时由于将所有视觉传感器位姿也投影到二维平面,即可以得到视觉传感器位姿在二维平面上的投影,在此可以称为二维视觉传感器位姿。相应地,也就将特征几何基元所对应的约束基元也同样投影到了二维平面上,进而得到了二维特征几何基元与二维视觉传感器位姿之间的可见约束关系,即二维可见约束关系,相应地,也会得到二维约束基元。\n[0199] 当移动机器人的运动区域为二维平面时,空间剖分单元931还用于将该二维平面空间剖分为多个平面子空间。与三维空间剖分时类似的是,空间剖分单元931进行二维平面空间剖分,相应地也有两种方式,即可以采用规则网格方式或不规则组合结构将二维平面剖分为多个平面子空间。\n[0200] 例如,规则网格剖分子单元9311可以采用规则网络方式如均一网格或自适应网格对二维平面进行剖分,该剖分后的二维平面可以看成是包含多个正方形和/或长方形的平面子空间的集合。同样地,不规则组合结构子单元9312,可以采用不规则组合结构将平面剖分为多个平面子空间,该方式剖分后的二维平面可以看成是包含多个多边形的平面子空间的集合。\n[0201] 当移动机器人的运动区域为二维平面时,空间标记单元932还用于所述二维特征几何基元和/或所述二维可见约束关系,标记出所述空间剖分单元931剖分的平面子空间中的平面障碍物子空间。与三维空间标记类似的是,空间标记单元932进行二维平面空间标记时,相应地也有两种方式。\n[0202] 具体地,当采用规则网格方式剖分二维平面时,通过第一空间标记子单元9321标记出规则网格剖分子单元9311剖分的平面子空间中的平面障碍物子空间,具体标记时,第一空间标记子单元9321将满足第一预设条件的平面子空间标记为平面障碍物子空间。该第一预设条件可以为:该平面子空间中存在二维特征几何基元,或者该平面子空间中不存在二维特征几何基元且平面子空间与任一二维约束基元无任何相交部分。反之如果该平面子空间与至少一个二维约束基元相交,则该平面子空间被标记为自由平面子空间。其中,二维约束基元为:二维特征几何基元与与其存在可见约束关系的二维视觉传感器位姿共同组成的基元。\n[0203] 当采用不规则组合剖分三维空间时,则通过第二空间标记子单元9322标记出不规则组合结构剖分子单元9312剖分的平面子空间中的平面障碍物子空间。具体标记时,第二空间标记子单元9322将满足第二预设条件的平面子空间标记为平面障碍物子空间。所述第二预设条件为:平面子空间与任一二维约束基元无任何相交部分。其中,二维约束基元为:\n二维特征几何基元与与其存在可见约束关系的二维视觉传感器位姿共同组成的基元。也就是说,二维约束基元是二维特征几何基元、二维特征几何基元和二维视觉传感器位姿的可见约束关系共同决定的。\n[0204] 本发明实施例中,当移动机器人的平面仅限于二维平面时,便可先将计算结果投影到移动机器人所运动的二维平面,然后再进行二维平面剖分与障碍物标记,从而检测出二维平面空间中的障碍物。与三维空间剖分与障碍物标记相比,该种方式降低了计算的复杂度。\n[0205] 需要说明的是,在所有的方法实施例中,在不冲突的情况下,各实施例中的技术特征可相互组合。\n[0206] 图9-12所示的实施例中,移动机器人在移动时,不论移动机器人的运动空间是三维空间还是二维平面,其所处的环境都是变化的,障碍物检测是一个实时的、不断循环的过程,移动机器人所处环境不断更新,相应地计算结果也会不断更新,因而需要根据更新的计算结果标记出更新的自由子空间和障碍物子空间。在标记更新的自由子空间和障碍物子空间时,可以采用全局性更新和连续性更新两种方式。\n[0207] 此处,全局性更新的原理是:T1和T2为前后相邻两个时刻,在更新时,不依赖于上一时刻T1的检测结果,而是直接使用当前时刻T2的计算结果对机器人所处环境进行重新剖分与重新标记,从而得到更新的自由子空间和障碍子物空间,检测出当前时刻机器人所处环境的障碍物。此种全局性更新的方式所需的计算量会随时间逐渐增大,因此无法保证实时性。\n[0208] 此处,连续性更新的原理是:假设T1和T2为前后相邻两个时刻,在更新时利用上一时刻T1的计算结果,并将当前时刻T2的计算结果与上一时刻T1的计算结果进行比较,确定出在当前时刻T2更新的计算结果和发生变化的子空间。其中,更新的计算结果包括更新的特征几何基元、更新的视觉传感器位姿及更新的可见约束关系。此处,发生变化的子空间可能是:标记状态发生变化的子空间,也可能是标记状态和剖分状态都发生变化的子空间。当变化的子空间仅标记状态发生变化时,则根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间;当变化的子空间剖分状态和标记状态都发生变化时,则根据更新的特征几何基元和/或更新的可见约束关系,对发生变化的子空间进行重新剖分与标记,因此采用连续性更新时,所需的时间基本不变,因此能保证实时性。\n[0209] 在具体更新时,计算模块92还用于:在所述移动机器人所处环境变化时,基于新获取的图像信息和所述计算结果确定出更新的计算结果及变化的子空间,该更新的计算结果包括:更新的特征几何基元、更新的可见约束关系;\n[0210] 所述处理模块93,还用于根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出所述变化的子空间中的障碍物子空间。\n[0211] 下面将分别描述采用规则网格方式剖分三维空间时的连续性更新方法和采用不规则组合结构剖分三维空间时的连续性更新方法。\n[0212] (1)采用规则网格方式剖分三维空间时的连续性更新方法\n[0213] 移动机器人在移动的过程中,当采用均一网格方式剖分三维空间时,移动机器人在移动的过程中,剖分的子空间结构不会发生变化,即该子空间的剖分状态不会发生变化,但是由于三维空间中的特征几何基元可能发生变化或增加,因此相应的特征可见约束关系也会相应更新,该子空间的标记状态可能发生变化。此时只需要根据更新的特征几何基元和/或更新的可见约束关系,重新标记出所述剖分的子空间中的障碍物子空间。\n[0214] 假设T1和T2为前后相邻两个时刻,当使用自适应网络方式剖分三维空间时,从上一时刻T1到当前时刻T2,特征几何基元有所增加,也就是说特征几何基元有更新。那么,相应地,对应的可见约束关系也会有更新。并且,对于上一时刻T1到当前时刻T2的增加的特征几何基元,则需要判断包含该增加的特征几何基元的子空间的剖分状态是否发生变化,若判断结果为是,即该子空间的剖分状态发生变化,则需要对发生变化的子空间进行重新剖分。\n由于该子空间的剖分状态发生变化,相应地,其标记状态也会发生变化。在对该变化的子空间进行重新剖分之后,则需要对根据所述更新的特征几何基元和/或所述更新的可见约束关系,重新标记出重新剖分的子空间中的障碍物子空间。\n[0215] (2)采用不规则组合结构方式剖分三维空间时的连续性更新方法\n[0216] 具体实现时,假设时刻T1和T2为前后相邻两个时刻,Qt1和Qt2分别是截止T1和T2两个时刻利用Visual-SLAM计算所获得的所有特征几何基元的集合。由于T1时刻的空间剖分状态和标记状态已知,那么在T2时刻,子空间的剖分状态和标记状态均可能发生变化,此时则需要更新子空间的剖分状态和标记状态。\n[0217] 需要说明的是,当移动机器人所处的二维平面更新时,相应地计算结果也会不断更新,因而需要根据更新的计算结果不断更新二维平面中的平面自由子空间和平面障碍物子空间。\n[0218] 如前文所述,更新包括全局性更新和连续性更新两种方式。不论采用不规则组合结构还是使用规则网格剖分二维平面,二维平面情况下的更新原理和三维空间情况下的更新原理完全一致。不同的是,在二维平面情况下需要标记的平面子空间是不规则的多边形、长方形或正方形,而在三维空间的情况下,需要标记的子空间是不规则多面体、长方体或正方体。同理,在二维平面情况下,用来做标记的约束基元是由投影在二维平面上的二维特征几何基元与二维视觉传感器位姿所组成的,而在三维空间情况下,用来做标记的约束基元是特征几何基元与视觉传感器位姿所组成的。\n[0219] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2018-08-03
专利权的转移
登记生效日: 2018.07.16
专利权人由深圳市墨克瑞光电子研究院变更为深圳超多维科技有限公司
地址由518053 广东省深圳市南山区华侨城东部工业区东H-1栋101变更为518052 广东省深圳市前海深港合作区前湾一路1号A栋201室
- 2017-07-28
- 2014-09-10
实质审查的生效
IPC(主分类): G01V 8/10
专利申请号: 201410182735.0
申请日: 2014.04.30
- 2014-08-13
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |