一种室内移动机器人双目视觉定位与三维建图方法
【专利摘要】本发明公开了一种室内移动机器人双目视觉定位与三维建图方法,主要由双轮移动机器人平台、里程计模块、模拟摄像机、FPGA核心版、图像采集模块、无线通信模块、存储模块、USB模块和远程数据处理主机组成,通过FPGA核心版控制图像采集模块采集左右图像信息。并发送给远程数据处理主机,在远程数据处理主机上通过左右图像的信息利用快速置信度传播算法得到图像和机器人间的距离信息,并在远程数据处理主机中构建三维环境地图,同时利用改进SIFT算法实现特定标示物的识别,综合以上信息利用粒子滤波算法确定移动机器人的位置。本发明系统结构紧凑,可接入智能空间系统中。使室内移动机器人可以实时的检测环境,同时根据相应的位置信息提供更多更准确的服务。
【专利说明】一种室内移动机器人双目视觉定位与三维建图方法
【技术领域】
[0001]本发明属于室内移动机器人【技术领域】,涉及一种室内移动机器人双目视觉定位与三维建图方法。
【背景技术】
[0002]室内移动机器人研究的第一个重点就是环境感知问题,而传感器是机器人获取环境信息的重要手段。移动机器人携带的传感器种类繁多,其中与定位有关的可分为两类:内部传感器和外部传感器。内部传感器是指用于感知机器人自身位置、运动参数的传感器,如陀螺仪、光电码盘、多普勒仪等,这些传感器可以用来实现机器人的自身位置估计。其中,基于光电码盘和航迹推算法的机器人里程计因其价格低廉、采样速率高、短距离内能够提供精确的定位精度,是移动机器人最常用的内部传感器。里程计的优点在于它是自完备的,并且总是能够给出机器人的位置信息,但它的位置误差是无界发散的,因此必须参照外部传感器进行位置校正。针对里程计的系统误差,出现了 UMBmark测试校准技术来校准差分驱动的服务机器人的系统误差。该校准技术被广泛引用,成为差分驱动服务机器人系统误差校准的典范。针对非系统误差,有学者分析计算了机器人运行轨迹的里程协方差矩阵;提出了评估服务机器人里程计的系统和非系统误差的方法,系统误差采用扩展卡尔曼滤波器的方法,非系统误差采用一种新的观测滤波器。另一类传感器是感知机器人外部信息的传感器,如声纳、GPS、红外传感器、激光雷达和视觉传感器等等。这类传感器能提供独立于机器人的信息,存在系统误差但不会有累计误差,因此可以用来修正机器人的位置误差。另一方面,它们直接提供了外部环境的信息,是创建地图的信息来源。其中,声纳传感器由于价格低廉、使用简单、数据处理方便等优点得到了广泛使用,但其信息量相对较少空间分布分散,感知信息存在较大的不确定性。激光雷达的测量结果精度较高,可以直接根据测量数据进行特征提取。视觉传感器能够提供更为丰富的环境信息,但视觉数据的处理需要更多的计算,实时性不强。
【发明内容】
[0003]有鉴于此,本发明的目的在于提供一种基于双目视觉的室内移动机器人定位和三维建图的方法,采用该方法可以充分利用视频传感器提供的丰富的环境信息,构建彩色三维环境地图。利用无线通信模块,将数据的采集和处理分开。用数据处理能力更强的处理器执行复杂的算法,进一步解决计算量大的问题,提高实时性。
[0004]为达到上述目的,本发明提供如下技术方案:
[0005]室内移动机器人双目视觉定位与三维建图系统,包括以下模块:图像采集模块;FPGA模块;存储模块;USB通信模块;无线通信模块;机器人运动平台;里程计模块;其中FPGA模块与图像采集模块、存储模块、USB通信模块、无线通信模块、机器人运动平台、里程计模块相连。
[0006]基于双目视觉的室内移动机器人定位和三维建图的方法,它包含以下步骤:[0007](I)在远程数据处理主机中选取若干个特定标示物的图像,提取其SIFT特征,存储在远程数据处理主机中。
[0008](2)初始化移动机器人的位置坐标为(0,O),控制移动机器人向目标位置移动3s,控制移动机器人停止。
[0009](3)利用FPGA读取移动机器人左右两轮的里程计信息,将其转存至存储模块中。
[0010](4)利用FPGA控制图像采集模块采集此刻左右摄像头的图像数据,将其转存至存储丰吴块中。
[0011](5)利用FPGA控制无线通信模块,将存储模块中的本次采集的里程计数据和左右图像数据传给远程数据处理主机中,传输完成后,清除存储模块中的数据。
[0012](6)通过左右两幅图像的信息利用快速置信度传播(FastBeliefPropagation)算法得到图像和机器人间的距离信息,在远程数据处理主机中构建三维的环境地图;
[0013](7)利用改进的SIFT算法对图像快速提取关键特征点,并与远程数据处理主机中存储的特定标示物图像特征点信息进行比对,实现图像的识别;
[0014](8)根据里程计采集的运动信息、特定标示物的坐标位置、机器人与特定标志物的距离信息采用粒子滤波的方法确定移动机器人的位置。
[0015]进一步,所述图像采集模块具有模拟视频信号解码和A/D转换功能。
[0016]进一步,所述的图像采集模块,该模块主要采集左右两个模拟摄像头的PAL信号,并进行视频信号的解码和A/D转换,并把A/D转换后的数字信号传递给FPGA模块。
[0017]进一步,所述的FPGA模块,该模块主要功能
[0018]a.发送控制信号,控制图像采集模块数据采集的方式,启停等,并接收采集的数据,将其转存到存储模块中;
[0019]b.采集里程计模块中里程计所记录的数据,将其转存到存储模块中;
[0020]c.发送控制信号给机器人运动平台,控制其运动;
[0021]d.将机器人当前位置下存储模块中的图像数据和里程计数据通过无线通信模块传给远程数据处理主机,传送成功后清除存储模块的数据。
[0022]进一步,所述的存储模块,该模块主要功能是当机器人停止运动进行周围环境感知和自身定位时,存储经由FPGA模块控制,由里程计模块和图像采集模块采集获得的数据,在成功发送给远程数据处理主机后,清除数据,为下一次的数据存储做准备。
[0023]进一步,所述的USB通信模块,该模块主要功能是调试整个系统,判断系统是否处于异常状态,如出现异常,则根据USB读取的相应数据,判断出异常的模块。
[0024]进一步,所述无线通信模块,该模块主要的功能是实现视觉感知子系统和机器人运动子系统与远程数据处理主机的数据交互。
[0025]进一步,所述机器人运动平台采用双轮驱动的移动机器人。
[0026]进一步,所述里程计模块,该模块的主要功能是记录移动机器人的运动信息。
[0027]进一步,所述里程计模块为光电码盘,安装位置在双轮机器人的左右轮子上方。
[0028]进一步,所述的向目标位置移动3s,其中时间可以根据你想获得机器人位置的精度和建图的精度要求做相应的变化。
[0029]进一步,所述的特定标示物为房间中一些有代表性的物体。
[0030]进一步,所述的快速置信传播算法是在对图像全部像素点采用图模型建模时,求解每一个像素点视差最大概率取值的一种方法。
[0031]进一步,所述视差是指左右两幅图像中相同物体所对应的像素点横坐标值之差,该差值与摄像头和观测物体之间的距离成一定的比例关系,求出视差即可得到距离。
[0032]进一步,所述的视差和距离的比例关系由左右两个摄像头之间的距离决定。
[0033]进一步,所述的SIFT算法是特征提取的一种方法,可得到在远程数据处理主机中已存储的特定标示物在左右两幅图像中的位置。
[0034]进一步,所述的粒子滤波算法是采用概率统计的方法对机器人的位置进行建模,结合概率密度的采样方法,机器人的运动模型,机器人与标示物之间的距离信息连续的求解机器人的最大概率位置。
[0035]采用了上述技术方案,本发明具有以下优点和效果:
[0036](I)采用该方法可以充分利用视频传感器提供的丰富的环境信息,构建彩色三维环境地图,使构建出的地图的环境表达能力更强。
[0037](2)采用数据远程处理的方式,解决了算法复杂度高,实时性差的缺点,结合并行计算的相关方法还可以进一步的提高系统的实时性,故系统的可扩展性强。
[0038](3)本发明系统结构紧凑,可接入智能空间系统中。可根据相应的位置信息提供更多更准确的服务。
【专利附图】
【附图说明】
[0039]为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
[0040]图1为本发明所述移动机器人双目视觉定位与三维建图方法的系统结构图。
[0041]图2为本发明所述移动机器人双目视觉定位与三维建图方法的系统流程图。
【具体实施方式】
[0042]下面将结合附图,对本发明的优选实施例进行详细的描述。
[0043]图1为本发明所述移动机器人双目视觉定位与三维建图方法的系统结构图,包括以下模块:图像采集模块;FPGA模块;存储模块;USB通信模块;无线通信模块;机器人运动平台;里程计模块;其中FPGA模块与图像采集模块、存储模块、USB通信模块、无线通信模块、机器人运动平台、里程计模块相连。利用无线通信模块,将移动机器人的运动信息和左右两幅图像信息传送至远程数据处理主机即数据处理子系统,在远程数据处理主机上通过左右两幅图像的信息利用快速置信度传播(FastBe I i efPropagat ion)算法得到图像和机器人间的距离信息,并在远程数据处理主机中构建三维的环境地图,同时利用改进的SIFT算法对图像快速提取关键特征点,并与远程数据处理主机中存储的特定标示物图像特征点信息进行比对,实现图像的识别,进而根据里程计采集的运动信息、特定标示物的坐标位置、机器人与特定标志物的距离信息确定移动机器人的位置。
[0044]图2为本发明所述移动机器人双目视觉定位与三维建图方法的系统流程图,具体实现步骤如下:
[0045](I)在远程数据处理主机中选取若干个特定标示物的图像,提取其SIFT特征,存储在远程数据处理主机中。[0046](2)当启动机器人执行相应任务时,首先初始化移动机器人的位置坐标为(0,O),控制移动机器人向目标位置移动3s后,控制移动机器人停止移动。
[0047](2)通过FPGA读取移动机器人左右两轮的里程计信息,将其转存至存储模块中。
[0048](3)通过FPGA控制图像采集模块采集此刻左右摄像头的PAL信号数据,并进行视频解码和A/D转换,随后将其转存至存储模块中。
[0049](4)通过FPGA控制无线通信模块,将机器人当前位置下存储模块中的图像数据和里程计数据通过无线通信模块传给远程数据处理主机,传送成功后清除存储模块的数据。
[0050](5)首先图像全部像素点间的关系用图模型建模,对单一像素点的可能取值用概率模型建模,运用快速置信度传播算法中的迭代消息传递机制可以获得每一个像素点视差最大概率取值,通过该视差值即可得到图像和机器人间的距离信息,从而实现在远程数据处理主机中构建三维的环境地图;
[0051](6)利用改进的SIFT算法对当前图像快速提取关键特征点,并与远程数据处理主机中存储的特定标示物图像特征点信息进行比对,实现图像的识别;
[0052](7)根据里程计采集的运动信息、特定标示物的坐标位置、机器人与特定标志物的距离信息采用粒子滤波的方法确定移动机器人的位置。粒子滤波算法是采用概率统计的方法对机器人的位置进行建模,结合概率密度的采样方法,机器人的运动模型,机器人与标示物之间的距离信息连续的求解机器人的最大概率位置,从而实现机器人的定位。
[0053]最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
【权利要求】
1.一种室内移动机器人双目视觉定位与三维建图方法,其特征在于:包括以下模块: 模块一:图像采集模块;模块二 =FPGA模块;模块三:存储模块;模块四:USB通信模块;模块五:无线通信模块;模块六:机器人运动平台;模块七:里程计模块。
2.—种室内移动机器人双目视觉定位与三维建图方法,其特征在于:包括以下数据处理步骤: 步骤一:通过左右两幅图像的信息利用快速置信度传播(FastBeliefPropagation)算法得到图像和机器人间的距离信息,在远程数据处理主机中构建三维的环境地图; 步骤二:利用改进的SIFT算法对图像快速提取关键特征点,并与远程数据处理主机中存储的特定标示物图像特征点信息进行比对,实现图像的识别; 步骤三:根据里程计采集的运动信息、特定标示物的坐标位置、机器人与特定标示物的距离信息采用粒子滤波的方法确定移动机器人的位置。
3.根据权利要求2所述的室内移动机器人双目视觉定位与三维建图方法,其特征在于:步骤一中所述的快速置信度传播算法是在对图像全部像素点采用图模型建模时,求解每一个像素点视差最大概率取值的一种方法。
4.根据权利要求2所述的室内移动机器人双目视觉定位与三维建图方法,其特征在于:步骤二中所述的SIFT算法是特征提取的一种方法,可得到在远程数据处理主机中已存储的特定标示物在左右两幅图像中的位置。
5.根据权利要求2所述的室内移动机器人双目视觉定位与三维建图方法,其特征在于:步骤三中所述的粒子滤波算法是采用概率统计的方法对机器人的位置进行建模,结合概率密度的采样方法,机器人的运动模型,机器人与标示物之间的距离信息连续的求解机器人的最大概率位置。
【文档编号】G05D1/02GK103926927SQ201410184908
【公开日】2014年7月16日 申请日期:2014年5月5日 优先权日:2014年5月5日
【发明者】尹宏鹏, 柴毅, 姚聪 申请人:重庆大学