机器人研究的核心就是:导航定位、路径规划、避障、多传感器融合。定位技术有几种,不关心,只关心视觉的。视觉技术用到“眼睛”可以分为:单目,双目,多目、RGB-D,后三种可以使图像有深度,这些眼睛亦可称为VO(视觉里程计:单目or立体),维基百科给出的介绍:在机器人和计算机视觉问题中,视觉里程计就是一个通过分析处理相关图像序列来确定机器人的位置和姿态。 当今,由于数字图像处理和计算机视觉技术的迅速发展,越来越多的研究者采用摄像机作为全自主用移动机器人的感知传感器。这主要是因为原来的超声或红外传感器感知信息量有限,鲁棒性差,而视觉系统则可以弥补这些缺点。而现实世界是三维的,而投射于摄像镜头(CCD/CMOS)上的图像则是二维的,视觉处理的最终目的就是要从感知到的二维图像中提取有关的三维世界信息。 系统基本组成:CCD、PCI、PC及其外设等。 CCD/CMOS 一行硅成像元素,在一个衬底上配置光敏元件和电荷转移器件,通过电荷的依次转移,将多个象素的视频信号分时、顺序地取出来,如面阵CCD传感器采集的图像的分辨率可以从32×32到1024×1024像素等。 视频数字信号处理器 图像信号一般是二维信号,一幅图像通常由512×512个像素组成(当然有时也有256×256,或者1024×1024个像素),每个像素有256级灰度,或者是3×8bit,红黄兰16M种颜色,一幅图像就有256KB或者768KB(对于彩色)个数据。为了完成视觉处理的传感、预处理、分割、描述、识别和解释,上述前几项主要完成的数学运算可归纳为: (1)点处理常用于对比度增强、密度非线性较正、阈值处理、伪彩色处理等。每个像素的输入数据经过一定关系映射成像素的输出数据,例如对数变换可实现暗区对比度扩张。 (2)二维卷积的运算常用于图像平滑、尖锐化、轮廓增强、空间滤波、标准模板匹配计算等。若用M×M卷积核矩阵对整幅图像进行卷积时,要得到每个像素的输出结果就需要作M2次乘法和(M2-1)次加法,由于图像像素一般很多,即使用较小的卷积和,也需要进行大量的乘加运算和访问存储器。 (3)二维正交变换常用二维正交变换有FFT、Walsh、Haar和K-L变换等,常用于图像增强、复原、二维滤波、数据压缩等。 (4)坐标变换常用于图像的放大缩小、旋转、移动、配准、几何校正和由摄影值重建图像等。 (5)统计量计算如计算密度直方图分布、平均值和协方差矩阵等。在进行直方图均衡器化、面积计算、分类和K-L变换时,常常要进行这些统计量计算。 视觉导航定位系统的工作原理 简单说来就是对机器人周边的环境进行光学处理,先用摄像头进行图像信息采集,将采集的信息进行压缩,然后将它反馈到一个由神经网络和统计学方法构成的学习子系统,再由学习子系统将采集到的图像信息和机器人的实际位置联系起来,完成机器人的自主导航定位功能。 1)摄像头标定算法:2D-3D映射求参。 传统摄像机标定主要有 Faugeras 标定法、Tscai 两步法、直接线性变换方法、张正友平面标定法和 Weng迭代法。自标定包括基于 Kruppa 方程自标定法、分层逐步自标定法、基于绝对二次曲面的自标定法和 Pollefeys 的模约束法。视觉标定有马颂德的三正交平移法、李华的平面正交标定法和 Hartley 旋转求内参数标定法。 2)机器视觉与图像处理: a.预处理:灰化、降噪、滤波、二值化、边缘检测。。。 b.特征提取:特征空间到参数空间映射。算法有HOUGH、SIFT、SURF。 c.图像分割:RGB-HIS。 d.图像描述识别 3)定位算法:基于滤波器的定位算法主要有KF、SEIF、PF、EKF、UKF等。 也可以使用单目视觉和里程计融合的方法。以里程计读数作为辅助信息,利用三角法计算特征点在当前机器人坐标系中的坐标位置,这里的三维坐标计算需要在延迟一个时间步的基础上进行。根据特征点在当前摄像头坐标系中的三维坐标以及它在地图中的世界坐标,来估计摄像头在世界坐标系中的位姿。这种降低了传感器成本,消除了里程计的累积误差,使得定位的结果更加精确。此外,相对于立体视觉中摄像机间的标定,这种方法只需对摄像机内参数进行标定,提高了系统的效率。 定位算法基本过程: 简单的算法过程,可基于OpenCV进行简单实现。 输入 通过摄像头获取的视频流(主要为灰度图像,stereo VO中图像既可以是彩色的,也可以是灰度的 ),记录摄像头在t和t+1时刻获得的图像为It和It+1,相机的内参,通过相机标定获得,可以通过matlab或者opencv计算为固定量。 输出 计算每一帧相机的位置+姿态 基本过程 ● 获得图像It,It+1 ● 对获得图像进行畸变处理 ● 通过FAST算法对图像It进行特征检测,通过KLT算法跟踪这些特征到图像It+1中,如果跟踪特征有所丢失,特征数小于某个阈值,则重新进行特征检测 ● 通过带RANSAC的5点算法来估计两幅图像的本质矩阵 ● 通过计算的本质矩阵进行估计R,t ● 对尺度信息进行估计,最终确定旋转矩阵和平移向量 |