- 博客(15)
- 收藏
- 关注
原创 linux扩展虚拟内存
为了让系统在每次开机时都自动启用这个交换文件,需要编辑。为了确保交换文件的安全性,需要设置合适的权限,让只有。保存并退出文件编辑器(在。
2025-03-05 19:50:02
196
原创 remote: error: File .vscode/browse.vc.db is 209.27 MB; this exceeds GitHub‘s file size limit of 100.
git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch .vscode/browse.vc.db'
2023-03-23 14:46:57
223
原创 C++ problem:多次定义、const函数修改类成员、未定义
头文件被多个源文件里面的函数也会被多次编译生成可执行文件,就发生了重定义的问题。通过条件编译,可以解决一种情况下的问题,那就是。发生这个问题的本质原因是,当头文件函数被多次编译后,该函数被调用时,编译器不知道该调用哪个函数了,也就是存在二义性问题。通过内联函数inline解决, 在函数名前加入inline关键字。第一种方法很简单,只需要在成员变量前加mutable即可。2.const函数修改类成员。
2023-03-03 10:46:52
441
原创 slam‘s degenerate problem
对于slam中的状态估计问题,通常可以描述为一个最小二乘问题一般来说,f(x)为非线性的方程,但是我们可以通过线性化的方法即求雅可比矩阵给定初值通过不断的迭代,直至收敛求得最优值,即可以研究这样一个线性问题通常A是一个x×n的矩阵,x为约束方程个数,n为向量x的维数,也即此线性方程组为超定方程组。我们想研究状态空间中约束的结构来评估基于优化的状态估计问题的简并性。以最简单的例子为例黑线代表约束方程,围成区域为可行解区域,对于约束较好的方程组,所得解在各个方向上都比较稳定。
2023-02-14 14:58:02
237
原创 VS C++ error LNK2005 1169报错
搜索了很多帖子,确定不是头文件引用混乱等多次引用问题.最终是在.h文件中的每一个函数前加上static解决.原因可能是:引用.h文件后,.h文件里的函数默认为全局函数,加上static关键字后声明函数为局部函数,作用域只限定在.h文件中.LNK2005 "..........................................."已经在xx.lib(xxxxx.obj)中定义。写了一个.h文件,.h里写了函数及实现.在另一个文件中引用该.h文件"include xxx.h".
2022-10-08 17:33:35
361
原创 Ceres Jet型
Jet型产生基本思想是引入一个额外的元素epsilon(e), e满足e!= 0, e^2 = 0,即e为一个无穷小量,类似与复数,扩展了实数的范围.一般表达式为x + y*e.Jet型能方便的计算导数.计算f(1,3)处导数时,分别用不同的无穷小量进行导数计算.采用dual number(Jet)计算函数f的梯度。在x = 10处的导数为20.其中20为x=10处导数值.我们引入无穷小量e,原式为。对于多参数的函数求导,例如。
2022-09-05 11:36:19
1137
原创 WARNING: disk usage in log directory [/home/c/.ros/log] is over 1GB.It‘s recommended that you use t
输入rosclean check查看log文件大小。输入rosclean purge删除log。
2022-08-03 14:51:34
547
原创 Lambda表达式
按值传递函数对象参数时,加上mutable修饰符后,可以修改按值传递进来的拷贝.(注意是能修改拷贝,而不是值本身).(5)a.将a按值进行传递.按值进行传递时,函数体内不能修改传递进来的a的拷贝,因为默认情况函数是const的.标识重载的()操作符的参数,没有参数时,这部分可以省略,参数可以通过值或引用传递.(8)=,&a,&b.除a和b按引用传递,其他参数按值进行传递.(9)&,a,b.除a和b按值传递,其他参数按引用进行传递.(7)a,&b.将a按值传递,b按引用传递。[],标识Lambda开始,...
2022-08-02 10:50:32
86
原创 Levenberg-Marquardt算法
减小,此次更新可以接受并且减小阻尼系数并重复,否则增加,增广正态方程被再次求解而且迭代到有一个。是Hessian矩阵的近似.LM方法实际上求解了一个称为增广正态方程的[2]的变体..像所有的非线性优化方法一样,LM是迭代的设置起始点。.因此,通过求解由加权正态方程定义的加权最小二乘问题。在等式[3]中,几乎是对角的.此时LM的更新步长。被称为阻尼系数.如果被更新的参数向量。梯度的幅值,即等式[2]右侧的。的关系.现在有初始的参数估计。的相应元素相同,对角元素在。的对角元素的策略称为阻尼,...
2022-07-20 17:13:22
3068
原创 PCL点云滤波
pcl --- Module filtershttps://pointclouds.org/documentation/group__filters.html点云数据类型sensor_msgs::LaserScansensor_msgs::PointCloud2pcl::PCLPointCloud2 是 ROS(机器人操作系统)消息类型,取代旧的 。因此,它只能在与 ROS 进行交互时使用。PCLPointCloud2 --- PointCloud转化1.体素网格滤波pcl::
2022-06-15 17:14:57
1582
原创 ROS:TF笔记
TF坐标变换,实现不同类型的坐标系之间的转换tf2常用功能包有:tf2_geometry_msgs:可以将ROS消息转换成tf2消息。tf2: 封装了坐标变换的常用消息。tf2_ros:为tf2提供了roscpp和rospy绑定,封装了坐标变换常用的API。TF中常用的msg:geometry_msgs/TransformStamped和geometry_msgs/PointStampedgeometry_msgs/TransformStampedstd_msgs/Header
2022-05-06 15:39:04
630
原创 cartographer参数总结
降低延迟减小计算量前端1.max_range减小max_range,减小需要处理的点云数.2.voxel_filter_size增大体素滤波的大小,减小需要处理的点云数.3.submaps.resolutin增大分辨率,减小匹配搜索计算量.4.adaptive_voxel_filter.max_lengthadaptive_voxel_filter.min_num_pointsadaptive_voxel_filter.max_range减小min_num_poi
2022-04-27 17:09:26
2437
原创 vscode自动补全函数跳转
.vscode目录下c_cpp_properties.json文件configurations里includePath设置{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "com
2022-03-31 20:46:52
1548
1
原创 ROS_INFO_STREAM输出彩色信息
命令格式ROS_INFO_STREAM("\033[字背景颜色;文字颜色m字符串\033[0m");例如如下,输出绿色文字ROS_INFO_STREAM("\033[1;32m----> Hector SLAM started.\033[0m");其他颜色文字命令格式ROS_INFO_STREAM("\033[30m 黑色字 \033[0m");ROS_INFO_STREAM("\033[31m 红色字 \033[0m");ROS_INFO_STREAM("\033[
2022-03-14 20:24:28
1885
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人