- 博客(49)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 fasterlio编译出错/faster-lio/src/pointcloud_preprocess.cc:50:24: error: ‘std::execution’
问题原因:c++版本过低。解决办法:升级c++版本。
2025-02-27 15:04:21
105
原创 实现ros1和ros2通信,ROS1与ROS2之间的桥梁
我使用的环境是ubuntu20.04,ros1的版本为noetic,ros2的版本为foxy。在ros1和ros2通信之前,先将原来的bash环境注释。1.打开ros1的roscore。3.ros1发送messages。4.ros2接收message。编译ros1_bridge。编译成功之后开始运行。
2025-02-27 10:26:10
192
原创 ubuntu20.04安装使用direct_visual_lidar_calibration标定雷达和相机
官方链接官方安装方式安装依赖安装GTSAM安装ceres安装Iridescence。
2025-01-23 16:51:37
1719
5
原创 解决ubuntu22.04常见问题
选择区域与语言→添加或删除语言→选择中文→菜单和窗口语言中将灰色的中文移动到最上面→重启。ubuntu22.04识别不了蓝牙设备。
2024-12-20 16:00:35
435
原创 使用kalibr_calibration标定相机(realsense)和imu(h7min)
另外可以再加两个(非必要): /camera/left/camera_info /camera/right/camera_info。2.录制的时候要注意按照官方的说法-充分激励IMU- 绕3个轴旋转和3个方向的平移,这里有个官方视频介绍,打不开的话有人把它搬到B站上了。4.1下载imu_utils和code_utils,并将imu_utils和code_utils放在工作空间下。4.2编译成功以后,再把imu_utils放到工作空间的src下面,进行编译。(我参考了这篇博客的imu)4.5获得这四个参数。
2024-11-06 21:28:36
1629
3
原创 oak相机使用oak官网方式标定
畸变参数D: [-1.87286, 16.683033, 0.001053, -0.002063, 61.878521, -2.158907, 18.424637, 57.682858, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]内参矩阵 K: [1479.458984, 0.0, 950.694458, 0.0, 1477.587158, 530.697632, 0.0, 0.0, 1.0]-cd:拍摄照片前的倒计时时间(以秒为单位)(可选,建议用于更快的图像校准)。
2024-07-10 17:41:22
1373
原创 鲁班猫系统镜像烧录
烧录鲁班猫系统镜像,配置鲁班猫环境,将整个环境打包用于其他鲁班猫。先将一个空镜像烧到SD卡中,使用SD卡将鲁班猫开机,使用dd备份,将鲁班猫的系统拷贝到u盘中,再次使用dd备份,将u盘中的镜像拷贝到新的鲁班猫中。
2024-07-10 14:36:41
1491
1
原创 realsense D435l+mid360标定
image_file中存放相机拍摄的图片,pcl_file中存放雷达的点云数据(雷达点云数据采用fastlio算法生成),result_file中存放点云和图片配准的内外参数结果。将上一步生成的相机内参放入camera中。修改calib中的outdoor的yaml文档。
2024-07-10 14:14:40
1749
2
原创 22.04The repository ‘http://packages.ros.org/ros/ubuntu jammy Release‘ does not have a Release file.
【代码】22.04The repository ‘http://packages.ros.org/ros/ubuntu jammy Release‘ does not have a Release file.
2024-04-02 10:48:32
347
原创 使用msys2进行交叉编译
在 MSYS 的基础上,还有一个叫做 MSYS2 的项目,它进一步扩展了 MSYS 的功能。进入helloworld文件夹后,直接编译会报错,提示没有arm-sylixos-eabi-gcc,实际上我们在编译base工程的时候已经使用了gcc,解决办法,通过everything查找arm-sylixos-eabi-gcc可执行程序,进入其目录。继承关系: MSYS2 可以看作是对 MSYS 的继承,因为它保留了 MSYS 的一些核心概念和工具,同时在此基础上添加了更多的功能和更新的软件包。
2024-01-18 14:33:07
2056
原创 实现LCM在docker之间的通信
打开新的终端,再运行一个容器并加入到 test-net 网络。里时,需要设置如下环境变量(两台电脑命令行窗口都运行这条)。通过ping来验证容器间的互联关系。
2024-01-09 09:44:48
767
原创 Ubuntu22.04安装VTK8.2
主要配置参数,ccmake .. 之后需要按c进入配置界面,修改的时候直接按enter键就可以了,修改完之后按c进行配置文件,配置完成之后按e返回配置界面。最后按g完成配置,按e回到终端。这一步我试过,红色框框里面我都是空的,网上说configure一下就可以出现这些,但是我configure一下还是出错了,红色区域内只有一个文件。此时会弹出这个界面,填好上面两行之后,将advanced勾上,然后就可以对红色区域有选择性的勾选。自己选择合适的版本进行下载,解压到VTK文件夹下,再新建文件下名为build。
2024-01-03 11:14:44
2503
原创 从零开始Ubuntu22.04跑ORB-SLAM3代码
但是最好不要安装OpenCV4以上(4默认不会生成.pc文件,最后查看版本的时候查看不到,找不到包,网上有人说是编译选项没选好,我改了,还是不行,我也不知道是啥原因,最后我换了3.4版本的)②输入命令“sudo ./qt-opensource-linux-x64-5.9.8.run”,进行qt安装,默认会将qt安装在/opt下。然后在你的文件夹下,我的是ORB-SLAM3文件夹下,创建一个文件夹叫dataset。最后还是报错,内存不够。然后,在ORB-SLAM3的源码中,有一个Examples文件夹,
2022-09-27 17:00:57
7246
7
原创 无人机飞控系统硬件设计
飞控系统主要负责无人机在执行任务或其他飞行模式下的飞行姿态、导航、航迹、自动控制等。飞控系统具备的主要功能有:(1)信号采集与处理,实时检测无人机的位置、高度、加速度、航向角和角速率等状态参数。(2)输出控制信号,根据采集到的无人机数据,进行相应的数据处理和控制率解算,将控制信号输出到对应的控制对象改变航行姿态实现对无人机的精确控制。(3)实现对机内其他电子部件的控制和数据联通以及其他扩展应用。...
2022-08-10 17:24:09
8557
3
原创 SIFT介绍与matlab+VL_feat实现
(1)sift特征提取步骤 1. 建立高斯差分金字塔 O组(octave 默认大小为 )照片,每组L层(L=n+3,L一般为3~5) ;一共 O*L张照片。 每一组中每层采用不同的高斯模糊核,下一组由 上一组进行下采样得到。 图片说明了每一组每一层中的照片采用的模糊核是多少。 (第1组的第1层为,第2组第1层为2......
2022-04-09 14:32:42
2153
6
原创 census介绍与python实现
立体匹配之Census Transform1、立体匹配算法主要可分为两大类:基于局部约束和基于全局约束的立体匹配算法.(一)基于全局约束的立体匹配算法:在本质上属于优化算法,它是将立体匹配问题转化为寻找全局能量函数的最优化问题,其代表算法主要有图割算法、置信度传播算法和协同优化算法等.全局算法能够获得较低的总误匹配率,但算法复杂度较高,很难满足实时的需求,不利于在实际工程中使用.(二)基于局部约束的立体匹配算法:主要是利用匹配点周围的局部信息进行计算,由于其涉及到的信息量较少,匹配时间较短,因此
2022-04-09 14:03:36
1743
8
原创 结构张量structure tensor(matlab)
目录一、结构张量是什么二、如何用matlab实现1、打开matlab软件,点击新建,出现编辑器界面2、将以下代码复制到编辑器中(注意命名规则,不然容易出错,文件名有*代表还没有保存)3、点击运行,出结果4、注意事项参考文档一、结构张量是什么根据结构张量能区分图像的平坦区域、边缘区域与角点区域。此算法也算是计算机科学最重要的32个算法之一了。链接的文章中此算法名称为Strukturtensor算法,不过我搜索了一下,Strukturtensor这个单词好像是德.
2022-04-06 15:05:08
2731
11
原创 CMake的理论与实践
1、什么是CMakeCMake 是"Cross platform MAke"的缩写• 一个开源的跨平台自动化建构系统,用来管理程序构建,不相依于特定编译器• 需要编写CMakeList.txt 文件来定制整个编译流程(需要一定学习时间)• 可以自动化编译源代码、创建库、生成可执行二进制文件等• 为开发者节省大量时间,工程实践必备 Write once, run everywhere CMake 不再使你在构建项目时郁闷地想自杀了 -- 一位开发者 学习资料:官网:www.cmake.or
2021-11-05 15:35:48
3536
7
原创 ORB_SLAM2 源码解析 特征匹配 (五)
目录一、单目初始化中的特征匹配SearchForInitialization二、跟踪(TrackwithModel)TrackReferenceKeyFrame三、词袋介绍BoW1、直观理解词袋2、词袋基本思想3、从字典结构到k-d树K-means聚类4、相似度计算TF-IDF5、总结词袋模型四、词袋大概流程闭环检测:加速匹配如何制作、生成BoW? 为什么 BOW一般用 BRIEF描述子?速度方面在精度方面可视化效果离线训练 vo.
2021-10-19 17:05:35
6994
17
原创 基于光流跟踪和功能匹配(称为LK-ORB-SLAM2)融合的立体视觉气味测量算法
1、如何解决光流跟踪过程中丢失特征点的问题建议采用自适应匹配帧插入方案,以及时停止光流跟踪,并在正确的时间插入匹配帧并检测新功能点,以保持 LK-ORB-SLAM2 运行2、ORB-SLAM2的工作流程:检测功能点、立体声匹配、功能匹配和运动估计首先提取特征点。功能检测后是立体声匹配过程。然后,在前一帧中创建的场景点投影到当前帧中,并与当前帧匹配以获得多个功能对应。最后,可以使用通用的 3D-2D 算法计算运动。3、LK-ORB-SLAM2的工作流程当 LK-ORB-SLAM2 加载帧时
2021-10-11 11:48:21
3666
5
原创 ORB_SLAM2 源码解析 地图点、关键帧和图结构(四)
目录一、地图点地图点代表性描述子的计算地图点法线朝向的计算地图点和特征点的区别生成地图点二、关键帧什么是关键帧为什么需要关键帧如何选择关键帧关键帧的类型及更新连接关系父子关键帧更新连接关系更新局部关键帧三、共视图 本质图 扩展树共视图 (Covisibility Graph)共视图的作用本质图(Essential Graph)本质图优化扩展树(spanning tree)子关键帧和父关键帧构成一、地图点地...
2021-09-23 18:59:30
3996
24
原创 Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map详细过程
我在编译过程中主要参考了以下几篇博客:Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map_Andyoyo007的博客-优快云博客编译高博ORBSLAM2_with_pointcloud_map,用TUM数据集测试。_Seven的博客-优快云博客1、下载源代码git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git2、将其中的压缩包解压,将压缩包中的OR
2021-09-23 18:10:32
1706
3
原创 在ubuntu系统下测试Pangolin是否安装成功
cd Pangolin/examples/HelloPangolincmake .make./HelloPangolin
2021-09-15 17:09:08
4421
7
原创 在ubuntu系统中测试opencv是否安装成功
cd opencv-3.4.7/samples/cpp/example_cmakecmake .make./opencv_example
2021-09-15 16:56:18
5006
1
原创 ORB_SLAM2 源码解析 单目初始化器Initializer(三)
一、地图点初始化https://blog.youkuaiyun.com/m0_58173801/article/details/119891999?utm_source=app&app_version=4.14.1在看代码之前可以先看看我前面2D-2D对极几何的介绍,里面详细的说明了本质矩阵E和基础矩阵F的具体求解步骤。初始换函数(Initialize):通过两帧匹配关系恢复帧间运动,并计算地图点的位置。为什么要初始化 因为刚开始没有地图点和初始位姿,用两帧匹配好的特征点三角化得到很...
2021-09-07 16:51:34
2025
29
原创 ORB_SLAM2 源码解析 ORB特征提取(二)
目录一、各成员函数变量1、定义一个枚举类型用于表示使用HARRIS响应值还是使用FAST响应值2、内联函数都是用来直接获取类的成员变量的3、保护成员二、计算特征点的方向 computeOrientation()2.1、灰度质心法算法步骤 1、计算一个半径为15的近似圆2、计算特征点角度3、IC_Angle 计算技巧4、灰度质心法计算公式5、计算特征点的方向(computeOrientation)三、FAST描述子BRIEF描述子生成步骤...
2021-08-31 16:27:54
3416
67
原创 ORB_SLAM2 源码解析 ORB_SLAM2简介(一)
一、ORB_SLAM2的特点 1、ORB_SLAM2是首个支持单目、双目和RGB-D相机的完整开源SLAM方案,能够实现地图重用,回环检测和重新定位的功能。 2、能够在GPU上进行实时工作,比如手机、无人机、汽车。 3、特征点法的巅峰之作,定位精度非常高。 4、能够实时计算处相机的位姿,并生成场景的稀疏三维重建地图。二、算法流程框架ORB-SLAM整体流程如下图所示它主要有三个线程组成:跟踪、Local Mapping(又称小图)、Loop Closing(又称大图...
2021-08-29 16:18:28
11766
24
原创 opencv-python基本图像处理
一、使用matplotlib显示图import matplotlib.pyplot as plt #plt用于显示图片import matplotlib.image as mping #mping用于读取图片import numpy as nplena=mping.imread('1.jpg') #读取和代码同一目录下的图片#此时lena就已经是一个np.array了,可以对它任意处理lena.shape#(512,512,3)plt.imshow(lena) #显示图片plt.axis
2021-08-28 14:23:51
3643
17
原创 python代码编写
目录一、while语句二、input三、for name,r in rs.item()四、def a() 定义函数五、def f(x)六、def f(x,y)1、f(2,1)2、f(y=1,x=2)3、x,y的值在刚开始就给了定义,后面是否能改变x,y的值,使结果发生变化七、return八、def b(f_name,l_name)定义字典函数九、cs=[1,2,3]→cs=[3,2,1]十、__int__十一、类与继承一、while语句..
2021-08-28 14:12:24
1244
4
原创 slam 直接法(七)
目录一、直接法的不足之处与解决方法二、光流法(optical flow)三、直接法计算过程一、直接法的不足之处与解决方法 不足 1、关键点提取与描述子计算耗时 2、信息容易丢失 3、特征缺失:比如说一堵白墙,空荡荡的走廊就会出现找不到特征点的情况解决方法 1、保留特征点,单只计算关键点,不计算描述子 光流法(optical flow):来跟踪特征点的运动 直接法(Direct Method...
2021-08-26 14:26:06
599
2
原创 slam 3D-3D ICP (六)
目录一、介绍ICP(Iterative Closest Point)二、求解ICP1、使用线性代数SVD求解2、线性SVD求解方法总结2.1、计算两幅图像匹配好的3D点的质心坐标,然后计算去质心坐标:2.2、计算旋转矩阵2.3计算t2、非线性优化方法一、介绍ICP(Iterative Closest Point) 前面两节内容我们已经介绍过2D-2D,2D-3D,这节我们来介绍3D-3D的算法。3D-3D就是两张深度图像来生成点云。使用深度相机...
2021-08-26 13:56:17
515
原创 slam 3d-2d pnp(五)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分
2021-08-26 11:55:30
772
运行高翔14讲第七单元orb特征提取时遇到以下问题怎么办
2021-07-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人