多线程的创建 创建线程比较简单,C++提供头文件thread,使用std的thread实例化一个线程对象创建。 std::thread 在 #include 头文件中声明,因此使用 std::thread 时需要包含 #include 头文件。 #include <iostream> #include <thread> #include <stdlib.h&
简介 g2o是一个通用的图优化库,可以应用到任何能够表示成图优化的最小二乘问题。例如BA,icp,曲线拟合等。 但它不像Ceres一样有丰富详细的学习资料。 图优化,是把优化问题表现成图(Graph)(指图论中的图)的一种方式,一组优化变量和变量之间的误差项,使用图来图来描述,使它们之间的关系更加直观化; 三角形和圆圈,都是顶点,待优化的变量; 红色与蓝色的线,都是边,描述相连顶点优
面向对象中类是程序基本单元,分为类内和类外数据共享和保护 1、类的静态成员 1.1、类静态成员概述有时我们可能希望有某一个或几个数据成员为同一个类的所有对象共有,也就是实现数据共享 静态成员提供一种同类对象对数据的共享机制 静态成员分为:– 静态数据成员– 静态成员函数 静态数据成员是类的属性,这个属性不属于类的任何对象,但所有的对象都可以访问和使用它 如果将类的一个成员定义成静态型的
简介: Ceres是谷歌开发的广泛使用的最小二乘问题求解库。用户只需要按照一定的步骤定义待解的优化问题然后交给求解器计算。最小二乘问题一般格式如下:使用Ceres求解非线性优化问题,一共分为三个部分:1、 第一部分:构建cost fuction,即代价函数,也就是寻优的目标式。这个部分需要使用仿函数(functor)这一技巧来实现,做法是定义一个cost function的结构体,在结构体内重载
基本概念: 采用函数(或过程)来描述对数据结构的操作,数据之间通过全局变量或参数传递进行联系 面向对象程序设计的特征是封装性、继承性和多态性 面向对象的程序主要由类和对象组成。 类的构成 类(class)是面向对象系统中最基本的组成元素,是一种自定义数据类型 类定义格式 class 类名 { public: //公有数据成员和公有成员函数; priva
在一篇博客中,通过分析helloword的自动求导和节写求导简单例子,了解了Ceres的基本流程。本片博客在上一片基础之上,以高博十四讲内容为基础,分析Ceres两个使用案例 一、曲线拟合 1、问题描述其中a,b,c为待估计的参数,w为噪声。在程序里利用模型生成x,y的数据,在给数据添加服从高斯分布的噪声。之后用ceres优化求解参数a,b,c。 2、求解代码代码部分仍然与上一篇博客类似,分
1、融合流程 1.1、状态方程(求F和B) 状态方程一般形式如下(是一个微分方程)x服从一个高斯分布 状态量由预测给出(本例中是由IMU预测) 其中 状态量的误差 状态量误差的微分形式为 所以他们的转换矩阵F为 IMU自身误差 加速度误差,角速度误差,bias误差
加速度计内参模型 1、零偏 概念:加速度计输出中的常值偏移,及bias 2、刻度系数误差 概念:器件的输出往往为脉冲值或模数转换得到的值,需要乘以一个刻度系数才能转换成角速度或加速度值,若该系数不准,便存在刻度系数误差 3、安装误差 概念:如右图所示,b坐标系是正交的imu坐标系,g坐标系的三个轴是分别对应三个陀螺仪。由于加工工艺原因,陀螺仪的三
1、卡尔曼滤波介绍 参考 详解卡尔曼滤波原理_清风莞尔的博客-CSDN博客_卡尔曼滤波原理 1、运动方程与观测方程 其中 代表位置和速度 Vk代表输入输入,Wk代表噪声 运动方程表示已知k-1时刻的状态和k时刻的输入来预测k时刻的状态(位姿) 当融合imu与雷达信息时,由imu得到预测即运动方程(状态方程),雷达得到观测方程
雅可比矩阵推导 线特征: 核心思想:点到直线距离最小。通过平行四边形面积除以对角线长度 面特征 核心思想:使得点到面距离最短 线/面特征雅可比矩阵解析求导实现 需要修改的代码为 include/lidar_localization/models/loam/aloam_f
代码,cmake,launch等都在网盘链接中 链接: https://pan.baidu.com/s/14hWBDnRZC41xkqAk6FirtA 提取码: 1een--来自百度网盘超级会员v4的分享 1、简介 3D激光雷达和相机的融合指的是将激光雷达获得的3D点,投影到相机图像上,从而给图像每个像素点添加深度信息或者为雷达获取到的3D点添加RGB信息。效果如图: 可以知道
第一次写博客,难免有错误,大家多多指正! ORB-SLAM2: GitHub - raulmur/ORB_SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities ORB-SLAM3: GitHub - JKTao/ORB
代码和数据网盘链接 链接: https://pan.baidu.com/s/11e1ICOxjYAZxdM4Gx0zlJg 提取码: inp1--来自百度网盘超级会员v4的分享 若在我给出的代码之上做了一些优化调整,希望能分享出来放在博客评论里,大家共同学习进步! 注意再运行此代码时anaconda和ros都应该已经安装好了;并且不会冲突(两者冲突比较常见自己当时调的比较麻烦)解决冲突的办法
本文主要介绍,利用Airsim中自己的场景跑通Lego-Loam;并且画出Lego-Loam的里程计轨迹,与真值轨迹(目前只能完成基本的建图功能,画轨迹部分待完善,坐标系搞得有些蒙) 1、设置setting文件 { "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md", "Se
1、点云读写 pcl官方教程真的比较详细,可惜是英文的,不过耐心看下去,也能看懂。 Reading Point Cloud data from PCD files — Point Cloud Library 0.0 documentation 读取pcd文件 #include <iostream> #include <pcl/io/pcd_io.h> #incl
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信