视觉SLAM
视觉SLAM学习
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
南山二毛
怕什么真理无穷,进一寸有一寸的欢喜。
展开
-
机器人视角下的局部路径规划与避障碍
随着3D相机的普及和3D激光传感器价格的降低,机器人依靠3D传感器视觉避障和路径规划方案逐渐成为趋势。近期采用3D相机进行了路径规划的仿真和实测。蓝色路标点表示机器人需要经过的waypoints机器人眼中的世界黄线为机器人深度相机视角,黑色为未知区域,绿色为障碍物,蓝色为空闲区域膨胀后的局部地图机器人逐渐靠近目标物...原创 2019-12-27 19:47:16 · 2889 阅读 · 3 评论 -
PL-VIO数据集测试与相机测试
测试的EuRoC数据集:MH_02_easy.bagroslaunch plvio_estimator euroc_fix_offline.launch roslaunch plvio_estimator vins_rviz.launch rosbag play -r 0.2 YOUR_PATH_TO_DATASET/MH_02_easy.bag 提取的线特征提取的点特征同时提取...原创 2019-12-05 15:44:36 · 3176 阅读 · 6 评论 -
(每日一读2019.10.27)多状态约束的卡尔曼滤波的视觉辅助惯性导航(MSCKF)
摘要本文提出了一种基于扩展卡尔曼滤波(ekf)的实时视觉辅助惯性导航算法。这项工作的主要贡献是推导了一个测量模型,该模型能够表达从多个相机姿态观察静态特征时产生的几何约束。这种测量模型不需要在ekf的状态向量中包含3d特征位置,并且在线性化误差范围内是最优的。我们提出的视觉辅助惯性导航算法的计算复杂度仅在特征数量上是线性的,并且能够在大规模真实世界环境中进行高精度姿态估计。该算法的性能在大量的实...原创 2019-10-27 23:50:02 · 3383 阅读 · 0 评论 -
(每日一读2019.10.25)一种基于通用优化方法的多传感器局部里程计估计框架(VINS-Fusion)
摘要为了提高机器人的鲁棒性和自主性,越来越多的传感器被安装在机器人上。我们已经看到了不同平台上安装的各种传感器套件,例如地面车辆上的立体摄像机、手机上带有IMU(惯性测量单元)的单目摄像机以及空中机器人上带有IMU的立体摄像机。虽然过去已经提出了许多状态估计算法,但它们通常应用于单个传感器或特定的传感器套件。它们中很少有能用于多传感器的情况。本文提出了一种通用的基于优化的多传感器里程估计框架。在...原创 2019-10-25 00:11:02 · 2268 阅读 · 0 评论 -
(每日一读2019.10.24)一种基于通用优化方法的多传感器全局里程计估计框架(VINS-Fusion)
参考博文:https://blog.csdn.net/qq_41839222/article/details/87860819https://blog.csdn.net/weixin_41843971/article/details/86537228摘要精确的状态估计是自主机器人的一个基本问题。为了实现局部精确和全局无漂移状态估计,通常将具有互补特性的多个传感器融合在一起。**局部传感器(...原创 2019-10-24 02:27:35 · 2237 阅读 · 0 评论 -
(每日一读2019.10.19)基于移动平台的激光雷达点云投影到相机图像上的不确定性估计
原论文:摘要结合多传感设备以实现高级的感知能力是自动驾驶汽车导航的关键要求。传感器融合用于获取有关周围环境的丰富信息。摄像头和激光雷达传感器的融合可获取精确的范围信息,该信息可以投影到可视图像数据上。这样可以对场景有一个高层次的认识,可以用来启用基于上下文的算法,例如避免碰撞更好的导航。组合这些传感器时的主要挑战是将数据对齐到一个公共域中。由于照相机的内部校准中的误差,照相机与激光雷达之间的外...原创 2019-10-20 23:06:00 · 2549 阅读 · 1 评论 -
(每日一读2019.10.17)基于SE(2)-XYZ约束的地面车辆视觉里程计定位与地图构建
论文:pdf中文下载地址:代码下载地址:code原创 2019-10-17 17:20:16 · 3995 阅读 · 0 评论 -
QT_visp显示
开源代码:https://github.com/MRwangmaomao/QT_ROS_Visp_kinectV2_platformCMakeLists.txt文件中:…find_package(VISP REQUIRED)…include_directories( include ${VISP_INCLUDE_DIRS} ${roscpp_INCLUDE_DIRS} )…targ...原创 2019-06-01 16:31:38 · 1884 阅读 · 0 评论 -
视觉VIO--1.图像处理前端
总体流程读取图像(控制接收图像的时序和频率)提取特征(初始化和光流跟踪)根据随机抽样一致性去除外点。设置图像掩模版去除位于图像边缘的角点,在感兴趣区域内计算Harris角点去除畸变,将一幅图像提取的对应两个角点的像素坐标,id,光流速度push到一个image对象中。在滑动窗口中进行图像的sfm初始化初始后成功后后续不断进行三角化。读取图像读取第一幅图形不做处理。控制发布图像...原创 2019-08-05 22:09:10 · 2387 阅读 · 0 评论 -
视觉VIO--2.IMU预积分
IMU预积分的作用是计算出IMU数据的观测值(就是IMU预积分值)以及残差的协方差矩阵和雅各比矩阵。void System::PubImuData(double dStampSec, const Eigen::Vector3d &vGyr, const Eigen::Vector3d &vAcc){ shared_ptr<IMU_MSG> imu...原创 2019-08-07 10:24:38 · 2201 阅读 · 0 评论 -
卡尔曼滤波,扩展卡尔曼滤波公式参数意义
卡尔曼滤波卡尔曼滤波算法分为两步:预测和更新预测:根据上一时刻(k-1时刻)的后验估计值来估计当前时刻的状态,得到k时刻的先验估计值。(时间更新方程或预测方程)更新:使用当前时刻的测量值来更正预测阶段估计值。(测量更新方程或校正方程)卡尔曼滤波器时间更新方程:1、k-1和k:分别代表对应时刻的后验状态估计,是最优估计2、上面带横线的k-1和k:代表滤波的中间计算结果,根据上一时刻的最...原创 2019-08-19 13:12:01 · 3976 阅读 · 1 评论 -
视觉VIO--3.vinsmono中残差构建
原创 2019-09-07 11:32:27 · 2327 阅读 · 0 评论 -
视觉VIO--5.LM和Dogleg的对比与改进
题目1a. 选用更优的LM策略,使得VINS-Mono在MH-05数据集上收敛速度更快或者精度更高b. 实现dog-leg算法替换LM算法,并测试替换后的VINS-Mono在MH-05上算法精度LM算法流程图初始化LM参数normal equation求解更新阻尼因子解体思路:滑动优化过程中,特别是滑动窗中关键帧数量稳定时,margin掉一帧和新增一帧,优化问题的结构不会产生很大变...原创 2019-09-21 22:14:31 · 4237 阅读 · 1 评论 -
使用KinectV2制作自己的数据集
在跑slam时,每次都要拿着相机测试,比较麻烦,而且在跑稠密建图时相邻帧之间的耗时很久,不适合实时测试。需要将整个轨迹的照片保存下来离线运行。kinectV2深度相机可以生成RGB彩图和深度图,我们可以通过采集照片生成类似于TUM形式的数据集。TUM数据集主要包括彩图文件夹,深度图文件夹,rgb.txt,depth.txt,associate.txt。在运行slam时,先读取associate...原创 2018-12-25 23:02:30 · 10430 阅读 · 42 评论 -
SLAM环境配置--一键安装Opencv2.4脚本
直接运行sh opencv_install.sh即可成功安装opencv2#!/bin/bashsysInstall='apt-get'echo "安装unzip" sudo apt-get --yes --force-yes install unzip echo "安装cmake" sudo apt-get --yes --force-yes install cmake e...原创 2018-09-23 17:16:56 · 1853 阅读 · 0 评论 -
SLAM环境配置--一键安装ROS脚本
当我们的系统出了问题时,需要重新配置环境,这样是一个很繁琐的过程,所以如果把这些步骤写到脚本里,直接运行shell脚本进行安装就会方便很多。ubuntu版本:14.05ROS版本:indgo#!/bin/bash # ROS + Dependencies Installation# v 1.0# writer: wang peirongecho "Beginning ROS Inst...原创 2018-09-23 17:11:33 · 2690 阅读 · 0 评论 -
SLAM环境配置--一键配置kinect
这里主要安装了libfreenect2 驱动和iai_kinect的ROS包。#!/bin/bash# Kinect libfeenect iai_kinect # v 0.36# writer: Wang Pseirongcur_dir=$(pwd)echo "进入kinect_install脚本"#下载 libfreenect2 源码echo "开始下载libfreenec...原创 2018-09-23 17:18:29 · 1894 阅读 · 0 评论 -
SLAM-gmappig+turtlebot测试
之前测试了一下gmapping,主要是需要自己写一个launch文件。操作系统:ubuntu14+indgo硬件平台:turtlebot2+kinect2<launch> <!-- 3D sensor --> <arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"/> <!-- ...原创 2018-09-23 21:18:59 · 1845 阅读 · 0 评论 -
机器人路径规划算法
参考:https://v.qq.com/x/page/n0506whksxs.html原创 2018-09-25 15:24:09 · 14236 阅读 · 0 评论 -
ORB_SLAM2--TrackWithMotionModel()
根据运动模型进行位姿计算,完成追踪。step1首先根据上一帧的位姿和上一帧相机运动的速度来估计当前位姿。mCurrentFrame.SetPose(mVelocity*mLastFrame.mTcw);将当前帧的初始位姿设为上一帧位姿乘上一帧位姿的变化速度,得到当前的R,Tstep2通过投影的方式匹配当前帧和上一帧,并追踪上一帧的地图点int nmatches = matcher.Se...原创 2018-10-31 23:11:24 · 2906 阅读 · 0 评论 -
ORBSLAM2--加载数据集
ifstream是操作文件的输入流类。创建一个读取文件的fAssociation对象。ifstream::open的声明为:void open (const char* filename, ios_base::openmode mode = ios_base::in);需要一个char *型的指针,strAssociationFilename.c_str()的作用是转换为一个和C语言类...原创 2018-10-30 11:50:28 · 2325 阅读 · 0 评论 -
ORB_SLAM2--检查是否产生了回环
step1首先从队列中取出一个关键帧。提取关键帧前锁住回环检测队列,防止被修改,然后使用队列中的头帧作为当前的关键帧。设置当前关键帧不可被擦除。{ unique_lock<mutex> lock(mMutexLoopQueue); mpCurrentKF = mlpLoopKeyFrameQueue.front(); mlpLoopKeyFrameQueue...原创 2018-11-02 09:17:46 · 2632 阅读 · 0 评论 -
ORB_SLAM2--计算每一个回环候选关键帧与当前关键帧之间的相似矩阵
在确认回环存在之后,需要计算出每一个回环候选关键帧与当前关键帧之间的相似矩阵[sR|t]。对于双目和RGBD来说s=1.step1初始化当前帧和候选关键帧的相似矩阵求解器,计算匹配地图点,取消回环关键帧标志变量的赋初值。 通过BOW进行匹配,如果改帧的匹配特征点少于20,则直接删除。 for(int i=0; i&lt;nInitialCandidates; i++) { Key...原创 2018-11-02 10:22:55 · 4278 阅读 · 0 评论 -
运行VINS-Mono没有轨迹的原因
1 代码原因最近这一周(2018年12月1日起)测试估计很多人都会遇到轨迹没有出现,vins_estimator报错的问题。报错如下图所示。解决办法:https://github.com/HKUST-Aerial-Robotics/VINS-Mono/issues/250换一个之前版本的(18年8月17日那次提交的可以用)。在VINS-Mono目录下执行git checkout b63...原创 2018-12-07 09:07:25 · 5091 阅读 · 10 评论 -
PCL笔记
文章目录PCL中常用数据结构pcl::PointCloudpcl::PointXYZpcl::PointXYZIpcl::PointXYZRGBpcl::PCLPointCloud2相互装换滤波 filterPassThroughPCL中常用数据结构pcl::PointCloudPointCloud类包含以下成员变量:注意PointCloud模板类是点云类,其是由很多个点组成的。widt...原创 2018-12-28 23:45:24 · 2312 阅读 · 2 评论 -
SLAM环境配置--一键配置完成ORBSLAM2+ROS+kinectV2测试
运行安装脚本#!/bin/bashsudo apt-get --yes --force-yes install libglew-devsudo apt-get --yes --force-yes install libboost-dev libboost-thread-dev libboost-filesystem-devsudo apt-get --yes --force-yes ...原创 2018-09-23 17:40:50 · 2580 阅读 · 0 评论