
SLAM
文章平均质量分 56
Tech沉思录
这个作者很懒,什么都没留下…
展开
-
刚体三维空间变换常见函数
transormation原创 2022-10-08 16:30:04 · 692 阅读 · 0 评论 -
递归最小二乘实践(代码)
本文来自coursera课程,仅做备份使用,侵删。IntroductionGiven your experience with batch least squares (where all measurements are processed at once), you now decide convert your batch solution to a recursive one for added flexibility. Recall that you have the following.原创 2021-03-14 21:37:40 · 1051 阅读 · 2 评论 -
迭代法求解ICP
目录一、预备知识1、空间变换后的点对变换求导1.1.1 左扰动1.1.2 右扰动2、高斯牛顿优化二、公式推导1、构建误差函数2、计算雅克比3、构建增量方程4、更新待优化量三、代码四、参考一、预备知识1、空间变换后的点对变换求导为了简单采用扰动模型1.1.1 左扰动1.1.2 右扰动2、高斯牛顿优化二、公式推导1、构建误差函数2、计算雅克比3、构建增量方程4、更新待优化量三、代码见github四、参考参考博客:https://blog.youkuaiyun.com/weixin_4原创 2020-11-10 10:50:17 · 652 阅读 · 0 评论 -
A-LOAM源码解读
文件目录代码1、kittiHelper.cpp2、scanRegistration.cpp3、laserOdometry.cpp4、laserMapping.cpp5、lidarFactor.cpp参考代码1、kittiHelper.cpp/* * @Author: your name * @Date: 2020-09-18 09:28:16 * @LastEditTime: 2020-10-05 21:29:26 * @LastEditors: Please set LastEditors原创 2020-10-08 12:52:16 · 3087 阅读 · 4 评论 -
点的空间变换与坐标系的空间变换
博主小白,分享一下自己对于点变换和坐标系变换的理解,不对的地方请大家指出~目录坐标系变换点变换KITTI数据集中的坐标系关系参考坐标系变换以最简单的坐标系变换为例,如下图图中有两个坐标系,因为没有旋转,两个坐标系之间的变换关系很显然为[X2Y2]=[01−10][X1Y1] \begin{bmatrix} X_2 \\ Y_2 \end{bmatrix} =\left[\begin{array}{cccc} 0 & 1 \\ -1 & 0\e.原创 2020-09-23 17:42:49 · 3198 阅读 · 0 评论 -
C++矩阵库 Eigen 快速入门
C++矩阵库 Eigen 快速入门原创 2020-09-22 19:54:48 · 232 阅读 · 0 评论 -
从零开始激光slam定位【1】- 激光里程计
目录里程计流程front_end_node.cpp的注释可视化debug参考里程计流程1、如果当前帧是第一帧,那么将其看做关键帧,进行关键帧更新2、关键帧更新都做了什么?更新local_map队列,更新local_map,更新ndt的target_cloud。3、如果不是第一帧,那么将其与local_map进行ndt配准,配准的所需要的guess_pose是根据匀速运动模型进行计算的。4、配准得到当前帧的pose,利用当前帧和上一阵的pose,结合匀速运动模型得到下一次配准的guess_pose;原创 2020-08-26 23:42:53 · 3791 阅读 · 2 评论 -
slam去畸变(径向畸变)
目录畸变径向畸变切向畸变去畸变原理代码参考畸变产生原因:透镜不能完全满足针孔模型假设径向畸变畸变程度都是从中心开始,用一个半径画圆的话,半径越大,圆周上的畸变程度也越大。这个就是由于相机透镜的形状导致的,且越向透镜边缘移动径向畸变越严重。切向畸变切向畸变是由于透镜和CMOS或者CCD的安装位置误差导致。看下面的图,因此,如果存在切向畸变,一个矩形被投影到成像平面上时,很可能会变成一个梯形。不过随着相机制造工艺的大大提升,这种情况很少出现了,我们一般也不考虑切向的畸变。去畸变原理大致思路是原创 2020-08-22 18:30:24 · 1219 阅读 · 1 评论 -
【睿慕课点云处理】第六章-点云识别与跟踪特征描述
【睿慕课点云处理】第六章-点云识别与跟踪特征描述作业答基于特征的model-scene配准关键点显示基于特征的里程计原创 2020-06-20 00:56:14 · 812 阅读 · 0 评论 -
【睿慕课点云处理】第五章-点云配准与点云SLAM基础
【睿慕课点云处理】第五章-点云配准与点云SLAM基础作业答配准使用ndt配准实现简单的激光里程计原创 2020-06-20 00:55:04 · 1078 阅读 · 0 评论 -
【睿慕课点云处理】第三章-三维空间变换
【睿慕课点云处理】第三章-三维空间变换作业使用eigen实现空间变换Eigen基础函数原创 2020-06-20 00:53:10 · 885 阅读 · 0 评论 -
【slam学习】slam一些小作业汇总
知识星球slam作业 slam课后作业 深蓝学院slam课程作业原创 2020-06-04 23:43:02 · 358 阅读 · 1 评论 -
[slam14讲] 第七讲视觉里程计
@[TOC]视觉里程计理论特征点提取与匹配对极约束三角测距PnPICP实践特征点提取特征点匹配对极约束(2d-2d)三角化测距PnP(3d-2d)EPnP求解位姿BA优化➜ build git:(master) ✗ ./pose_estimation_3d2d ../1.png ../2.png ../1_depth.png [ INFO:0] Initialize OpenCL runtime...-- Max dist : 95.000000 -- Min d原创 2020-06-04 17:16:08 · 460 阅读 · 0 评论 -
使用ndt配准实现简单的激光里程计
激光里程计1、原理2、几点需要注意的1. 关键帧的选取2. 更新当前帧pose3. 设置guess_pose3、效果4、参考1、原理读入每一帧的点云,和地图做ndt配准,得到当前帧的pose,使用这个pose作为下一帧配准的guess_pose,如果当前帧是关键帧(关键帧如何选取?- 根据与上一关键帧的距离或者每隔几帧设置为关键帧),那么更新地图并且将当前帧更新为关键帧。2、几点需要注意的1. 关键帧的选取当前帧距离上一个关键帧的位移超过阈值(1m),则认为当前帧为关键帧。 // 如果当前帧和原创 2020-06-01 10:23:23 · 3882 阅读 · 10 评论 -
Eigen基础函数
参考Eigen中四元数、欧拉角、旋转矩阵、旋转向量之间的转换注意Eigen中 四元数最后一个数为实部注意输出欧拉角的次序 2,1,0代表绕x-y-z轴旋转的角度代码#include<iostream>#include<eigen3/Eigen/Core>#include<eigen3/Eigen/Dense>#include <eigen3/Eigen/Geometry>#include <cmath>using n原创 2020-05-11 22:49:32 · 1572 阅读 · 0 评论 -
使用ZVISION进行LOAM建图
一些需要注意的点:1、remap的正确使用方法:在launch文件中,要在对应的node标签下使用remap标签才能将source_topic映射为goal_topic <node name="cloud_node" pkg="zvision_lidar_pointcloud" type="cloud_node" output="screen" > <par...原创 2019-09-21 10:41:12 · 463 阅读 · 0 评论 -
LOAM安装,测试(无需IMU数据)
前言:LOAM和单线激光雷达的hector算法比较像,都可以在无IMU数据的情况下建图环境:Ubuntu16.04、ROS-kinect、PCL1.8步骤:1、LOAM安装:参考链接: https://blog.youkuaiyun.com/qq_36396941/article/details/82973772.2、数据集:ROS官网上链接: http://wiki.ros.org/loam_v...原创 2019-09-20 11:39:14 · 5814 阅读 · 7 评论 -
g2o编译找不到共享库 libg2o_core.so
参考:https://blog.youkuaiyun.com/qq_32618327/article/details/102403297问题:error while loading shared libraries: libg2o_core.so: cannot open hared object file: No such file or directory原因:在默认情况下,编译器只会使...原创 2019-10-16 11:50:43 · 1066 阅读 · 0 评论 -
ceres优化 简单函数拟合
参考博客:https://blog.youkuaiyun.com/liu502617169/article/details/88693442#commentBox这篇博客写的很清楚//使用ceres,根据50个含有高斯噪声的点拟合曲线 y = 5*sin(x) + 6*cos(x)#include <iostream>#include <opencv2/opencv.hpp&g...原创 2019-10-15 12:21:06 · 684 阅读 · 1 评论 -
到底什么是非线性优化?
转自:http://blog.sina.com.cn/s/blog_7445c2940102x3x4.html侵删1.非线性优化真的那么难?其实,在上高中的时候我们就已经对非线性优化的求解方法了然于心了。可见,非线性优化并不是我们想的那么困难,只不过在后来由于学习了大量的新知识,而迷失其中。你可能不相信,那么让我们一同回到高中的数学课上。数学老师给了如下的问题:如何找到上面这个函数...转载 2019-10-11 10:24:38 · 5360 阅读 · 4 评论 -
SLAM14讲joinMap编译错误
问题找不到OpenCVCMake Error at CMakeLists.txt:7 (find_package): Found package configuration file: /usr/local/share/OpenCV/OpenCVConfig.cmake but it set OpenCV_FOUND to FALSE so package "Open...原创 2019-09-29 15:49:56 · 938 阅读 · 0 评论