一种基于SLAM的视觉感知建图算法及移动机器人制造技术

技术编号:23150890 阅读:23 留言:0更新日期:2020-01-18 14:09
本发明专利技术公开了一种基于SLAM的视觉感知建图算法及移动机器人,所述的算法包括获取待建图区域环境的图像数据和驱动轮的转速数据;对图像数据中的彩色图像进行特征提取;转速数据根据运动学方程计算处理后,利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿;对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,利用关键帧的彩色图像对环境中的物体进行识别和分类,将分类出的动态物体从关键帧中进行删除,对静态物体进行稀疏化处理,并做局部回环进行校正;利用关键帧中彩色图像与对应的深度图像的像素点作为地图点,通过八叉树存储地图点并进行建图。

A slam based visual perception mapping algorithm and mobile robot

【技术实现步骤摘要】
一种基于SLAM的视觉感知建图算法及移动机器人
本专利技术涉及视觉感知及移动机器人领域,具体涉及一种基于SLAM的视觉感知建图算法及移动机器人。
技术介绍
计算机视觉作为人工智能的重要分支,已经从理论逐步走到了实际生产应用中,广泛应用在人脸识别系统、无人驾驶汽车、无人机等高科技产品中。而SLAM技术极大促进了机器人视觉感知技术的发展,使得机器人能够像人类一样,用眼睛探索周围环境事物并捕捉信息,从而“认识”自己所处的环境。现有技术中提出一些SLAM的改进算法或定位算法,但功能不够完善,比如,在实际的机器人及空间环境内,其方案不能做出大范围的地图构建,存在较大漂移,对位姿的估计也不够准确,同时,现有方案需要在完全是静态物体的环境中才能完成地图构建。
技术实现思路
本专利技术的目的是提供一种基于SLAM的视觉感知建图算法及移动机器人,利用SLAM技术实现机器人在位置环境中构造语义地图并实时定位,同时准确估算自己的位姿。为了实现上述任务,本专利技术采用以下技术方案:一种基于SLAM的视觉感知建图算法,包括:利用深度相机获取待建图区域环境的图像数据,并通过编码器获取机器人驱动轮的转速数据;对所述图像数据中的彩色图像进行特征提取;转速数据根据运动学方程计算处理后,利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿;对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,利用关键帧的彩色图像对环境中的物体进行识别和分类,将分类出的动态物体从关键帧中进行删除,对静态物体进行稀疏化处理,并做局部回环进行校正;利用关键帧中彩色图像与对应的深度图像的像素点作为地图点,通过八叉树存储地图点并进行建图。进一步地,所述的转速数据根据运动学方程计算处理,具体包括:根据机器人的中心在相邻时刻的移动距离,以及机器人相邻时刻的变化角度值,表示出任意时刻机器人的位姿;给定机器人起始位置的初始协方差矩阵的初值,通过t时刻的协方差矩阵,计算出机器人的左、右驱动轮运动后产生的协方差矩阵,并通过传播误差定律,得出t+1时刻的位姿协方差矩阵,由此得到机器人从当前帧到关键帧的位姿变换表示形式。进一步地,所述的利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿,包括:定义不同的坐标系来表示机器人移动位姿变换,包括世界坐标系、机器人坐标系以及相机坐标系,并计算机器人坐标系中的坐标到世界坐标系中坐标的变换矩阵,由此可得到初始化的机器人位姿;根据相机投影模型,得到投影像素点在图像中的位置表示;根据局部地图点以及其投影服从高斯分布,得到投影像素点的协方差矩阵;通过投影像素点的协方差矩阵可以得到匹配边界值,在边界值的范围内匹配到正确的2D点坐标,再利用当前帧图像数据中的深度图像中获取的深度值,将彩色图像中的2D点转换为3D点,以实现重投影过程;将当前帧位姿的求解转化为最小化编码器误差和重投影误差,由此得到当帧的位姿。进一步地,所述的将当前帧位姿的求解转化为最小化编码器误差和重投影误差,表示为:其中,Eenc表示编码器误差,Ei,proj表示重投影误差,R指实数域,分别由以下公式计算:其中,ρ(·)为Huber鲁棒性损失函数,F(·)是将矩阵转化向量的算子,是特征协方差矩阵,ee是编码器误差,上标e代表编码器数据,是重投影误差,上标v代表图像数据,下标i表示第i个重投影点;为编码器观测值的协方差矩阵,为编码器观测的机器人位姿,为机器人坐标系到世界坐标系的变换矩阵在关键帧下的描述,机器人坐标系到世界坐标系的变换矩阵在当前帧下的描述,wpi表示第i个局部地图点,u′i表示在边界值的范围内匹配到正确的2D点坐标。进一步地,所述的对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,包括:条件1:相机获取的当前帧与上一帧关键帧时间间隔有1秒时;条件2:相机获取的当前帧相对上一帧关键帧移动0.2m或旋转0.5°。满足上述条件之一的当前帧将作为关键帧保存。进一步地,所述的利用关键帧的彩色图像对环境中的物体进行识别和分类,包括:预先利用SegNet网络进行预训练,将训练好的模型导入SLAM系统,利用模型,将环境中的物体进行识别,以区分动态物体和静态物体;利用二值化对动态物体进行处理,并进行膨胀处理和开、闭运算,以精准提取目标。进一步地,所述的对静态物体进行稀疏化处理,包括:记最新的一个关键帧观测方程记为:z=h(x,y)其中,h(·)表示观测方程,x表示此时相机的位姿,即相机位姿R,t,转化为对应的李代数为ξ;y表示路标,即三维点p,三维点由彩色图像的特征点加上对应的深度值组组成,观测数据是像素坐标[us,vs]T是观测点投影到平面图上的横纵坐标;由此,得出观测误差e:e=z-h(ξ,p)考虑不同时刻的观测量,对误差添加下标,设zij为在位姿ξi处观察路标pj产生的数据,eij为对应观测的误差,若步骤7处理后产生的所有关键帧记录有m个位姿,n个路标,则整体的代价函数为:将上式记为Eij,稀疏化问题转化为利用最小二乘法求解Eij。进一步地,对所述图像数据中的彩色图像进行特征提取,包括:利用FAST角点提取算法找到彩色图像中的角点作为特征点,利用灰度质心法为特征点加上方向,使特征点具有旋转不变性形;再通过高斯金字塔算法,对彩色图像做不同尺度的高斯模糊并对彩色图像进行降采样处理,使特征点具有尺度不变性,再以每一个特征点为中心,15个像素为半径的圆内选取256个像素点对建立描述子,比较每组点对A和B的灰度值,A大于B则为1,A小于B则为0,256个点对构成二进制编码作为描述子,从而完成图像特征提取。一种基于SLAM的视觉感知移动机器人,包括机器人本体,以及:数据采集及预处理模块,用于利用深度相机获取待建图区域环境的图像数据,并通过编码器获取机器人驱动轮的转速数据;对所述图像数据中的彩色图像进行特征提取;数据融合模块,用于将转速数据根据运动学方程计算处理后,利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿;语义模块,用于对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,利用关键帧的彩色图像对环境中的物体进行识别和分类,将分类出的动态物体从关键帧中进行删除,对静态物体进行稀疏化处理,并做局部回环进行校正;建图模块,用于利用关键帧中彩色图像与对应的深度图像的像素点作为地图点,通过八叉树存储地图点并进行建图。进一步地,所述的机器人本体,包括:机器人骨架,机器人骨架包括在竖直方向上依次设置的三块支撑板,相邻的支撑板之间通过螺杆连本文档来自技高网...

【技术保护点】
1.一种基于SLAM的视觉感知建图算法,其特征在于,包括:/n利用深度相机获取待建图区域环境的图像数据,并通过编码器获取机器人驱动轮的转速数据;对所述图像数据中的彩色图像进行特征提取;/n转速数据根据运动学方程计算处理后,利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿;/n对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,利用关键帧的彩色图像对环境中的物体进行识别和分类,将分类出的动态物体从关键帧中进行删除,对静态物体进行稀疏化处理,并做局部回环进行校正;/n利用关键帧中彩色图像与对应的深度图像的像素点作为地图点,通过八叉树存储地图点并进行建图。/n

【技术特征摘要】
1.一种基于SLAM的视觉感知建图算法,其特征在于,包括:
利用深度相机获取待建图区域环境的图像数据,并通过编码器获取机器人驱动轮的转速数据;对所述图像数据中的彩色图像进行特征提取;
转速数据根据运动学方程计算处理后,利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿;
对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,利用关键帧的彩色图像对环境中的物体进行识别和分类,将分类出的动态物体从关键帧中进行删除,对静态物体进行稀疏化处理,并做局部回环进行校正;
利用关键帧中彩色图像与对应的深度图像的像素点作为地图点,通过八叉树存储地图点并进行建图。


2.如权利要求1所述的基于SLAM的视觉感知建图算法,其特征在于,所述的转速数据根据运动学方程计算处理,具体包括:
根据机器人的中心在相邻时刻的移动距离,以及机器人相邻时刻的变化角度值,表示出任意时刻机器人的位姿;
给定机器人起始位置的初始协方差矩阵的初值,通过t时刻的协方差矩阵,计算出机器人的左、右驱动轮运动后产生的协方差矩阵,并通过传播误差定律,得出t+1时刻的位姿协方差矩阵,由此得到机器人从当前帧到关键帧的位姿变换表示形式。


3.如权利要求1所述的基于SLAM的视觉感知建图算法,其特征在于,所述的利用通过最小化编码器和重投影误差的方法,将转速数据与所述图像数据中的深度图像一起进行融合并优化,得到机器人的当前帧位姿,包括:
定义不同的坐标系来表示机器人移动位姿变换,包括世界坐标系、机器人坐标系以及相机坐标系,并计算机器人坐标系中的坐标到世界坐标系中坐标的变换矩阵,由此可得到初始化的机器人位姿;
根据相机投影模型,得到投影像素点在图像中的位置表示;根据局部地图点以及其投影服从高斯分布,得到投影像素点的协方差矩阵;通过投影像素点的协方差矩阵可以得到匹配边界值,在边界值的范围内匹配到正确的2D点坐标,再利用当前帧图像数据中的深度图像中获取的深度值,将彩色图像中的2D点转换为3D点,以实现重投影过程;
将当前帧位姿的求解转化为最小化编码器误差和重投影误差,由此得到当帧的位姿。


4.如权利要求3所述的基于SLAM的视觉感知建图算法,其特征在于,所述的将当前帧位姿的求解转化为最小化编码器误差和重投影误差,表示为:



其中,Eenc表示编码器误差,Ei,proj表示重投影误差,R指实数域,分别由以下公式计算:






其中,ρ(·)为Huber鲁棒性损失函数,F(·)是将矩阵转化向量的算子,是特征协方差矩阵,ee是编码器误差,上标e代表编码器数据,是重投影误差,上标v代表图像数据,下标i表示第i个重投影点;为编码器观测值的协方差矩阵,为编码器观测的机器人位姿,为机器人坐标系到世界坐标系的变换矩阵在关键帧下的描述,机器人坐标系到世界坐标系的变换矩阵在当前帧下的描述,wpi表示第i个局部地图点,u′i表示在边界值的范围内匹配到正确的2D点坐标。


5.如权利要求1所述的基于SLAM的视觉感知建图算法,其特征在于,所述的对机器人在待建图区域行走时获取的当前帧图像数据进行筛选,得到关键帧,包括:
条件1:相机获取的当前帧与上一帧关键帧时间间隔...

【专利技术属性】
技术研发人员:李丰蔡述庭陈文峰徐伟锋
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1