移动机器人位置感知方法和装置.pdf

上传人:e1 文档编号:1875139 上传时间:2018-07-18 格式:PDF 页数:13 大小:955.30KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610286914.8

申请日:

2016.05.03

公开号:

CN105955260A

公开日:

2016.09.21

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G05D 1/02申请日:20160503|||公开

IPC分类号:

G05D1/02

主分类号:

G05D1/02

申请人:

大族激光科技产业集团股份有限公司; 深圳市大族电机科技有限公司

发明人:

文茜; 舒远; 李玉廷; 王光能; 闫静; 高云峰

地址:

518000 广东省深圳市南山区高新技术园北区新西路9号大族激光大厦

优先权:

专利代理机构:

广州华进联合专利商标代理有限公司 44224

代理人:

王宁

PDF下载: PDF下载
内容摘要

本发明涉及一种移动机器人位置感知方法和装置,所述方法包括:利用摄像机对移动机器人所在三维空间中物体上的标签进行成像;所述摄像机置于移动机器人上;获取所述标签对应的空间坐标;提取所述标签在所述摄像机成像后对应的图像坐标,根据所述图像坐标计算所述标签在摄像机坐标系中的摄像机坐标;根据所述摄像机坐标和空间坐标进行仿射变换,得到所述移动机器人在三维空间中的坐标。采用本方法能够准确、快速的确定移动机器人所在的位置。

权利要求书

1.一种移动机器人位置感知方法,所述方法包括:
利用摄像机对移动机器人所在三维空间中物体上的标签进行成像;所述摄
像机置于移动机器人上;
获取所述标签对应的空间坐标;
提取所述标签在所述摄像机成像后对应的图像坐标,根据所述图像坐标计
算所述标签在摄像机坐标系中的摄像机坐标;
根据所述摄像机坐标和空间坐标进行仿射变换,得到所述移动机器人在三
维空间中的坐标。
2.根据权利要求1所述的方法,其特征在于,在所述利用摄像机对移动机
器人所在空间中物体上的标签进行成像之前,还包括:
利用摄像机对标定板进行成像;
获取标定板在多个位置对应的成像图像;
根据标定板在多个位置对应的成像图像计算出所述摄像机的参数以及摄像
机之间的位置关系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述图像坐标计算
所述标签在摄像机坐标系中的摄像机坐标包括:
获取摄像机投影中心的连线距离和摄像机的焦距;
根据所述标签对应的图像坐标与所述连线距离和所述焦距计算所述标签在
摄像机坐标系中的摄像机坐标。
4.根据权利要求2所述的方法,其特征在于,所述根据所述摄像机坐标和
空间坐标进行仿射变换,得到所述移动机器人在三维空间中的坐标包括:
根据所述标签对应的空间坐标与摄像机坐标计算摄像机坐标系与空间坐标
系之间的仿射变换关系;
获取摄像机坐标系的摄像机坐标原点;
根据所述摄像机坐标系与空间坐标系之间的仿射变换关系进行仿射变换,
将所述摄像机坐标原点仿射变换至空间坐标系,得到所述移动机器人在三维空
间中的坐标。
5.根据权利要求4所述的方法,其特征在于,所述根据所述标签对应的
空间坐标与摄像机坐标计算摄像机坐标系与空间坐标系之间的仿射变换关系包
括:
提取所述标签对应的多个点;
获取所述多个点对应的空间坐标以及所述多个点被摄像机成像后在摄像机
坐标系中的摄像机坐标;
根据所述空间坐标和所述摄像机坐标建立多个方程组;
通过求解多个方程组得到摄像机坐标系与空间坐标系之间的仿射变换矩
阵。
6.一种移动机器人位置感知装置,其特征在于,所述装置包括:
成像模块,用于利用摄像机对移动机器人所在三维空间中物体上的标签进
行成像;所述摄像机置于移动机器人上;
获取模块,用于获取所述标签对应的空间坐标;
坐标计算模块,用于提取所述标签在所述摄像机成像后对应的图像坐标,
根据所述图像坐标计算所述标签在摄像机坐标系中的摄像机坐标;
仿射变换模块,用于根据所述摄像机坐标和空间坐标进行仿射变换,得到
所述移动机器人在三维空间中的坐标。
7.根据权利要求6所述的装置,其特征在于,所述成像模块还用于利用摄
像机对标定板进行成像;所述获取模块还用于获取标定板在多个位置对应的成
像图像;
所述装置还包括:
标定模块,用于根据标定板在多个位置对应的成像图像计算出所述摄像机
的参数以及摄像机之间的位置关系。
8.根据权利要求7所述的装置,其特征在于,所述坐标计算模块还用于获
取摄像机投影中心的连线距离和摄像机的焦距;根据所述标签对应的图像坐标
与所述连线距离和所述焦距计算所述标签在摄像机坐标系中的摄像机坐标。
9.根据权利要求7所述的装置,其特征在于,所述仿射变换模块还用于根
据所述标签对应的空间坐标与摄像机坐标计算摄像机坐标系与空间坐标系之间
的仿射变换关系;获取摄像机坐标系的摄像机坐标原点;根据所述摄像机坐标
系与空间坐标系之间的仿射变换关系进行仿射变换,将所述摄像机坐标原点仿
射变换至空间坐标系,得到所述移动机器人在三维空间中的坐标。
10.根据权利要求9所述的装置,其特征在于,所述仿射变换模块还用于
提取所述标签对应的多个点;获取所述多个点对应的空间坐标以及所述多个点
被摄像机成像后在摄像机坐标系中的摄像机坐标;根据所述空间坐标和所述摄
像机坐标建立多个方程组;通过求解多个方程组得到摄像机坐标系与空间坐标
系之间的仿射变换矩阵。

说明书

移动机器人位置感知方法和装置

技术领域

本发明涉及移动机器人技术领域,特别是涉及一种移动机器人位置感知方
法和装置。

背景技术

移动机器人是一种可以在复杂环境下工作,具有自行组织、自主运行、自
主规划的智能机器人,融合了计算机技术、信息技术、通信技术、微电子技术
和机器人技术等。移动机器人具有移动功能,在代替人从事危险、恶劣环境下
作业和人所不及的环境作业方面,比一般机器人有更大的机动性、灵活性。为
了更好的利用移动机器人,当移动机器人在三维空间中进行运动时,需要准确、
快速的确定移动机器人所在的位置。因此,如何准确、快速的确定移动机器人
所在的位置成为目前需要解决的一个技术问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够准确、快速的确定移动
机器人所在的位置的移动机器人位置感知方法和装置。

一种移动机器人位置感知方法,所述方法包括:

利用摄像机对移动机器人所在三维空间中物体上的标签进行成像;所述摄
像机置于移动机器人上;

获取所述标签对应的空间坐标;

提取所述标签在所述摄像机成像后对应的图像坐标,根据所述图像坐标计
算所述标签在摄像机坐标系中的摄像机坐标;

根据所述摄像机坐标和空间坐标进行仿射变换,得到所述移动机器人在三
维空间中的坐标。

在其中一个实施例中,在所述利用摄像机对移动机器人所在空间中物体上
的标签进行成像之前,还包括:

利用摄像机对标定板进行成像;

获取标定板在多个位置对应的成像图像;

根据标定板在多个位置对应的成像图像计算出所述摄像机的参数以及摄像
机之间的位置关系。

在其中一个实施例中,所述根据所述图像坐标计算所述标签在摄像机坐标
系中的摄像机坐标包括:

获取摄像机投影中心的连线距离和摄像机的焦距;

根据所述标签对应的图像坐标与所述连线距离和所述焦距计算所述标签在
摄像机坐标系中的摄像机坐标。

在其中一个实施例中,所述根据所述摄像机坐标和空间坐标进行仿射变换,
得到所述移动机器人在三维空间中的坐标包括:

根据所述标签对应的空间坐标与摄像机坐标计算摄像机坐标系与空间坐标
系之间的仿射变换关系;

获取摄像机坐标系的摄像机坐标原点;

根据所述摄像机坐标系与空间坐标系之间的仿射变换关系进行仿射变换,
将所述摄像机坐标原点仿射变换至空间坐标系,得到所述移动机器人在三维空
间中的坐标。

在其中一个实施例中,所述根据所述标签对应的空间坐标与摄像机坐标计
算摄像机坐标系与空间坐标系之间的仿射变换关系包括:

提取所述标签对应的多个点;

获取所述多个点对应的空间坐标以及所述多个点被摄像机成像后在摄像机
坐标系中的摄像机坐标;

根据所述空间坐标和所述摄像机坐标建立多个方程组;

通过求解多个方程组得到摄像机坐标系与空间坐标系之间的仿射变换矩
阵。

一种移动机器人位置感知装置,所述装置包括:

成像模块,用于利用摄像机对移动机器人所在三维空间中物体上的标签进
行成像;所述摄像机置于移动机器人上;

获取模块,用于获取所述标签对应的空间坐标;

坐标计算模块,用于提取所述标签在所述摄像机成像后对应的图像坐标,
根据所述图像坐标计算所述标签在摄像机坐标系中的摄像机坐标;

仿射变换模块,用于根据所述摄像机坐标和空间坐标进行仿射变换,得到
所述移动机器人在三维空间中的坐标。

在其中一个实施例中,所述成像模块还用于利用摄像机对标定板进行成像;
所述获取模块还用于获取标定板在多个位置对应的成像图像;

所述装置还包括:

标定模块,用于根据标定板在多个位置对应的成像图像计算出所述摄像机
的参数以及摄像机之间的位置关系。

在其中一个实施例中,所述坐标计算模块还用于获取摄像机投影中心的连
线距离和摄像机的焦距;根据所述标签对应的图像坐标与所述连线距离和所述
焦距计算所述标签在摄像机坐标系中的摄像机坐标。

在其中一个实施例中,所述仿射变换模块还用于根据所述标签对应的空间
坐标与摄像机坐标计算摄像机坐标系与空间坐标系之间的仿射变换关系;获取
摄像机坐标系的摄像机坐标原点;根据所述摄像机坐标系与空间坐标系之间的
仿射变换关系进行仿射变换,将所述摄像机坐标原点仿射变换至空间坐标系,
得到所述移动机器人在三维空间中的坐标。

在其中一个实施例中,所述仿射变换模块还用于提取所述标签对应的多个
点;获取所述多个点对应的空间坐标以及所述多个点被摄像机成像后在摄像机
坐标系中的摄像机坐标;根据所述空间坐标和所述摄像机坐标建立多个方程组;
通过求解多个方程组得到摄像机坐标系与空间坐标系之间的仿射变换矩阵。

上述移动机器人位置感知方法和装置,通过利用移动机器人配备的摄像机
对所在三维空间中物体上的标签进行成像,获取标签对应的空间坐标。提取标
签在摄像机成像后的图像坐标,根据图像坐标计算标签在摄像机坐标系中的摄
像机坐标。根据摄像机坐标和空间坐标进行仿射变换,从而得到移动机器人在
三维空间中的坐标。由于摄像机置于移动机器人上,在移动机器人移动时,摄
像机坐标系能够随着移动机器人的移动而变化。由此通过摄像机对物体上的标
签进行持续成像,从而能够准确、快速的确定移动机器人在三维空间中的位置。

附图说明

图1为一个实施例中移动机器人位置感知方法的流程图;

图2为一个实施例中移动机器人位置感知方法的应用示意图;

图3为一个实施例中双目立体视觉测量的示意图;

图4为一个实施例中移动机器人位置感知的结构示意图;

图5为又一个实施例中移动机器人位置感知的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实
施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅
用以解释本发明,并不用于限定本发明。

在一个实施例中,如图1所示,提供了一种移动机器人位置感知方法,方
法包括:

步骤102,利用摄像机对移动机器人所在三维空间中物体上的标签进行成
像;摄像机置于移动机器人上。

步骤104,获取标签对应的空间坐标。

移动机器人上配备有摄像机。摄像机至少包括两个,摄像机可以是双目摄
像机,也可以是多目摄像机。移动机器人置于三维空间中,例如,三维空间可
以是客厅或卧室等。三维空间中的不同位置上可以摆放多个不同的物体。在物
体的表面可以贴有标签。标签可以是二维码、电子标签或者产品标签等。标签
中包括属性信息,其中属性信息包括物体的名称、标签所在位置等。优选的,
标签所在位置可以是标签中多个点的空间坐标。由于标签所在位置可以是空间
坐标,可以视为物体上所贴有的标签是位于一个空间坐标系定位好的三维空间
中。因此,移动机器人所在的三维空间也是一个空间坐标系已知的三维空间。

当摄像机为双目摄像机时,采用双目立体视觉方法对双目摄像机进行标定。
当摄像机为多目摄像机时,采用多目立体视觉方法对多目摄像机进行标定。在
摄像机标定之后,利用摄像机对移动机器人所在三维空间中物体上的标签进行
成像,得到标签图像。对标签图像进行识别,获取标签对应的空间坐标。其中,
标签对应的空间坐标可以是标签中多个点的空间坐标。标签中的多个点可以是
任意的点。优选的,标签中的多个点可以是标签的顶点。

步骤106,提取标签在摄像机成像后对应的图像坐标,根据图像坐标计算标
签在摄像机坐标系中的摄像机坐标。

摄像机对标签成像得到的标签图像可以是成像平面。通过图像与处理可以
得到标签在摄像机中的图像坐标。优选的,提取标签中的多个点在摄像机中的
图像坐标。当摄像机为双目摄像机时,标签中的每个点在摄像机中的图像坐标
有两个。双目摄像机可以包括第一摄像机和第二摄像机,标签中的每个点在摄
像机中的图像坐标分别是该点在第一摄像机中的图像坐标和该点在第二摄像机
中的图像坐标。当摄像机为多目摄像机时,标签中的每个点在摄像机种的图像
坐标有多个。例如,多目摄像机包括第一摄像机、第二摄像机和第三摄像机,
标签中的每个点在摄像机中的图像坐标分别是该点在第一摄像机中的图像坐
标、该点在第二摄像机中的图像坐标以及该点在第二摄像机中的图像坐标。

摄像机具有对应的摄像机坐标系。摄像机坐标系的原点可以在其中一个摄
像机镜头的光心处。获取摄像机投影中心的连线距离和摄像机的焦距;根据标
签对应的图像坐标与连线距离和焦距计算标签在摄像机坐标系中的摄像机坐
标。摄像机坐标系跟随移动机器人的移动而变化。在移动机器人移动的过程中,
摄像机保持对所在三维空间中物体上的标签进行成像。

步骤108,根据摄像机坐标和空间坐标进行仿射变换,得到移动机器人在三
维空间中的坐标。

根据标签对应的空间坐标与摄像机坐标计算摄像机坐标系与空间坐标系之
间的仿射变换关系。获取摄像机坐标系的摄像机坐标原点,根据摄像机坐标原
点和摄像机坐标系与空间坐标系之间的仿射变换关系进行仿射变换,将摄像机
坐标原点仿射变换至空间坐标系,得到移动机器人在三维空间中的坐标。

如图2所示,为移动机器人位置感知方法的应用示意图。移动机器人位于
一个三维空间的房间中。房间中的物体上贴有二维码,二维码中包含了二维码
图形的四个顶点的空间坐标和二维码所贴物体的信息。移动机器人顶端绑定有
两个相对位置固定的摄像机,即双目摄像机。空间坐标系为坐标系xyz,是已知
坐标系。摄像机坐标系为xcyczc,可以随着机器人的移动而变化。摄像机对二维
码进行持续成像,获取二维码图形的四个顶点的空间坐标。提取四个顶点在摄
像机成像后对应的图像坐标,根据图像坐标计算这四个顶点在摄像机坐标系中
的摄像机坐标。根据摄像机坐标和空间坐标进行仿射变换,得到移动机器人在
三维空间中的坐标。由于摄像机对二维码进行持续成像,因此移动机器人可以
准确、快速的感知所在位置。根据二维码所贴物体的信息,还可以对移动机器
人的运动路径及时进行避障。

本实施例中,通过利用移动机器人配备的摄像机对所在三维空间中物体上
的标签进行成像,获取标签对应的空间坐标。提取标签在摄像机成像后的图像
坐标,根据图像坐标计算标签在摄像机坐标系中的摄像机坐标。根据摄像机坐
标和空间坐标进行仿射变换,从而得到移动机器人在三维空间中的坐标。由于
摄像机置于移动机器人上,在移动机器人移动时,摄像机坐标系能够随着移动
机器人的移动而变化。由此通过摄像机对物体上的标签进行持续成像,从而能
够准确、快速的确定移动机器人在三维空间中的位置。

在一个实施例中,在利用摄像机对移动机器人所在三维空间中物体上的标
签进行成像之前,还包括:利用摄像机对标定板进行成像;获取标定板在多个
位置对应的成像;根据标定板在多个位置对应的成像计算出摄像机的参数以及
摄像机之间的位置关系。

本实施例中,为了确保摄像机对移动机器人所在三维空间中物体上的标签
进行有效成像,在摄像机对标签进行成像之前,需要对摄像机进行标定。对摄
像机进行标定也就是需要标定出摄像机的内部参数、外部参数以及摄像机之间
的相对位置关系。摄像机的内部参数包括焦距、投影中心和光心等。摄像机的
外部参数包括摄像机与空间坐标系的夹角等。摄像机的外部参数以及摄像机之
间的相对位置关系可以用旋转矩阵和平移向量来表示。利用摄像机对标定板进
行成像,获取标定板在多个位置对应的成像图像,根据标定板在多个位置对应
的成像图像计算出摄像机的内部参数、外部参数以及摄像机之间的相对位置关
系。

以摄像机为双目摄像机为例进行说明。将标定板放置于合适位置,以使得
标定板在第一摄像机和第二摄像机中能够完全成像。第一摄像机和第二摄像机
获取标定板在多个位置时对应的成像图像。通过双目立体视觉标定算法即可标
定出两个摄像机的内参数、外参数以及两个摄像机之间的相对位置关系。

在一个实施例中,根据图像坐标计算标签在摄像机坐标系中的摄像机坐标
包括:获取摄像机投影中心的连线距离和摄像机的焦距;根据标签对应的图像
坐标与连线距离和焦距计算标签在摄像机坐标系中的摄像机坐标。

本实施例中,在标定摄像机的内部参数、外部参数以及摄像机之间的相对
位置关系之后,可以根据标签对应的图像坐标来计算标签在摄像机坐标系中的
摄像机坐标。优选的,提取标签中一个或多个点,通过图像预处理计算出一个
或多个点在摄像机中的图像坐标。根据一个或多个点的图像坐标计算该一个点
或多个点在摄像机坐标系中的摄像机坐标。

以摄像机为双目摄像机为例,提取标签中的一个点P,通过图像预处理得到
该点在第一摄像机中的图像坐标为(Row1,Col1),在第二摄像机中的图像坐标
为(Row2,Col2)。通过双目立体视觉测量来计算该点在摄像机坐标系中的摄像
机坐标。如图3所示,为双目立体视觉测量的示意图。其中,第一摄像机与第二
摄像机投影中心的连线的距离即基线距为b,第一摄像机和第二摄像机的焦距分
别为f。摄像机坐标系为xcyczc,其原点在第一摄像机镜头的光心处。第一图像为
第一摄像机的成像平面,对应的坐标系为vu。第二图像为第而摄像机的成像平
面。第一图像平面坐标系原点在摄像机光轴与第一成像平面的交点O1处,第二
图像平面坐标系原点在摄像机光轴与第二成像平面的交点O2处。O1uv的v轴和u
轴与和摄像机坐标系的xc轴和yc轴方向一致,以此能够简化计算过程。标签中的
一个点P(x,y,z)在第一图像和第二图像中相应的图像坐标分别为P1(v1,u1)和
P2(v2,u2)。假定第一图像和第二图像在同一个平面上,则点P的图像坐标中u1=u2。
由相似三角形原理可得:

<mrow> <mfrac> <mi>f</mi> <mi>z</mi> </mfrac> <mo>=</mo> <mfrac> <msub> <mi>v</mi> <mn>1</mn> </msub> <mi>x</mi> </mfrac> </mrow>

<mrow> <mfrac> <mi>f</mi> <mi>z</mi> </mfrac> <mo>=</mo> <mfrac> <msub> <mi>u</mi> <mn>1</mn> </msub> <mi>y</mi> </mfrac> </mrow>

<mrow> <mfrac> <mi>f</mi> <mi>z</mi> </mfrac> <mo>=</mo> <mfrac> <msub> <mi>v</mi> <mn>2</mn> </msub> <mrow> <mi>x</mi> <mo>-</mo> <mi>b</mi> </mrow> </mfrac> </mrow>

解方程组即可得到P点在摄像机坐标系中的坐标为:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <mi>b</mi> </mrow> <mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>y</mi> <mo>=</mo> <mfrac> <mrow> <msub> <mi>u</mi> <mn>1</mn> </msub> <mi>b</mi> </mrow> <mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>z</mi> <mo>=</mo> <mfrac> <mrow> <mi>f</mi> <mi>b</mi> </mrow> <mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>v</mi> <mn>2</mn> </msub> </mrow> </mfrac> </mrow> </mtd> </mtr> </mtable> </mfenced>

在一个实施例中,根据摄像机坐标和空间坐标进行仿射变换,得到移动机
器人在三维空间中的坐标包括:根据标签对应的空间坐标与摄像机坐标计算摄
像机坐标系与空间坐标系之间的仿射变换关系;获取摄像机坐标系的摄像机坐
标原点;根据摄像机坐标系与空间坐标系之间的仿射变换关系进行仿射变换,
将摄像机坐标原点仿射变换至空间坐标系,得到移动机器人在三维空间中的坐
标。

本实施例中,摄像机坐标系到空间坐标系的仿射变换可以由仿射矩阵来表
示。由于移动机器人所在的空间为三维空间,因此仿射变换的矩阵可以采用一
个4×4的矩阵HomMat3D表示:

<mrow> <mi>H</mi> <mi>o</mi> <mi>m</mi> <mi>M</mi> <mi>a</mi> <mi>t</mi> <mn>3</mn> <mi>D</mi> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>a</mi> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mi>d</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>d</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>a</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>b</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>c</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>d</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>

在一个实施例中,根据标签对应的空间坐标与摄像机坐标计算摄像机坐标
系与空间坐标系之间的仿射变换关系包括:提取标签对应的多个点;获取多个
点对应的空间坐标以及多个点被摄像机成像后在摄像机坐标系中的摄像机坐
标;根据空间坐标和摄像机坐标建立多个方程组;通过求解多个方程组得到摄
像机坐标系与空间坐标系之间的仿射变换矩阵。

假设(xc,yc,zc)为摄像机坐标系中的某点,(Qx,Qy,Qz)为对应的空间坐标系
中的点,则

<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>Q</mi> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Q</mi> <mi>z</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>H</mi> <mi>o</mi> <mi>m</mi> <mi>M</mi> <mi>a</mi> <mi>t</mi> <mn>3</mn> <mi>D</mi> <mo>&CenterDot;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>c</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>c</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>z</mi> <mi>c</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>

提取标签对应的多个点,获取标签对应的多个点的空间坐标以及多个点被
摄像机成像后在摄像机坐标系中的摄像机坐标。优选的,提取标签对应的多个
顶点,获取多个顶点的空间坐标以及多个顶点在摄像机坐标系中的摄像机坐标。
例如,提取标签的四个顶点,其中这四个顶点在空间坐标系中空间坐标分别为
(xc1,yc1,zc1)、(xc2,yc2,zc2)、(xc3,yc3,zc3)和(xc4,yc4,zc4),这四个顶点在摄像机坐
标系中的摄像机坐标分别为(Qx1,Qy1,Qz1)、(Qx2,Qy2,Qz2)、(Qx3,Qy3,Qz3)和(Qx4,
Qy4,Qz4)根据以上关系建立三个四元一次方程组:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>Qx</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qx</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qx</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qx</mi> <mn>4</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>0</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>0</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>Qy</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qy</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qy</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qy</mi> <mn>4</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>Qz</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qz</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qz</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>Qz</mi> <mn>4</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>b</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <mo>&times;</mo> <msub> <mi>z</mi> <mrow> <mi>c</mi> <mn>4</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>

通过求解多个方程组得到摄像机坐标系与空间坐标系之间的仿射变换矩阵
从而求得仿射变换矩阵HomMat3D。

摄像机坐标系的坐标原点即为移动机器人在摄像机坐标系中的位置。获取
摄像机坐标系的摄像机坐标原点,根据摄像机坐标系与空间坐标系之间的仿射
变换矩阵进行仿射变换,将摄像机坐标原点仿射变换至空间坐标系,得到移动
机器人在三维空间中的坐标。

在一个实施例中,如图4所示,提供了一种移动机器人位置感知装置,包
括:成像模块402、获取模块404、坐标计算模块406和仿射变换模块408,其
中:

成像模块402,用于利用摄像机对移动机器人所在三维空间中物体上的标签
进行成像;摄像机置于移动机器人上。

获取模块404,用于获取标签对应的空间坐标。

坐标计算模块406,用于提取标签在摄像机成像后对应的图像坐标,根据图
像坐标计算标签在摄像机坐标系中的摄像机坐标。

仿射变换模块408,用于根据摄像机坐标和空间坐标进行仿射变换,得到移
动机器人在三维空间中的坐标。

在一个实施例中,成像模块402还用于利用摄像机对标定板进行成像;获
取模块还用于获取标定板在多个位置对应的成像图像;如图5所示,该装置还
包括:标定模块410,用于根据标定板在多个位置对应的成像图像计算出摄像机
的参数以及摄像机之间的位置关系。

在一个实施例中,坐标计算模块406还用于获取摄像机投影中心的连线距
离和摄像机的焦距;根据标签对应的图像坐标与连线距离和焦距计算标签在摄
像机坐标系中的摄像机坐标。

在一个实施例中,仿射变换模块408还用于根据标签对应的空间坐标与摄
像机坐标计算摄像机坐标系与空间坐标系之间的仿射变换关系;获取摄像机坐
标系的摄像机坐标原点;根据摄像机坐标系与空间坐标系之间的仿射变换关系
进行仿射变换,将摄像机坐标原点仿射变换至空间坐标系,得到移动机器人在
三维空间中的坐标。

在一个实施例中,仿射变换模块408还用于提取标签对应的多个点;获取
多个点对应的空间坐标以及多个点被摄像机成像后在摄像机坐标系中的摄像机
坐标;根据空间坐标和摄像机坐标建立多个方程组;通过求解多个方程组得到
摄像机坐标系与空间坐标系之间的仿射变换矩阵。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述
实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特
征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但
并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普
通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,
这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要
求为准。

移动机器人位置感知方法和装置.pdf_第1页
第1页 / 共13页
移动机器人位置感知方法和装置.pdf_第2页
第2页 / 共13页
移动机器人位置感知方法和装置.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《移动机器人位置感知方法和装置.pdf》由会员分享,可在线阅读,更多相关《移动机器人位置感知方法和装置.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明涉及一种移动机器人位置感知方法和装置,所述方法包括:利用摄像机对移动机器人所在三维空间中物体上的标签进行成像;所述摄像机置于移动机器人上;获取所述标签对应的空间坐标;提取所述标签在所述摄像机成像后对应的图像坐标,根据所述图像坐标计算所述标签在摄像机坐标系中的摄像机坐标;根据所述摄像机坐标和空间坐标进行仿射变换,得到所述移动机器人在三维空间中的坐标。采用本方法能够准确、快速的确定移动机器人所在。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 控制;调节


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1