![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 78
生滚海鲜粥
这个作者很懒,什么都没留下…
展开
-
从零手写VIO第六章作业(三角化理论推导及代码仿真)
一、三角化二、求y一中的问题转化为最小二乘问题 min∥Dy∥22\min \|D y\|_{2}^{2} \quadmin∥Dy∥22 s.t. ∥y∥=1\|y\|=1∥y∥=1 ∥Dy∥22=y′D⊤Dy\|D y\|_{2}^{2} =y^{\prime} D^{\top} D y∥Dy∥22=y′D⊤Dy...原创 2020-08-12 20:47:17 · 1063 阅读 · 0 评论 -
noalias(Eigen 矩阵混淆)
https://www.cnblogs.com/houkai/p/6349990.html转载 2020-08-13 11:33:58 · 945 阅读 · 0 评论 -
剑指 Offer 14- I. 剪绳子(整数划分之最大乘积)超详细严谨的证明
目录题目描述引理证明题目描述问题描述:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/jian-sheng-zi-lcof引理引理原创 2020-08-01 00:28:28 · 265 阅读 · 0 评论 -
CLion编译ros
在编译环境中启动ClionCLion需要获取ROS特定的环境变量。在ros工作空间中运行source ./devel/setup.bash以设置环境变量。为了让ros获取到环境变量,在ros工作空间下运行sh PATH_TO_CLION/bin/clion.sh注意把PATH_TO_CLION替换成自己安装clion的路径。在CLion打开一个ROS项目启动CLion后就要打开ros项目了。单击File|Open选择ROS工作区的src目录中的CMakeLists.txt文件,确定后原创 2020-07-25 01:13:53 · 438 阅读 · 0 评论 -
从零手写VIO第三讲作业(LM算法和IMU误差传递)
GN和LM算法一、非线性最小二乘问题1.1 GN(高斯牛顿)算法1.2 LM算法1.2.1阻尼因子μ\muμ以及步长 Δxlm\Delta \mathbf{x}_{\mathrm{lm}}Δxlm初始化1.2.2 Marquardt策略1.2.3 拟合y=exp(ax2+bx+c)y=\exp \left(a x^{2}+b x+c\right)y=exp(ax2+bx+c)1.4 Nielsen策略1.4.1 拟合y=exp(ax2+bx+c)y=\exp \left(a x^{2}+b x+c\r原创 2020-07-21 17:50:53 · 1125 阅读 · 1 评论 -
从零手写VIO第二章作业(IMU数据仿真及Allan方差标定)
这里写目录标题IMU仿真代码介绍一、根据参数初始化二、 构造运动模型(以例程为例)2.1加速度模型2.2旋转模型三级目录IMU仿真代码介绍一、根据参数初始化设定IMU数据采集频率设定数据采集时间,对于allan方差标定,默认4小时设定陀螺仪gyro和角速度计acc的bias随机游走的方差设定陀螺仪gyro和角速度计acc的高斯白噪声方差class Param{public: Param(); // time int imu_frequency = 200;原创 2020-07-15 09:34:05 · 2085 阅读 · 0 评论 -
C++ List用法
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器 erase() 删除一个元素 front() 返回第一个元素 get_allocator() 返回list的配置器 insert() 插入一个元素到li转载 2020-07-07 10:37:40 · 156 阅读 · 0 评论 -
c++string char* char转换
c++中char转换为string类型https://blog.csdn.net/potxxx/article/details/87290812原创 2020-07-04 16:26:32 · 133 阅读 · 0 评论 -
剑指 Offer 45. 把数组排成最小的数
class Solution {public: struct cmp{ bool operator()(string a, string b){return a+b < b+a ;} }cmp; string minNumber(vector<int>& nums) { vector<string> vec; for(auto num: nums) vec.push_bac原创 2020-07-04 14:23:35 · 108 阅读 · 0 评论 -
c++ sort函数自定义排序
在网上查阅sort函数自定义排序资料,在写比较函数cmp时不明白为啥都要写到结构体里,也不明白a<b为啥是升序,a>b为啥是降序struct cmp{ bool operator ()(const int a , const int b) { return a < b ; // 从小到大,反过来就是从大到小 } }; 在查看了官网后得到了结论这里很好地解答了两个问题。1. 为什么结构体可以传入so原创 2020-07-04 13:44:17 · 2816 阅读 · 0 评论 -
ROS与OpenCV版本冲突问题
在安装小觅相机的时候因为ROS与opencv版本不兼容的原因导致各种莫名其妙的错误。安装方式按照相机技术手册,SDK在linux下共有三种安装方式,ppa安装,源码编译安装,ROS安装。注意不要用ppa安装,用ppa安装会导致ROS无法安装。源码安装多版本opencv共存在源码安装时注意opencv要安装在/usr/local下,否则就要设置环境变量。注意一点,为了实现opencv多版本共存,我们最好在/usr/local下创建不同文件夹存储不同版本opencv。cd opencv-2.4.13原创 2020-07-01 11:10:09 · 2643 阅读 · 0 评论 -
智能指针
1.前言 在C++中,动态内存的管理是通过一对运算符来完成的:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,可以选择对对象进行初始化;delete,接受一个动态对象的指针,销毁该对象,并释放与之关联的内存。 动态内存的使用很容易出问题,因为确保在正确的时间释放内存是极其困难的。有时会忘记释放内存,在这种情况下会产生内存泄露;有时在尚有指针引用内存的情况下就释放了它,在这种情况下就会产生引用非法内存的指针。 为了更容易(同时也更安全)地使用动态内存,C转载 2020-05-17 00:20:47 · 136 阅读 · 0 评论