自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chengwei0019

学无止境

  • 博客(108)
  • 资源 (28)
  • 收藏
  • 关注

原创 李群李代数,扰动求导个人总结

李群李代数及扰动求导个人总结

2022-06-10 10:51:53 324 1

原创 [开源]超全ICP实现,g2o,ceres,G-N,SVD等

整理了一下各种ICP实现方式,包括高斯牛顿法求解,SVD求解,ceres求解,g2o求解,还包含了一些开源库的测试,如icp,ndt,sicp,ndt_cpu等方法;代码已开源。

2022-05-24 18:11:50 1011

原创 UWB和lidar坐标系下轨迹对齐[附源码]

UWB和lidar坐标系下轨迹对齐,利用SVD求解,对齐两组轨迹,ICP基础知识。

2022-05-17 14:18:17 759

原创 3D环境中的自适应粒子滤波[ amcl-3d]

先占坑,有空填。

2021-09-01 09:21:11 1344 4

原创 realsense435i运行vins-mono,标定部分

相机标定1.安装kalibr;参考:https://blog.csdn.net/wangbaodong070411209/article/details/112248834https://blog.csdn.net/weixin_40628128/article/details/959459452.生成棋盘格生成棋盘格:rosrun kalibr kalibr_create_target_pdf --type checkerboard --nx 8 --ny 11 --csx 0.0

2021-08-27 14:40:05 691

原创 RealSense435i,运行VINS-mono

准备工作:安装realsense SDK2.0:参考官方教程安装realsense ros warp:参考官方教程安装vins-mono:参考官方教程测试vins-mono:下载数据集:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets打开终端,分别输入如下指令:roslaunch vins_estimator euroc.launch roslaunch vins_esti

2021-08-27 14:20:52 520 2

原创 r2live重新安装Eigen3.3.9以及Ceres1.14

// 移除旧版本Eigen3sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums// 安装新版本Eigen// 下载对应版本Eigen,并解压cd .

2021-07-27 14:25:12 778 2

原创 ubuntu16.04多版本gcc,g++切换

ubuntu16.04默认gcc,g++版本为5.4.0,但是实际使用时,可能需要更高版本支持,这里以gcc/g++7为例;// 更新sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get update// 安装gcc/g++7sudo apt-get install gcc-7sudo apt-get install g++-7// 设置sudo update-alternatives --in.

2021-07-27 13:29:52 1065

原创 Lidar与imu外参标定

目录网上资料方案1方案2Lidar与IMU的相对旋转实现最近由于工作需要,花了几天时间了解激光与imu的标定方法;因为项目需要,且这里是个人认识的一个整理,所以并不会很深入很细致的进行公式或原理推导。由于个人水平有限,所以可能会存在一些认知的错误,可以留言交流学习一下。网上资料方案1首推浙大开源的Lidar_IMU_calib,标定精度很高。从粗到细的,实现高精度的lidar-imu标定,具体可以看一下论文和代码哈!我这里也测试了一下,由于一些原因,一直没有标定.

2021-05-19 14:05:32 11613 23

转载 免费论文查找网站

推荐查找顺序依次如下:好用的:https://www.semanticscholar.org/arxiv : https://arxiv.org/(免费,更新很快)谷歌学术镜像 :http://scholar.hedasudi.com/(免费)SCI-Hub :http://tool.yovisun.com/scihub/(免费,需安装插件)web of science :http://apps.webofknowledge.com(免费,需安装插件)知网 :http://www.c

2020-06-15 14:55:39 2623

原创 windows下编译gtsam

GTSAM 是一个在机器人领域和计算机视觉领域用于平滑(smoothing)和建图(mapping)的C++库。它与g2og2o不同的是,g2og2o采用稀疏矩阵的方式求解一个非线性优化问题,而GTSAM是采用因子图(factor graphs)和贝叶斯网络(Bayes networks)的方式最大化后验概率。GTSAM的安装:gtsam官网给出了 详细的安装过程,由于其依赖库比较少,安装起来比较方便。这里咱们主要介绍在windows下的安装(Ubuntu下几行代码就可以搞定,这里不再赘述)。g

2020-05-19 11:12:31 2648 27

原创 PCA算法的原理以及c++实现

PCA主成分分析,是模式识别中常见的特征降维的算法,其大体步骤可以分为以下几个部分:(1)原始特征矩阵归一化处理(假设M和样本,每个样本n个特征,则对M*N的X数据,进行零均值化,即减去这一列的均值)(2)求取归一化处理后特征矩阵的协方差矩阵(3)计算协方差矩阵的特征值及其对应的特征向量(4)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P;(5)Y=PX即...

2020-03-12 16:53:27 2880 1

转载 LOAM中关于坐标转换与IMU融合

激光雷达slam之LOAM中的坐标转换与IMU融合需要用到的一些知识和假设:(1) 来源于 github中的讨论:由于IMU累积推算位置的误差大,程序中粗略地计算了IMU的位置漂移。_imuPositionShift = _imuCur.position - _imuStart.position - _imuStart.velocity * relSweepTime;上式成立...

2019-12-19 15:27:58 8632 16

原创 g2o、Eigen、Mat矩阵类型转换

1.Eigen矩阵赋值1) 使用row或者colEigen::Matrix3d R = Eigen::Matrix3d::Identity();R.row(0) = Eigen::Vector3d(-0.0134899,-0.997066,0.0753502);R.row(1) = Eigen::Vector3d(-0.0781018,-0.0740761,-0.99419);R...

2019-10-24 10:49:04 2559

原创 graph slam tutorial :从推导到应用3(g2o+ceres实现)

目录图的数据格式读取数据使用g2o中slam2d数据格式的优化优化结果定义顶点和边我们不生产代码,我们只是代码的搬运工。图的数据格式图优化前端处理以后产生的顶点和边的数据格式,这是写程序时特别关注的,也是众多优化包如g2o的数据格式。matlab程序及数据戳这里killian-v.dat 数据为顶点vertex2: id,pose.x,pose...

2019-10-23 11:13:46 1620

原创 graph slam tutorial : 从推导到应用1(g2o+ceres实现)

目录例子1:例子2:例子1:为了更好的理解这个过程,将用一个很好的例子作说明。如下图所示,假设一个机器人初始起点在0处,然后机器人向前移动,通过编码器测得它向前移动了1m,到达第二个地点。接着,又向后返回,编码器测得它向后移动了0.8米。但是,通过闭环检测,发现它回到了原始起点。可以看出,编码器误差导致计算的位姿和观测到有差异,那机器人这几个状态中的位姿到底是怎么样的才最好的满足...

2019-10-22 17:23:23 855

原创 g2o非线性优化

基于g2o的最小二乘方法。g2o,即General Graph Optimization,他是一个基于图理论的优化库。图优化理论介绍,可以参考半闲居士的博客有这么一个问题,给你一组二维数据,拟合其直线方程。譬如下面的方程:拟合y=Asin(Bx)+Ccos(Dx)y=Asin(Bx)+Ccos(Dx),已知N组数据(xi,yi),i=0,1,⋯N−1(xi,yi),i=0,1,⋯...

2019-10-22 15:02:25 1149

转载 g2o使用总结

本文转自:https://blog.csdn.net/hzwwpgmwy/article/details/79884070需要解决的问题:如何自定义Vertex和Edge?如何选择Edge类型?一元还是二元?如何赋值信息矩阵?如何设置鲁棒核函数的阈值?如何选择Vertex设置为固定?如何边缘化以便稀疏化求解?如何处理优化结束后outliner?如何设置根据卡方分...

2019-10-22 14:43:46 2531 1

翻译 Ceres Solver使用

非线性最小二乘Ceres可以求解以下形式的有界约束非线性最小二乘问题:minx12∑iρi(∥fi(xi1,⋯,xik)∥2)s.t.lj≤xj≤ujminx12∑iρi(‖fi(xi1,⋯,xik)‖2)s.t.lj≤xj≤uj这种形式的问题来源于科学工程的多个领域,从统计学的曲线拟合到计算机视觉中从图像中构建三维模型。表示式中ρi(∥fi(xi1,⋯

2017-08-04 11:40:32 3852

原创 VS2013+Ceres编译教程 Win7系统

由于想要做一些优化处理的工作,所以今天花了几个小时编译了一下ceres solver,这里对我的安装过程做个记录,希望对大家有些帮助。Ceres Solver是由Google开发的非线性最小二乘问题的求解工具。在Windows下使用Ceres,需要必备的库有eigen,glog,gflags三个,可选的还有suitesparse,不过由于时间关系,suitesparse我没有编译,等有空的时候,搞...

2017-07-18 19:15:31 3191

转载 boost::thread线程管理

转载地址:点击打开链接6.1. 概述线程就是,在同一程序同一时间内允许执行不同函数的离散处理队列。 这使得一个长时间去进行某种特殊运算的函数在执行时不阻碍其他的函数变得十分重要。 线程实际上允许同时执行两种函数,而这两个函数不必相互等待。一旦一个应用程序启动,它仅包含一个默认线程。 此线程执行 main() 函数。 在 main()中被调用的函数则按这个线程的上下文顺序地执行。

2017-06-01 17:57:46 1283

原创 Ubuntu卸载opencv2.*,重新安装opencv3.*版本

一、 卸载opencv2.4.9: Going to the "build" folder directory of opencv from terminal, and execute the following:1. $ sudo make uninstall2. $ cd ..3. $ sudo rm -r build4. $ sudo rm -r /usr/local/inclu

2017-02-23 15:19:06 9999 1

转载 激光数据的直线拟合

激光雷达获取的信息是和周围物体之间的距离信息,在移动机器人尤其是自主移动机器人领域具有非常广泛的应用,那我们就从移动机器人的自主导航开始聊吧。移动机器人导航是指移动机器人依靠传感器在特定环境中,按时间最优、路径最短或能耗最低等准则实现从起始位置到目标位置的无碰撞运动。传统的移动机器人导航问题包含三大要素:地图创建、定位和运动控制,通过三大要素,解决三个基本问题:我在哪里?我要去哪里?如何去

2017-02-07 14:10:13 8039 5

原创 ubuntu 下github使用(简要过程)

身为一个码农,掌握必要的代码管理工具,是必不可少的。这里简单介绍一下github的简单使用过程。一、注册github账号。请自行进入http://github.com进行注册。二、安装git及一些基本设置。1.安装git  sudo apt-get install git2.设置github账号信息git config --global user.name "your name

2017-01-17 14:04:05 1130

原创 安装测试点云配准4PCS算法

今天有空,想看看点云配准4PCS算法,据说是一个高效鲁棒性很好的算法。闲话少说,还是记录一下我的安装过程吧。免得过段时间我又忘记了~~~~~~首先先说一下我的电脑配置:虚拟机安装ubuntu 14.04 LTS内存:2.1GB处理器:Intel® Core™ i5-4590 CPU @ 3.30GHz × 3 图形:Gallium 0.4 on SVGA3D; build: REL

2016-12-30 11:25:54 6163 4

转载 CMAKE学习笔记(二)

声明:本文为转载博客(感谢网友dbzhang800),转载链接在博客末尾在 Cmake学习笔记一 中通过一串小例子简单学习了cmake 的使用方式。这次应该简单看看语法和常用的命令了。简单的语法注释# 我是注释命令语法COMMAND(参数1 参数2 ...)字符串列表A;B;C # 分号分割或空格分隔的值变量(字符串或字符串列表)

2016-12-23 14:26:48 474

转载 CMAKE学习笔记(一)

声明:本文为转载博客(感谢网友dbzhang800),转载链接在博客末尾看来不学习一下cmake是不行了,一点一点来吧,找个最简单的C程序,慢慢复杂化,试试看:例子一单个源文件 main.c例子二==>分解成多个 main.c hello.h hello.c例子三==>先

2016-12-23 14:24:19 367

转载 奇异值分解(SVD)(2)

简介SVD实际上是数学专业内容,但它现在已经渗入到不同的领域中。SVD的过程不是很好理解,因为它不够直观,但它对矩阵分解的效果却非常好。比如,Netflix(一个提供在线电影租赁的公司)曾经就悬赏100万美金,如果谁能提高它的电影推荐系统评分预测准确率提高10%的话。令人惊讶的是,这个目标充满了挑战,来自世界各地的团队运用了各种不同的技术。最终的获胜队伍"BellKor's Pragmat

2016-12-20 14:17:12 645

转载 奇异值分解(SVD)(1)

声明: 本文为网上资料整理而来,仅供个人学习一、奇异值与特征值基础知识:    特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧:   1)特征值:    如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形

2016-12-20 14:10:50 566

转载 Cartographer理论及实现浅析

本文转载自泡泡机器人。本文概述了Cartographer的理论及简要的梳理了其开源实现代码的逻辑,目的在于起到抛砖引玉的作用,为选择性的研究相关理论及实现提供参考。1.    Cartographer理论概述Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]。用于闭环检测的基本单元是submap。一个submap是由一定数量的laser

2016-12-08 09:25:14 14975 2

原创 2D激光SLAM算法比较+cartographer

声明:博客参考了kint_zhao的文章《2D-slam 激光slam: 开源代码的比较HectorSLAM Gmapping KartoSLAM CoreSLAM LagoSLAMHector slam:Hector slam利用高斯牛顿方法解决scan-matching问题,对传感器要求较高。缺点:需要雷达(LRS)的更新频率较高,测量噪声小。所以在制图过程中,需要robot速

2016-10-28 13:45:41 44654 14

原创 粒子滤波理论资料存档

知行合一的博客:http://blog.csdn.net/heyijia0327Particle Filter Tutorial 粒子滤波:从推导到应用(一)链接Particle Filter Tutorial 粒子滤波:从推导到应用(二)链接Particle Filter Tutorial 粒子滤波:从推导到应用(三)链接Particle Filt

2016-10-20 15:42:18 604

原创 orb-slam资料汇总

ORB 一种特征匹配替代方法:对比SIFT或SURF   链接ORB-SLAM:精确多功能单目SLAM系统           链接ORB-SLAM2源代码分析                                          链接Ubuntu 14.04 Linux 运行 ORB-SLAM2                  链接基于关键帧

2016-10-19 10:58:44 1861

转载 g2o:一种图优化的C++框架

声明:转载自 Taylor Guo ,仅供个人学习g2o: A general framework for graph optimization原文发表于IEEE InternationalConference on Robotics and Automation (ICRA), Shanghai, China,May 2011http://www.cnblogs.com/gaox

2016-10-19 10:41:07 5774

转载 卡尔曼滤波算法实例剖析--机器人足球赛场中的定位算法

声明:本博客转载自  东方赤龙  ,谢谢博主的分享!!!(转载仅供个人学习)卡尔曼滤波(Kalman filtering)最早在阿波罗飞船的导航电脑中使用,它对阿波罗计划的轨道预测很有用。卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。是目前应用最为广泛的滤波方法, 在通信, 导航, 制导与控制等多领域得到了较好的应用。 卡尔曼

2016-10-19 10:35:43 2941

转载 谷歌Cartographer学习(1)-快速安装测试

转载自:hitcm  感谢大神的无私分享。个人理解错误的地方还请不吝赐教,转载请标明出处:http://www.cnblogs.com/hitcm/代码放到个人github上,https://github.com/hitcm/如下,需要安装3个软件包,ceres solver、cartographer和cartographer_ros1.首先安装ceres solv

2016-10-09 14:13:49 6571 3

转载 Ubuntu 16.04 安装和使用QQ最简洁的方式

推荐参考网址:1  http://www.ubuntukylin.com/2  http://www.ubuntukylin.com/application/Wine QQ1  http://www.ubuntukylin.com/application/show.php?lang=cn&id=279百度云下载地址:1  http:/

2016-09-30 16:48:42 657

转载 机器学习常见算法个人总结(面试用)

感谢网友 Kubi Code 的总结和无私分享,表示感谢!(转载仅供个人学习,谢谢。。。)朴素贝叶斯参考[1]事件A和B同时发生的概率为在A发生的情况下发生B或者在B发生的情况下发生A[Math Processing Error]P(A∩B)=P(A)∗P(B|A)=P(B)∗P(A|B)所以有:[Math Processing Error]

2016-09-08 15:12:35 909 1

转载 四元数与欧拉角(Yaw、Pitch、Roll)的转换

在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系:定义分别为绕Z轴、Y轴、X轴的旋转角度,如果用Tait-Bryan angle表示,分别为Yaw、Pitch、Roll。一、四元数的定义通过旋转轴和绕该轴旋转的角度可以构造一个四元数:

2016-08-19 16:55:44 54999

原创 ROS中NodeHandle问题

今天想把写的坐标转换package,改写成在launch文件中传入参数。中间遇到了一个小问题,特此记录一下。ros::init(argc, argv, "sub");ros::NodeHandle n;ros::NodeHandle pn("~");double x;pn.param("/x",p_x, 0.3);ros::init(argc, argv, "sub");

2016-08-18 20:05:35 8916 6

相机标定棋盘格 camera calib checkerboard

相机标定所需棋盘格

2021-08-27

graph slam tutorial :从推导到应用3(g2o版代码)

graph slam tutorial :从推导到应用3(g2o版程序),包含文档读取,及后端优化

2019-10-23

graphslam-master.zip

graph slam tutorial :从推导到应用3,使用的matlab代码及数据

2019-10-23

vs_enterprise.zip

visual studio installer2017安装包,安装程序,直接安装即可

2019-07-09

vcredist_x86,vcredist_x64 VS2013

vcredist_x86,vcredist_x64, 对应windows下VS2013的安装包

2018-09-27

Lidar Odometry and mapping in real time

LOAM ,Lidar Odometry and mapping in real time;一个开源的3d slam建图方法,值得参考

2018-09-27

suitesparse-metis-for-windows-master

Windows环境下,配置Google最小二乘求解工具ceres的依赖项

2017-07-26

cmake安装包

cmake 3.6.1

2017-07-19

依赖gflags

Windows下配置ceres依赖项gflags

2017-07-19

Ceres依赖glog

vS2013下配置ceres

2017-07-19

依赖性eigen

eigen-3,ceres依赖项

2017-07-19

ceres-solver-1.11

ceres-solver-1.11,配置VS2013 Windows下

2017-07-19

激光雷达数据读取、显示、分割、直线拟合C++(需配置OpenCV2.4)

激光雷达数据读取、显示、分割、直线拟合C++(需配置OpenCV2.4)

2017-02-07

概率论数理统计(浙大四版)

概率论数理统计(浙大四版)

2016-10-20

概率论与数理统计习题全解指南.盛骤(浙大四版)习题答案

概率论与数理统计(浙大四版)习题答案 概率论与数理统计习题全解指南.盛骤

2016-10-20

点云TXT转换PCD

利用pcl,转换txt格式点云数据为pcd格式

2016-08-16

2D或者3D配准ICP算法(VS2012)

ICP算法的C++源代码。迭代最近点法(Iterative Closest Points Algorithm)。基本思想是:根据某种几何特性对数据进行匹配,并设这些匹配点为假想的对应点,然后根据这种对应关系求解运动参数。再利用这些运动参数对数据进行变换。并利用同一几何特征,确定新的对应关系,重复上述过程。

2016-07-25

Python配置matplotlib完整安装包

64位下配置matplotlib模块完整安装包。

2016-04-27

mnist-leveldb

mnist数据库的leveldb格式,用于windows下的caffe。

2016-04-22

caffe for windows

由niuzhiheng大牛提供的caffe在windows下编译代码

2016-04-22

caffe for windows 第三方库

caffe 在windows下编译所需的三方库等

2016-04-22

ICP算法源码,调试通过

ICP算法,即Iterative Closest Points Algorithm。基本思想是:根据某种几何特性对数据进行匹配,并设这些匹配点为假想的对应点,然后根据这种对应关系求解运动参数。再利用这些运动参数对数据进行变换。并利用同一几何特征,确定新的对应关系,重复上述过程。

2016-04-06

Fast ICP算法源码

Fast ICP是对ICP的改进与扩展。论文Efficient Variants of the ICPalgorithm详细给出了影响ICP算法的各种因素,且每种因素都哪些算法,其结果与性能如何。

2016-04-06

霍夫森林目标检测

Hough Forest目标检测由Juergen Gall在2009的CVPR上提出。 作者给出的源码是基于linux系统的,这里对其进行了调试,使得可以在windos运行。另外需要自己另外配置opencv。我的环境是32位Win7+vs2012+opencv2.4.9。

2016-04-03

Python中配置matplotlib模块资源

经过反反复复的倒腾,matplotlib模块终于安装成功,所以把安装资源分享给大家,希望大家一起进步,一起学习

2016-01-02

Python2.7安装源文件

这里配置的源文件Python2.7,并且安装numpy模块,是在win7下32位系统中配置

2016-01-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除