- 博客(67)
- 收藏
- 关注
转载 camera相机标定
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数(内参、外参、畸变参数)的过程就称之为相机标定(或摄像机标定)。标定方法:1、传统相机标定;2、非线性标定3、张正友标定介绍(张正友标定只考虑了径...
2019-11-11 17:54:57
479
转载 IMU误差模型和校准
IMU在校准过程中,加速度计和陀螺仪是分开校准,一般是先校准加速度计,然后利用准确的加速度计信息再来校准陀螺仪。IMU的误差来主要来自于三部分:包括噪声(Bias and Noise)、尺度因子(Scale errors)和轴偏差(Axis misalignments)。一、加速度的常规校准方法:1、常规校准方法:2、六面法校准加速度计:二、 陀螺仪校准1、Al...
2019-11-11 17:47:25
2468
原创 项目管理2019.7.14/10.25
断断续续的花了三个多月的时间,几经周折,项目管理终于告一段落。PMP考试知识点总结第一章总结: 引论1、项目集重点在“依赖关系”而项目组合重点在“战略和项目排序”。2、项目很多,但相互之间没有依赖,但需要对资源重要性进行排序,这是项目组合特征。项目集中的项目通过产生共同的结果或整体能力而相互联系,如果项目间的联系仅限于共享雇主、供应商、技术或资源,那么这些项...
2019-07-01 08:44:12
2143
原创 Kinect
一、Kinect结构:【三只眼睛】红外投影机、彩色摄像头、红外深度摄像头(自左往右) 各部分说明:(红外投影机:主动投射近红外光谱,照射到粗糙物体,或是穿透毛玻璃后,光谱发生扭曲,形成随机的反射斑点(散斑),进而被红外摄像头读取 彩色摄像头:用于拍摄视角范围内的彩色视频图像 红外摄像头:分析红外光谱,创建可视范围内的人体、物体的深度图像 以从激...
2019-06-26 09:14:51
691
转载 camera calibration及标定结果如何使用
https://blog.youkuaiyun.com/aoulun/article/details/78768570求内参和外参1、各个坐标系的定义1.1 像素坐标系:像素坐标就是像素在图像中的位置。1.2 图像坐标系:与像素坐标系在同一个平面,只是做了平移。为什么像素坐标系会在相机坐标系的前面呢,按道理说,相机坐标系是以相机的透镜中心为原点,那像素坐标系和图像坐标系为什么不在后面呢?——&...
2019-06-05 09:58:37
976
原创 从工程项目角度看一个移动机器人结构
1、头部;2、底盘/肢体结构/皮肤;3、android系统板;4、电机控制系统;5、SLAM算法系统;6、硬件设计/电源供电系统;7、语音系统/AI智能语音;8、后台系统(支付/数据库);9、物料采购;10、销售/定价;-------------------------------------------------1、结构设计并3D打印;2、双轮驱动底盘、平衡设计、...
2019-05-31 08:52:02
290
转载 starUML
转载:https://blog.youkuaiyun.com/zhouhao88410234/article/details/79777131StarUML官方下载地址: http://staruml.io/download当前有V2和V3两个版本,下载V2版本。然后按以下步骤:1、用UE编辑器打开 安装位置下/www/license/node/LicenseManagerDomain.js文件...
2019-05-09 10:19:21
220
原创 C++ 数据结构和算法
算法优化的本质:去冗余C++ / C 程序设计书单--1、 http://zh.lucida.me/blog/developer-reading-list/ 《程序员必读书单 1.0》 http://zh.lucida.me/blog/on-learning-algorithms/ 《我的算法学习之路》--2、《Cracking the coding interview》...
2019-04-09 10:24:27
492
转载 三维计算视觉研究内容
三维计算视觉研究内容包括: 三维匹配 多视图三维重建 SLAM 目标识别 形状检测与分类 语义分类 立体视觉与立体匹配 ZNCC SFM1、点云滤波方法(数据预处理): 双边滤波、高斯滤波、条件滤波、直通滤波、随机采样一致性滤波。 VoxelGrid2、关键点 ISS3D、Harris3D、NARF...
2019-04-02 11:01:15
394
1
转载 VSLAM算法(三): 3D-3D 的ICP求解方法:SVD 及 BA优化算法
3D-3D模型:1、根据两张图像的特征点(orb特征点)求出匹配点;2、根据obr特征的深度计算 空间左边点位置 P1,P2 ;3、根据 SVD 方法,计算相机 位姿 ( R , t );4、用 BA 方法 优化 位姿( R , t );5、验证 p1 = R*p2 + t//--1、根据两张图像的特征点(orb特征点)求出匹配点; find_feature_mat...
2019-03-28 15:37:24
1478
转载 VSLAM算法(二):PnP求解 3D-2D 相机位姿及 BA优化算法
BA优化模型如下:优化变量(空间位置P和相机位姿),边(P在相机平面的投影像素坐标) // 调用OpenCV 的 PnP 求解,可选择EPNP,DLS等方法 solvePnP ( pts_3d, pts_2d, K, Mat(), r, t, false ); cv::Rodrigues ( r, R ); // r为旋转向量形式,用Rodrigues公...
2019-03-27 11:41:09
5108
原创 VSLAM算法(一):使用2D-2D的特征匹配估计相机运动
通过匹配得到的特征点对(matches), 通过函数 findEssentialMat() 【 findHomography() ,findFundamentalMat(),】计算得到 矩阵E,变换得到 ( R、t ) ,最后在相机坐标系下验证堆积约束 P^ *E*P = 0。/*****************************************...
2019-03-26 08:59:26
1656
2
转载 PCL系列
https://blog.youkuaiyun.com/xuezhisdc/article/details/510123001、PCL系列——读入PCD格式文件操作2、PCL系列——将点云数据写入PCD格式文件3、PCL系列——拼接两个点云4、PCL系列——从深度图像(RangeImage)中提取NARF关键点5、PCL系列——如何可视化深度图像6、PCL系列——如何使用迭代最近点法(ICP)...
2019-03-25 18:26:48
549
原创 ORB-SLAM2流程
https://blog.youkuaiyun.com/u010128736/article/details/53157605 梳理了一下ORB-SLAM2 的流程:一、数据结构 enum eSensor{ MONOCULAR=0, STEREO=1, RGBD=2 };从...
2019-03-11 17:49:20
1257
原创 ORB_slam 利用opencv提取特征点与匹配
步骤:1、imread()读取图片;2、特征点检测器:检测每个图片的 Oriented FAST 角点 detector->detect();3、根据各图片角点位置计算 BRIEF 描述子descriptor->compute ( img_1, keypoints_1, descriptors_1 );4、计算两幅图像的 Hamming 距离matcher->...
2019-03-01 11:57:21
1228
原创 编译Pangolin错误
Pangolin/include/mpark/variant.hpp:1083:68: error: no matching function for call to ‘invoke(mpark::detail::visitation::variant::value_visitor<pangolin::ToGlGeometryElement(const pangolin::Geometry:...
2019-02-22 11:48:17
4206
4
转载 Ceres 入门
https://blog.youkuaiyun.com/cqrtxwd/article/details/78956227Ceres求解的最小二乘问题的一般形式:误差的平方和使用Ceres求解非线性优化问题,一共分为三个部分:1、 第一部分:构建cost fuction,即代价函数,也就是寻优的目标式。这个部分需要使用仿函数(functor)这一技巧来实现,做法是定义一个cost functi...
2019-02-20 18:47:15
361
转载 Eigen基础小结
连载:https://blog.youkuaiyun.com/xuezhisdc/article/details/54619853一、Eigen基础1、使用命名空间:using namespace Eigen;2、Matrix<double, 3, Dynamic> B; // Fixed rows, dynamic cols. 需要使用: B.resize(2,...
2019-02-19 16:02:18
818
转载 旋转矩阵,旋转向量和四元数的初始化和相互转换的实现
https://blog.youkuaiyun.com/u011092188/article/details/77430988
2019-02-14 13:57:45
1340
原创 G2O入门
G2O优化方法使用流程:1、构建模型的顶点: oplusImpl( const double* update ) ——》顶点的更新函数2、构建模型的边:void computeError() ——》计算曲线模型误差,边的误差计算函数,取出边所连接的顶点的当前估计值,与该顶点的观测值进行比较3、生...
2019-02-13 16:32:37
640
原创 ubuntu下Kdevelop的使用
一、下载安装Kdevelop:sudo apt-get install Kdevelop二、一个工程中要有源文件和对应的 CMakeLists.txt ,在ubuntu应用程序中输入Kdevelop,打开IDE1、打开一个工程: ——》“打开工程”——》打开工程所在的目录——》在 名称(N) 选项中,选中 CMakeLists.txt——》finish 即可打开一个工程...
2019-01-30 13:57:17
1001
原创 opencv安装及测试应用
1、安装参考:https://blog.youkuaiyun.com/cocoaqin/article/details/78163171 2、测试用高博的ch5代码例子: 在/ch5/joinMap 目下下创建 build目标,然后 cmake .. &make,编译出二进制:joinMap* 在pose.txt所在的文件目录/ch5/jo...
2019-01-29 18:00:15
852
转载 视觉SLAM 综述
转自:https://blog.youkuaiyun.com/darlingqiang/article/details/78901022 https://blog.youkuaiyun.com/Darlingqiang/article/details/78840931 SLAM一般处理流程包括track和map两部分。所谓的track是用来估计相机的位姿,也叫front-end。而map...
2019-01-21 17:38:46
454
原创 Navigation之 nav_core
https://blog.youkuaiyun.com/weixin_37058227/article/details/79368234 nav_core包 包含了导航功能包集的关键接口。nav_core 使所有规划器(planner)和修复行为机制可以插件的方式在move_base node中使用,且必须继承这些接口,接口如下: 1、 nav_core::BaseG...
2019-01-15 17:53:09
619
原创 Navigation之move_base
https://blog.youkuaiyun.com/x_r_su/article/details/53376245 1、move_base包采用action机制接受导航goal,然后移动机器人底座到达指定的goal。 这个过程中move_base node将同时利用局部规划器和全局规划器来完成导航任务,支持任何一种继承了nav_core包中n...
2019-01-15 16:27:08
354
原创 Navigation之global planner
https://blog.youkuaiyun.com/u013158492/article/details/50504963对于global planner,可以采用以下三种实现之一: "navfn/NavfnROS","global_planner/GlobalPlanner","carrot_planner/CarrotPlanner"最终调用算法核心部分,然后介绍这四种算法的实现:A*, Di...
2019-01-15 15:56:05
609
原创 navigation之costmap_2d
https://blog.youkuaiyun.com/weixin_37058227/article/details/79068900 costmap_2d这个包提供了一种2D代价地图的实现方案,该方案利用输入的传感器数据,构建2D或者3D代价地图,并根据占用网格和用户定义的膨胀半径计算2D代价地图。 以层的概念来组织图层,用户可以根据需要自己配置,默认的层由static_layer...
2019-01-15 15:40:41
427
原创 Navigation之 clear_costmap_recovery
https://blog.youkuaiyun.com/wuliyanyan/article/details/60570566 调用这个包,会将global_costmap和local_costmap中给定半径(reset_distance默认值3.0)范围之外的区域进行清理,即将栅格占有或者非占有状态清除为未知。 void ClearCostmapRecovery::c...
2019-01-15 14:53:45
826
原创 Navigation之 carrot_planner
https://www.ncnynl.com/archives/201708/1904.html解决的问题: 如下图所示,当指定的运动目标 goal 在障碍区内时,怎么让机器人运动到 目标位置呢?——》找到离目标位置考经的点 goal,然后让机器人运动到这个位置,不至于碰到 障碍区。 ...
2019-01-15 14:29:07
1306
原创 Navigation之DWA
https://blog.youkuaiyun.com/weixin_42048023/article/details/83989971、nav_core(namespace nav_core里定义了BaseLocalPlanner类)——>base_local_planner——>dwa_local_planner(调用base_local_planner里面定义的接口函数) 在ba...
2019-01-15 11:56:40
456
原创 Navigation之AMCL
1、https://blog.youkuaiyun.com/u013834525/article/details/801665522、https://blog.youkuaiyun.com/ethan_guo/article/details/818090543、https://blog.youkuaiyun.com/chenxingwangzi/article/details/500384134、AMCL算法流程如下:h...
2019-01-14 17:53:20
366
原创 Dijkstra算法和A*、D*算法
目前ROS中可以使用的global planner主要包括:Dijkstra,A*和D*算法。local planner主要有:dwa、trajectory、teb和eband等。目前、teb local planner效果可能会好点。一、Dijkstra算法 http://blog.51cto.com/ahalei/1387799 Dijkstra算法也即:单源最短路径 ...
2019-01-03 14:01:19
14393
1
转载 三维激光slam——LOAM 流程分析
https://blog.youkuaiyun.com/liuyanpeng12333/article/details/82718277 论文提出了一种方法可以同时获得低漂移和低复杂度,并且不需要高精度的测距和惯性测量。核心思想是将定位和建图的分割,通过两个算法:一个是执行高频率的里程计但是地精度的运动估计(定位),另一个算法在一个数量级低的频率执行匹配和注册点云信息(建图和校正里程计)。将这...
2019-01-02 09:31:33
1962
原创 cartographer源码分析
重新捋一捋cartographer的代码:一、cartographer的代码分为两部分:ROS中的cartographer_ROS包也是调用了cartographer的算法,cartographer的代码分为两部分:代码从博客https://www.cnblogs.com/hitcm/p/5939507.html中的github下载:(1)https://github....
2018-12-27 09:59:43
1971
1
原创 gmapping源码解读
目前已经有很多博客分享了gmapping的源码分析,之前我也看过几遍,不过一直没有记录,在此记录一下。从应用gmapping包来讲,ROS中的slam_gmapping包也是调用了openslam_gmapping开源算法,gmapping的代码分为两部分:https://github.com/ros-perception/openslam_gmappinghttps://github...
2018-12-20 14:58:55
4062
2
转载 BA图优化算法的演进
https://blog.youkuaiyun.com/OptSolution/article/details/64442962BA的本质是一个优化模型,其目的是最小化重投影误差。博文详细介绍了 光束法平差 BA(Bundle Adjustment)优化模型的求解算法的演进。梯度下降法——》Newton型方法——》Gauss-Newton方法——》LM方法及所涉及的:——》稠密矩阵的最小二...
2018-12-14 18:10:12
7741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人