本发明属于计算机视觉与移动机器人的技术领域,特别是涉及一种动态场景中轮式移动机器人的视觉镇定控制方法。
背景技术:
日常生活中,人类针对绝大多数外界信息是通过眼睛接收的,可以看出视觉传感器的重要性。在移动机器人上安装视觉传感器,能使其变得更加智能并且应用领域更加广泛,诸如智能交通、深海勘探和家居服务。随着控制理论和视觉感知的进步,吸引着越来越多的人研究机器人视觉镇定控制。对于单目视觉系统,视觉特征的3d模型缺失是其固有问题,再加上轮式移动机器人非完整性约束给机器人视觉镇定带来了更大的挑战。现有的一些方法是在场景中建立固定特征点来进行视觉镇定,所以当特征点移动时现有的方法难以实现机器人的视觉镇定任务。
对于轮式移动机器人,它是一个具有非完整的运动约束欠驱动系统。移动机器人有两个基本任务:第一是轨迹跟踪控制;第二个是从初始位姿到目标位姿,即镇定控制。移动机器人配备了视觉传感器,将视觉信息作为反馈量来控制移动机器人实现镇定控制。但图像特征点在整个视觉伺服过程必须保持不变,在实际应用中由于工作空间因素等诸多原因有时会移动特征点。因此需要设计在特征点移动的状况下机器人仍然能够进行准确的视觉伺服。
技术实现要素:
本发明的目的是提供一种方法解决特征点移动的情况,这将会大大提高机器人的适应能力。
本发明提出一种动态场景中轮式移动机器人的视觉镇定系统的设计。本文基于单目的轮式移动机器人提出了一种新颖的方法,可以让机器人在视觉目标移动的情况下进行视觉伺服。对于现有的方法,当特征点固定时,移动机器人可以正确的到达期望位姿处,不过当特征点移动后,移动机器人难以到达期望的位姿处。为了监视特征点的移动,我们在实验场景中增加了一个监视摄像机,当特征点移动之后移动机器人仍然可以到达期望位姿。通过监视摄像机的图像,利用posit算法计算出移动后的特征点与监视摄像机的关系。进而计算出相应的坐标系和特征点之间的关系。利用坐标系变换规则,我们就可以根据实时的图像反馈信息计算出当前位姿和期望位姿之间的旋转矩阵和平移向量。利用基于极坐标表示法的控制器驱动移动机器人到达期望位姿处。仿真与实验结果均证明本方法有效可靠。
本发明提供的移动机器人的视觉镇定系统方法包括:
一种动态场景中轮式移动机器人的视觉镇定系统,其特征包括以下步骤:
第1,定义系统坐标系
第1.1,系统坐标系的描述
基于视觉目标定义了基准坐标系
第1.2,控制方案
特征点运动时移动机器人可以有效地完成视觉伺服任务。视觉伺服镇定策略由三个阶段组成:第一阶段,监视摄像机采用posit方法计算特征点移动前和移动后的关系;第二阶段,可以获得实时的机器人的当前姿态和期望姿势旋转矩阵和平移向量;最后在第三阶段,结合李亚普诺夫理论和极坐标,设计运动控制器来驱动机器人到想要的位姿。经过严格的理论可以证明所提出的视觉伺服方案是有效的。
第2,系统设计
第2.1,posit算法
设想固定摄像机的焦距和各个内参数已经测出来,固定摄像机的原点为摄像机的焦点用o表示,正前方为z轴,右方为x轴,下方为y轴,i,j,k分别为x,y,z的单位向量。
定义目标参考坐标系为{m1,u,v,w},目标坐标系以一系列特征点中的第一个点m1为原点,mi是第i个特征点的空间位置。
用固定摄像机对移动前的特征点进行拍摄,然后用posit算法计算目标的旋转矩阵r和平移向量t。特征点mi在参考坐标系下的坐标{ui,vi,wi}是已知的,mi在图像坐标系下对应的点mi的坐标(xi,yi)也是已知的。特征点在摄像机坐标系下的位姿是未知的,所以mi在摄像机坐标系下的(xi,yi,zi)是未知的,所以要求出目标的旋转矩阵和平移向量。该方法使用了特征点mi的尺度正交投影点pi。为了构造pi,通过特征点m1画平行于平面g的平面k,投影中心o到它的距离z1,将特征点mi正交投影到平面k与pi,再将pi投影到平面g与pi,将所有特征点都进行类似正交投影。旋转矩阵r的行是摄像机坐标系单位向量i,j,k在目标坐标系{m1,u,v,w}各分量上的投影。
第2.2,监视摄像机控制策略
第2.2.1,特征点移动之前坐标系与监视摄像机坐标系之间的关系
定义目标坐标系为{m1,u,v,w},目标坐标系以特征点中序号为1的点m1为原点,mi是第i个特征点的空间位置,所求出的旋转矩阵
特征点移动之前坐标系和监视摄像机坐标系之间的关系为:
第2.2.2,特征点移动之后坐标系与监视摄像机坐标系之间的关系
定义目标坐标系为{m*1,u*,v*,w*},其中目标坐标系以特征点中序号为1的点m*1为原点,m*i是第i个特征点的空间位置,所求出的旋转矩阵
特征点移动之后坐标系和监视摄像机坐标系之间的关系为:
由此可知特征点在移动前和移动后相对于摄像机坐标系的空间位置。不过也需要知道特征点移动前与移动后坐标系之间的旋转与平移关系。
第2.2.3,特征点移动前与移动后坐标系之间的关系
设移动后的特征点到移动前坐标系的旋转矩阵为
根据坐标系变换规则,由监视摄像机坐标系、特征点移动之前坐标系和移动之后坐标系的旋转关系可得:
由此可得
特征点移动后与移动前坐标系的关系为:
其中(ai,bi,ci)表示的就是特征点移动后在移动前所在坐标系的坐标值;
求出ota,因此可得移动前与移动后两个坐标系之间的关系。
第2.3,移动机器人控制策略
第2.3.1,特征点移动之前坐标系与机器人期望坐标系的关系
机器人坐标系的建立:机器人前进的方向为zc轴,左右方向为xc轴,上下方向为yc轴,g,e,f分别是其单位向量。
首先在移动机器人的期望位置进行取像,用posit算法可以算出,特征点移动前相对移动机器人期望坐标系的旋转矩阵
(xc1,yc1,zc1)是点m1在移动机器人期望坐标系下坐标值,特征点移动之前坐标系与机器人期望坐标系的关系为:
第2.3.2,特征点移动后的坐标系与移动机器人初始位姿坐标系的关系
移动机器人放到初始位姿,然后特征点做相应的移动,移动机器人对其进行图像采集。设现在移动机器人的坐标系:x′c轴、y′c轴、z′c轴,分别对应着期望位姿处的xc轴、yc轴、zc轴,单位向量分别为e′,f′,g′。用posit算法可以计算出特征点移动后的坐标系相对于移动机器人初始位姿坐标系的旋转矩阵
(x′c1,y′c1’z′c1)是点m′1在移动机器人初始位姿坐标系下坐标值,特征点移动后与移动机器人初始位姿的关系如下所示:
第2.3.3,移动机器人期望位姿与初始位姿之间关系
最后要求出的是移动机器人期望位姿与初始位姿之间的旋转矩阵
由此可以求出旋转矩阵
由此可得出dtc。
第3,机器人运动学方程的建立
本部分介绍了在极坐标下移动机器人的运动。如附图3所示,移动机器人位姿由极坐标表示。令
设计线速度控制器为:
v=(γcosα)e(19)
角速度控制器为:
附图说明:
图1为视觉伺服策略框图
图2为视觉伺服策略的坐标系关系
图3为移动机器人的极坐标示意图
图4为仿真图:机器人运动轨迹
图5为仿真图:机器人运行速度和角速度
图6为仿真图:摄像机图像点运动轨迹
图7为仿真图:机器人的位姿变化
图8为实验图:移动机器人的监视摄像机和特征点
图9为实验图:特征点移动前后的图像
图10为实验图:机器人的运动路径
图11为实验图:特征点的运动轨迹
图12为实验图:移动机器人的实时位姿的变化
图13为实验图:机器人的线速度和角速度
具体实施方式:
1、一种动态场景中轮式移动机器人的视觉镇定系统,其特征包括以下步骤:
第1,定义系统坐标系
第1.1,系统坐标系的描述
基于视觉目标定义了基准坐标系
第1.2,控制方案
特征点运动时移动机器人可以有效地完成视觉镇定任务。视觉伺服镇定策略由三个阶段组成:第一阶段,监视摄像机采用posit方法计算出特征点移动前和移动后的关系;第二阶段,可以获得实时的机器人的当前姿态和期望姿势旋转矩阵和平移向量;最后在第三阶段,结合李亚普诺夫理论和极坐标,设计运动控制器来驱动机器人到达想要的位姿。附图1给出了所提供方案的框图;经过严格的理论可以证明所提出的视觉伺服方案是有效的。
第2,系统设计
第2.1,监视摄像机控制策略
第2.1.1,特征点移动之前的坐标系与监视摄像机坐标系之间的关系
定义目标坐标系为{m1,u,v,w},目标坐标系以特征点中序号为1的点m1为原点,mi是第i个特征点的空间位置,经posit方法所求出的旋转矩阵
特征点移动之前坐标系和监视摄像机坐标系之间的关系为:
第2.1.2,特征点移动之后坐标系与监视摄像机坐标系之间的关系
定义目标坐标系为{m*1,u*,v*,w*},其中目标坐标系以特征点中序号为1的点m*1为原点,m*i是第i个特征点的空间位置,所求出的旋转矩阵
特征点移动之后坐标系和监视摄像机坐标系之间的关系为:
由此可知特征点在移动前和移动后相对于摄像机坐标系的空间位置,不过也需要知道特征点移动前与移动后坐标系之间的旋转与平移关系。
第2.1.3,特征点移动前与移动后坐标系之间的关系
设移动后的特征点变换到移动前坐标系的旋转矩阵为
根据坐标系变换规则,由监视摄像机坐标系、特征点移动之前坐标系和移动之后坐标系的旋转关系可得:
由此可得
特征点移动后与移动前坐标系的关系为:
其中(ai,bi,ci)表示的是特征点移动后在移动前所在坐标系的坐标值;
求出ota,因此可得移动前与移动后两个坐标系之间的关系。
第2.2,移动机器人控制策略
第2.2.1,特征点移动之前坐标系与机器人期望坐标系的关系
建立机器人坐标系,机器人前进的方向为zc轴,左右方向为xc轴,上下方向为yc轴,g,e,f分别是其单位向量。
首先在移动机器人的期望位置进行取像,用posit算法可以算出,特征点移动前相对移动机器人期望坐标系的旋转矩阵
(xc1,yc1,zc1)是点m1在移动机器人期望坐标系下坐标值,特征点移动之前坐标系与机器人期望坐标系的关系可以表示为:
第2.2.2,特征点移动后的坐标系与移动机器人初始位姿坐标系的关系
移动机器人放到初始位姿,然后特征点做相应的移动,移动机器人对其进行图像采集。设现在移动机器人的坐标系:x′c轴、y′c轴、z′c轴,分别对应着期望位姿处的xc轴、yc轴、zc轴,单位向量分别为e′,f′,g′。用posit算法可以计算出特征点移动后的坐标系相对于移动机器人初始位姿坐标系的旋转矩阵
(x′c1,y′c1,z′c1)是点m′1在移动机器人初始位姿坐标系下坐标值,特征点移动后与移动机器人初始位姿的关系如下所示:
第2.2.3,移动机器人期望位姿与初始位姿之间关系
最后要求出的是移动机器人期望位姿与初始位姿之间的旋转矩阵
由此可以求出旋转矩阵
由此可得出dtc。
第3,机器人运动学方程的建立
本部分介绍了在极坐标下移动机器人的运动。如附图3所示,移动机器人位姿由极坐标表示,令
设计线速度控制器为:
v=(γcosα)e(19)
角速度控制器为:
第4,仿真实验和结论
第4.1,仿真
通过仿真来证明该方法的有效性。利用空间中6个特征点来计算移动机器人的位姿。
摄像机内参数为:
移动机器人的初始位姿为(0.8m,-2.2m,35°),期望位姿为(0.0m,0.0m,0°),图像噪声的标准差为σ=0.1个像素。选取的控制参数为:γ=1,k=1.5,h=0.9。
如附图,图4是移动机器人在3d场景中的移动轨迹。图5是机器人随时间变化的线速度和角速度。图6是六个特征点在摄像机图像上的移动轨迹,其中圆圈表示的是初始位置的像素坐标,五角星表示的是特征点移动之前的像素坐标,方块表示的是机器人到达期望位姿处的像素坐标。图7是x轴、z轴和角度的变化,可见三个数据全部趋近于0。
第4.2,实验
经过实验,进一步验证所提出策略的有效性。如图8,图中配备有固定摄像机的in-r移动机器人和六个非平面特征点(两个正方形的公共顶点)。在vc++6.0环境下借助opencv库移动机器人实现其功能。监控摄像头(映美精dmk23g618)在visualstudio2013工作环境下实现其功能。
移动机器人的初始位姿为(-2.3m,0.62m,26°),期望位姿为(0.0m,0.0m,0°)。选取的控制参数为:γ=0.09,k=0.2,h=0.8。
摄像机内参数为:
如附图,图9是监视摄像机观察到的特征点移动前和移动后图像。在图9中,左边是特征点移动前的图像,右边是特征点移动后的图像。机器人的运动路径如图10所示,星号表示移动前特征点,圆圈表示移动后特征点。图11是特征点的运动轨迹,圆形点表示特征点的初始位置,星形点表示特征点的期望位置,正方形表示当机器人移动到期望位置时特征点的位姿。移动机器人的实时位姿的变化如图12所示,三条曲线都收敛于期望值,表明机器人能够移动到期望位姿。图13表示机器人的线速度和角速度。
第4.3,结论
本文是基于单目板载摄像机的轮式移动机器人。在试验场景中,当特征点移动时移动机器人仍然能够到达期望位置。本文提出了一个新的解决方案。为了得到特征点移动的信息,我们在实验场景中添加了一个监视摄像机。利用posit算法可以计算出特征点移动前后的关系。然后用posit算法得到各个坐标系之间的关系。进而得到移动机器人当前位姿和期望位姿的实时旋转矩阵和平移向量。通过李雅普诺夫稳定性,设计一个线速度和角速度的控制器。仿真和实验结果可以说明此方法的有效性。