- 博客(73)
- 收藏
- 关注
原创 vbox 虚拟共享文件夹 创建以及权限问题
按此流程操作后,普通用户即可无需root权限访问共享文件夹。若仍遇权限问题,检查挂载路径所有权及共享名称拼写。
2025-07-03 09:15:58
588
原创 orb-slam run rgbd data
使用python脚本关联RGB图像和深度图像[associate.py],[http://vision.in.tum.de/data/datasets/rgbd-dataset/tools]. 我们已经提供了一些关联在 Examples/RGB-D/associations/中。从这个网址下载tum数据集[http://vision.in.tum.de/data/datasets/rgbd-dataset/download] 并且解压缩。TUM数据集准备+RGB-D运行。
2025-06-27 10:50:43
170
原创 lio-sam 9轴改为6轴的方法
2.在mapOptmization.cpp文件publishOdometry()函数中:设置imu数据的权重为0.#1.设置IMU的RPY值为单位矩阵。#2.设置IMU的RPY权重为0。
2025-06-27 10:49:59
213
原创 lio-sam imageProjection2
while (!elsebreak;return;++i)break;continue;return;
2025-06-06 15:35:03
329
原创 evo precision evaluation
ps:1.对这里的自动对齐有个疑问:如果用自动对齐相当于对轨迹已经作了一次优化,求解的均方根误差最小的旋转和平移矩阵,那评估结果就不准了,所以曲线是振荡的,按理说imu的累积误差是一直增大的,所以误差应该也是一直增大。evo是一个比较方便的轨迹评估工具,官方地址为:https://github.com/MichaelGrupp/evo。ps:1.tum格式,只需要给出tum轨迹文件路径即可,bag格式,要给出bag包路径 后面加上odom的话题名称。:绝对位姿评估工具/相对位姿评估工具。
2025-06-06 14:25:59
471
原创 lio-sam
紧耦合,入口为imageProjection:没有里程计信息时,仅使用imu data去做点云的角度畸变矫正;有里程计信息才会去做平移矫正(如果速度慢的话,平移矫正也不做)。
2025-06-05 14:22:39
99
原创 lio-sam project pointcloud study
索引类型核心特征数据结构垂直索引(列索引)按列(字段)组织存储数据,同列数据连续存放49列式存储(如 Parquet、ClickHouse)49行索引按行(记录)定位数据,存储记录的物理地址28行式存储(如 InnoDB B+树主键。
2025-06-05 14:22:08
270
原创 KM算法-带权二分匹配,匈牙利算法扩展
(note:不是不带权的二分图匈牙利匹配)中,如果从某个左部节点出发寻找匹配失败,那么在 DFS 的过程中,所有访问过的节点(若干条路径),以及为了访问这些节点而经过的边,共同构成一棵树。
2025-06-05 09:56:07
211
原创 ICP and GICP
很显然对于所有的mii来说,所有都取1能取得最大的极值,但是该取值必须被排除(用这个得出的R是反射矩阵),那么下一个最优的(m11,m22,…,mdd)取值就是(1,1,…(14)式中的转换是将累加转换成矩阵相乘,其中W是n×n的对角矩阵,X和Y是3×n的矩阵,这些矩阵相乘后的迹就等于等式左边的值。到上面(21)式为止,求得的R是最优的正交矩阵,但是这个正交矩阵既可以是旋转矩阵,也可以是反射矩阵。由上述两式可以知道,要求最大迹,就必须使得mii的值等于1,而M又是正交矩阵,那么M就必然是单位矩阵,即有。
2025-06-03 09:37:26
227
原创 pcl::PointCloud2 的结构与sensor_msgs::msg::PointCloud2一样,pcl::PointCloud<T>
实际是调用了pcl::PointCloud2->pcl::PointCloud,pcl::PointCloud2。定义指针时,最好用boost去创建,然后用reset去初始化。避免了很多管理操作。<->sensor_msgs::msg::PointCloud2的函数。
2025-05-28 18:43:04
208
原创 pcl::transformPointCloud
transformPointCloud 函数是 PCL点云库 (Point Cloud Library, PCL)中的一个重要函数,主要用于将输入的点云数据按照给定的变换矩阵进行坐标变换。该函数位于<pcl/common/transforms.h>头文件中,可以通过变换矩阵将点云中的每个点的坐标进行变换,从而使得点云能够在不同的参考系中表示12。在使用transformPointCloud函数时,可能会遇到段错误(segmentation fault)等问题。
2025-05-28 08:46:11
458
原创 最大流,最小割
2.构造出一个流等于一个割 当达到最大流时 根据增广路定理 残留网络中s到t已经没有通路了 否则还能继续增广 我们把s能到的的点集设为S 不能到的点集为T 构造出一个割集C[S,T] S到T的边必然满流 否则就能继续增广 这些满流边的流量和就是当前的流即最大流。且对于任意的u∈S,v∈T,有f(u,v)=c(u,v)。若f(u,v) < c(u,v),则有Gf(u,v) > 0,s可以到达v,与v属于T矛盾。因此有f(S,T)=Σf(u,v)=Σc(u,v)=C(S,T)。网络的最大流等于最小割。
2025-05-26 22:05:41
331
原创 ROS系统的一键安装过程
对于初学者来说,最难的关卡莫非是开发环境的的搭建,特别是在Ubuntu系统上ROS系统安装时后出现的各种报错以及失败,本篇博客讲述了ROS系统的一键安装过程,适用于18.04及以后的Ubuntu系统版本,大大缩减了初学者搭建ROS环境的时间。这里补充一下,如果有想要做ROS集群,多机通信,主从机通信的小伙伴,可以看看我以下的两篇文章,其中的功能包是全开源的,欢迎在两篇文章下面提出问题和建议!到这里,我们的ROS安装完成了,是不是大大缩减了搭建ROS环境的时间呢。接着 ,输入数字5,回车,一键配置系统源。
2025-05-20 11:47:03
460
原创 Cmakelists.txt 调试与字符串替换
此操作常用于需要禁用CPU架构特定优化(如跨平台编译时)或覆盖第三方工具链注入的默认标志13。输出目标变量,存储替换后的结果(原地修改原变量)2。)添加OpenMP的编译选项。CMake命令,用于为指定目标添加编译选项。DeepSeek-R1满血版 回答完成。DeepSeek-R1满血版 回答完成。这段CMake代码的作用是为特定目标(DeepSeek-R1满血版 回答完成。DeepSeek-R1满血版 回答完成。命令中,参数是否使用引号和变量解引用(变量的值中查找并替换内容12。相比直接修改全局变量。
2025-05-16 09:33:24
880
原创 vs_code 调试python文件
参照网上的配置,去掉了”--“,"args":["in_file=./Indoor_sampledata.lvx2" ,"out_file=./Indoor_sampledata1.bag" ,"pc2_topic=livox_points" ,"pc2_frame_id= livox_frame" ]报错:error: the following arguments are required: --in_file, --out_file。如果解释器选择不正确,则会出错:发生异常: ValueError。
2025-05-14 14:01:47
263
原创 ros launch 文件添加gdb 调试选项,double free or corruption (out)
1.[官网](https://gitlab.com/libeigen/eigen/-/releases)下载需要的版本的压缩包解压。==总结==使用以下命令可直接==一步完成==注意相关版本信息,如下的是eigen-3.3.0的版本。ubuntu中一键卸载安装的`.sh`文件下载链接。2.删除`eigen3`相关文件。ubuntu中一键卸载安装的.sh文件下载链接。1.官网下载需要的版本的压缩包解压。2.删除eigen3相关文件。删除eigen3相关文件。查看eigen3位置。# 下载新的编译安装。
2025-05-13 09:53:35
420
原创 证明当||x||=1时,Ax=0的最小二乘解是的最小特征值对应的特征向量
推论:若||Ax||在||x||=1时取得最小值的变量为x∗,则有||Ax||在||x||=μ,μ>0时的最优解为x∗∗=μx∗。的最小特征值或者奇异值对应的特征向量可使得Ax=0在||x||=1的条件下得到最优解法。的最小特征值所对应的特征向量可使得||Ax||最小。的最小特征值对应的特征向量,可以使得||Ax||最小,最小值是。问题:证明当||x||=1时,Ax=0的最小二乘解是。在||x||=μ,μ>0时的最优解。的特征向量这两种情况进行证明。,得到:(奇异值按照降序排列)
2025-05-11 10:19:24
331
原创 orbslam2安装
首先解决cmake ..编译报错,根据cmake的提示 CMakeLists.txt 中 cmake_minimum_required 的版本要求太低了,可能无法兼容,将最小版本要求更新或者添加一个区间即可。因为要大于3.10,选择cmake版本为3.10,也就是CMakeLists.txt中改为 cmake_minimum_required( VERSION 3.10 )将 CV_LOAD_IMAGE_UNCHANGED 更改为 cv::IMREAD_UNCHANGED。
2025-05-09 17:41:43
608
1
转载 根据大于3对的的点集计算它们之间的刚性转置信息:旋转矩阵+平移向量
一 问题描述假设P={p1,p2,...,pn}和Q={q1,q2,...,qn}是两组Rd空间中的对应点集,现在想要根据这个两个点集的数据来计算出它们之间的刚性转置信息,可以知道这其实是一个最小二乘求优问题,问题可以用如下计算式描述:其中wi>0,是点集中每个点对的权重。要求(1)式中的最小值,即为求式中对R和t求导数为0的解。二 计算位移将(1)式中的R设为不变量对t进行求导,同时令F(t)=(R,t),对F(t)求导可得:从上可以看出,问题经过转化...
2021-06-16 20:46:15
617
原创 信息熵
这恰好符合我们的认识。信息熵:信息量的期望。比如上例,设X为赛马编号,则X的信息熵为:H(X)=∑i=1npi×log2(1pi)H(X)=\sum _{i=1} ^ n p_i \times log_2 ({1 \over p_i})H(X)=i=1∑npi×log2(pi1)总之:信息量:从未知到已知所需信息的含量信息熵:信息量的期望最短的平均编码长度 = 信源的不确定...
2019-09-25 15:08:17
479
转载 OPC
在 OPC 之前,当你的 HMI 或 SCADA 软件用内置驱动程序读取数据之前,它要么得到数据要么没有数据。 如果你没有得到数据,你就无法知道最后一次获得数据是什么时候。 两者之间没有差别。使用OPC服务器,它们可以缓存或保留从设备读取的最后一个值。它们还会在缓存中为数据加时间戳(TImestamps),通常使用OPC服务器从设备读取值的时间。某些设备存储上次更改数据的时间戳,并可使用设备特定...
2018-09-29 17:09:04
560
原创 汽车结构,人工智能
人工智能在谷歌无人驾驶车的应用 日前,据Te chCr u nch报道,谷歌L 4级自动驾驶车(超 高度自动驾驶车)在钱德勒市的公共道路上测试,车内没有 驾驶员,而乘客坐在后座通过操控车内的内置按钮解锁、开 车、停车、锁车,并很快将实现商业自动驾驶,即无人驾驶打 车服务、通过无人驾驶车去旅游、购物等。 无人驾驶车的试验成功可以说是汽车行业领域的一大 里程碑,也是智能技术发展的一大里程碑,因为一辆智...
2018-08-23 20:08:11
948
原创 默认参数问题
如果在调用一个函数时,没有传递默认参数,则函数内的默认参数是对函数的默认参数属性__defaults__的引用,–-自己的理解,让我联想到赋值,浅拷贝,这里是浅拷贝,改变args的值,不会影响__defaults__[0]的值,但是改变args子对象的值,会同时让__defaults__[0]的子对象发生变化,即_defaults__[0]也发生了变化————————————...
2018-08-17 17:26:37
414
原创 作用域
变量作用域(scope)在Python中是一个容易掉坑的地方。Python的作用域一共有4中,分别是:L (Local) 局部作用域E (Enclosing) 闭包函数外的函数中G (Global) 全局作用域B (Built-in) 内建作用域以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外...
2018-08-17 16:34:43
612
转载 排序和分组
Python序列操作之进阶篇 转载 更新时间:2016年12月08日 09:31:59 投稿:daisy &
2018-08-17 09:03:12
1748
转载 NaN和None
原文出处: Exolution python原生的None和pandas, numpy中的numpy.NaN尽管在功能上都是用来标示空缺数据。但它们的行为在很多场景下确有一些相当大的差异。由于不熟悉这些差异,曾经给我的工作带来过不少麻烦。 特此整理了一份详细的实验,比较None和NaN在不同场景下的差异。实验的结果有些在意料之内,有些则让我...
2018-08-17 09:01:22
965
原创 特别重要:dataframe赋值,用Series给新列赋值,或更改新列时,如果dataframe和series的index不一样,是不能赋值成功的
所以要将index赋值为新列的时候,直接用data['date']=data.index
2018-08-16 19:43:13
11968
3
原创 列表和元组
list,tuple的差别,一个可变,一个不可变,其余几乎一样,通常列表和元组是能够互换的(参见博客DataFrame2),除了需要改变元素的地方。这里又不能替换了。...
2018-08-16 11:11:36
171
原创 dataframe2
===><一定要看官方文档,看了官方文档才明白是怎么回事DataFrameGroupBy.agg(arg改为func好对应图片, *args, **kwargs)[source]Aggregate using one or more operations over the specified axis.Parameters: func : function, ...
2018-08-15 15:23:56
279
原创 dataframe
note:内置函数名需要引号,自定义的不需要==>不是,内置函数不带引号也可以。[(x,y),z,d]:ok[{x:y},z,d]:errorgroupby和agg使用有一个注意点: 1:df[df.name.str.contains('kw')].groupby('phone')['name'].agg([('uv',pd.Series.nunique)]...
2018-08-15 11:04:56
864
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人