自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

晓晨的博客

既然选择了远方 便只顾风雨兼程

  • 博客(132)
  • 资源 (22)
  • 收藏
  • 关注

原创 ROS多消息同步(如LiDAR点云与IMU数据)

Message Filters: message_filters还提供了一些过滤器,例如message_filters::Subscriber(订阅一个主题的消息)、message_filters::Cache(缓存一段时间内的消息)和message_filters::TimeSequencer(确保消息按时间顺序处理)。Time Synchronizer: message_filters::TimeSynchronizer允许你同步两个或多个主题的消息,这些消息的时间戳必须完全相同。

2024-02-29 10:33:43 485 1

原创 利用matlab对文件夹中的jpg,png格式图片归类

对文件夹中的jpg,png格式图片进行归类,根据名称的编号移动到不同的文件夹内。

2023-12-02 11:26:18 181

原创 Endnote软件添加期刊引用格式

下载格式文件后,双击用endnote打开,然后在左上角“File”–> “Save As”,输入你想要保存的任意格式名字,然后“Save”。随后,关闭格式文件。接着,左上角,“Edit”–>“Output Styles”–>“Open Style Manager”,找到你刚才保存的格式名字,勾选。最后,在左上角,"Output Styles"中即可看到刚才添加的引用格式,选择。在下述网址中,找到你想要添加的期刊,下载引用格式文件(后缀为.ens格式)

2023-11-23 21:38:18 580

原创 R语言画图

xlab, X轴标签内容。ylab, Y轴标签内容。type, 标记类型。

2023-09-18 10:55:13 429

原创 Google Earth中的KML文件转换为CSV文件存放经纬度

弹出的窗口中只有“kmz”与“kml”两种格式,这两种格式均是google earth内置的格式(KMZ文件是KML的压缩文件),并不容易使用。因此,我们希望有csv表格或txt文档,提取其中的经纬度信息,方便查看与使用。最近进行一个小工作是在google earth中选择一系列点坐标,然后保存为csv文件或txt文件。1)使用Python中的库(如xml.etree.ElementTree)来解析KML文件并提取经纬度信息。2)使用Python中的CSV库(如csv)将经纬度信息写入CSV文件。

2023-08-16 16:16:33 1029

原创 Python版本Open3D基本使用

最近想完成一个点云进行三维旋转展示的效果,从网上找到可以通过Open3D进行实现。因此想参考上述过程实现一下,在操作的过程中遇到了一系列的问题,在此记录。1)博主安装了Pycharm作为编译器,使用学生身份认证,获取了教育版的licence。2)配合anaconda(Anaconda3-2023.07-1-Windows-x86_64.exe)进行使用,下载过程中有一步选择python版本,直接选择了最新的3.11.4,这为后续的安装open3d库带来了隐患。

2023-08-13 00:39:58 820

原创 解决 undefined reference to XXXX的类似问题

最近在使用一个第三方库时出现错误:MatchersImpl.cpp:82: undefined reference to `Nabo::NearestNeighbourSearch查找了之后发现,头文件在:“/usr/local/include/nabo"路径下,编好的动态链接库在”/usr/local/lib"路径下。这样再次编译就可以了。

2023-07-22 16:52:30 151

原创 USB串口操作(C,C++)

我们在日常使用过程中经常需要对USB串口进行一些读写操作,这里记录一下C,C++两种语言的操作过程.注意:作者使用的环境为Ubuntu,在windows系统中使用需要对应把ttyUSB转换为COM口.

2023-07-03 12:05:26 1718

原创 gnuplot画图

输入下述命令,打开两个不同的位姿文件,同时进行绘图.

2023-07-03 11:45:34 337

原创 FAST-LIO2论文阅读

之前写的一个关于FAST-LIO论文阅读的总结,可以参考FAST-LIO2是港大MaRS实验室在FAST-LIO框架的基础上进行了修改而成,集成了他们课题组的几个工作,形成了一个非常优秀且极具代表性的框架。系统的整体框架如下,与FAST-LIO相同仍然使用了一个紧耦合迭代扩展卡尔曼滤波(红色框内)。不同的地方主要在于1)直接使用输入的激光雷达原始点进行配准,去除了特征提取模块;2)增加一个ikd-tree的数据结构,能够快速的查询、增删,提高效率。

2023-06-04 15:40:53 1282

原创 Hesai激光雷达使用PTP时间同步

PTP是一个网络同步时钟的协议,全称是Precise Time Protocol,也称为IEEE 1588,其有IEEE1588v1和IEEE1588v2两个版本(其中v1版本是为工业自动化测量和控制系统开发的,适用于工业局域网应用。v2版本是在v1版本的基础上,专门针对通信网改进的,我们使用的是IEEE1588v2版本)。当硬件支持时,PTP 精度能达到亚微秒,在外界第三方PTP Master接入时连接方式如图 2中所示。

2023-06-03 15:22:09 2167

原创 FAST-LIO论文阅读

FAST-LIO是港大MaRS实验室在2021年提出的一个紧耦合迭代扩展卡尔曼滤波高计算效率、高鲁棒性的雷达里程计。影响深远,后续又陆续提出了FAST-LIO2以及Faster-LIO等框架。下面,我们简单了解一些论文中的各个模块及其处理流程。

2023-05-28 15:48:40 2599 2

原创 多激光雷达手眼标定

如上图中所示,存在一个世界坐标系G,点PPP在世界坐标系中的坐标为PGP_GPG​。在t1t_1t1​时刻,激光雷达A与激光雷达B分别观测到点PPPPA1P_{A1}PA1​PB1P_{B1}PB1​。在t2t_2t2​时刻,激光雷达A与激光雷达B分别观测到点PPPPA2P_{A2}PA2​PB2P_{B2}PB2​。在t1t_1t1​时刻,激光雷达A与激光雷达B分别到全局坐标系GGG。

2023-05-20 11:08:35 803

原创 Ouster激光雷达使用PTP时间同步

IEEE1588(the Precision Time Protocol 简称为 PTP )全称是“网络测量和控制系统的精密时钟同步协议标准”,可以使用ubuntu中的网卡作为时间的master也可以外接一个精准的时钟,来实现传感器的时间同步。本篇博客主要介绍单独使用一个NUC连接Ouster OS1-128激光雷达来实现PTP时间同步。

2023-05-12 21:29:08 1170

原创 ROS bag包提取数据

日常使用中有时需要提取bag包中的某个topic数据为新的bag包,或者裁剪其中的一段时间数据。这些功能均可以通过命令实现。可以看到,其中包含ouster的激光雷达数据(/os_cloud_node_1/points),内部IMU数据(/os_cloud_node_1/imu)以及外部IMU数据(/imu/data),总时长为202s。

2023-05-10 11:37:33 2341 1

原创 LIO-SAM-自采数据运行踩坑

Ouster-128激光雷达数据Ouster内部IMU(六轴100Hz)/ Xsens MTi 3(九轴100Hz)/ Xsens MTi-G-700(九轴400Hz)手持平台,正常行走速度,相对于无人车来说晃动较大室内、室外均进行了测试LIO-SAM预积分部分还是比较敏感的,针对无人车平台,行驶速度较慢,平台稳定,晃动幅度小,IMU频率可以设置的较低一些。

2023-05-09 23:42:04 1811 1

原创 PCL释放点云内存

最近在处理一块样地的多站地基点云数据时,遇到了一个问题:每一站的点云数据量过大,超过1亿点,全部读进内存中会导致内存溢出,程序崩掉。因此,在读取了第一站点云之后要及时释放PCL中的点云变量,接着再读第二站数据,依次处理。但是,都没有实际解决问题。

2023-05-05 16:40:06 1845 3

原创 解决VSCode 中第三方库代码无提示的问题

首先,按下快捷键Ctrl + Shift + P,输入edit configuration,选择C/Cpp: Edit Configurations…,此时会在工程的配置目录.vscode下生成一个配置文件:c_cpp_properties.json。在Ubuntu 18.04 + VSCode的工作环境中写代码还不算太熟悉。最近在新建一个工程,并引用了外部的第三方库进行使用时不能出现提示代码,写起来很费劲。后来找到原因是没有编写对应的c_cpp_properties.json文件。

2023-05-04 11:51:40 2005 1

原创 Ubuntu 启动出现error:/vmlinz-generic has invalid signature

本来Win 10 + Ubuntu 18.04工作环境好好的,但是一次野外作业电量耗光了,直接关机。回到实验室,插上电源再次开机出现error:/vmlinz-generic has invalid signature的提示。点击确认之后反复开关机就是进不去系统。最后发现是因为BIOS恢复成了默认的设置,所以我们需要再修改一下BIOS的安全模式。4、选择disable(禁用安全模式)3、找到secure boot。

2023-04-27 21:49:31 464

原创 (Ubuntu 20.04)fatal error: websocketpp/config/asio_no_tls.hpp: No such file or directory

【代码】(Ubuntu 20.04)fatal error: websocketpp/config/asio_no_tls.hpp: No such file or directory。

2023-04-27 14:32:23 395

原创 ubuntu 20.04 cannot find -lboost::thread

Ubuntu 20.04安装禾赛类带驱动时,提示出现下述错误:

2023-04-26 23:21:26 304

原创 利用ArcGIS软件赋予tif影像空间参考坐标系

利用ArcGIS软件中的Georeferencing工具,选择三个及以上的关联点,即可求解空间中的任意平移、旋转变换。

2023-04-23 10:08:29 6190

原创 点云配准方法原理(NDT、ICP)

配准是点云处理中的一个基础问题,众多学者此问题进行了广泛而深入的研究,也出现了一系列优秀成熟的算法,在三维建模、自动驾驶等领域发挥着重要的作用。本文主要介绍粗配准NDT (Normal Distribution Transform) 与 精配准ICP (Iterative Closest Point)两种经典算法。

2023-02-19 17:48:11 2279

原创 箱状图理解

箱形图(英文:Box plot),又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图。其于1977年由美国著名统计学家约翰·图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、及上下四分位数。

2023-02-15 15:49:01 4237

原创 Ubuntu中自定义terminal输出文字颜色

我们在Ubuntu中经常使用terminal进行各种操作,输入各种命令。此外,我们在编程时自己输出一些信息也会在terminal中进行显示。但是,其默认的输出都是白色的文字,非常的不起眼,下面我们通过定义一些简单的变量来定义输出信息的颜色/加粗等格式,使重要信息能够得到强调。大家感兴趣的可以试一下。

2023-02-13 09:33:53 647

原创 自定义Ouster(OS1-128)点云类型

我们在使用ROS接收Ouster点云数据的对应topic,处理其点云数据时,如果仅使用PCL库中定义的PointXYZ或者PointXYZI等类型,会导致丢失一些非常有用的信息。如每个点的线号(ring),在当前帧中的对应时间等。中的xyz,intensity,t,reflectivity,ring,ambient,range等一系列属性信息了。因此有必要根据驱动自定义对应的点类型,方便我们使用更全的点云信息。PCL中自定义点云类型。之后,我们就可以使用。

2023-02-05 15:29:54 455

原创 Ubuntu 18.04使用CMake编译可执行文件、动态链接库

之后,我们在build文件中可以找到一个新生成的Test文件。文件,这就是我们需要的动态链接库,能够分享给其他人进行使用。保存之后,在build文件中打开一个终端,输入下述命令。同样的,在build文件中打开一个终端,输入下述命令。在开始之前,我们先准备一个项目所需要的基本结构。中新建一个test.cpp文件,并加入以下内容。至此,我们完成了编译生成可执行文件的操作过程。我们可以看到新生成了一个。

2023-01-02 22:07:26 1856 4

原创 LIO-SAM代码逐行解读(5)-点云匹配及后端优化模块

我们在前述的博客中介绍了LIO-SAM的一些准备工作、点云预处理、特征点提取、IMU预积分等内容。之后,我们来到了最核心也是最重要的一部分工作,把(3)中提取的特征点进行匹配,获取激光里程计,并添加回环检测因子、GPS因子等进行后端优化。详细参考:LIO-SAM代码逐行解读(1)-准备工作LIO-SAM代码逐行解读(2)-点云预处理LIO-SAM代码逐行解读(3)-特征点提取LIO-SAM代码逐行解读(4)-IMU预积分LIO-SAM回环检测模块代码解析自定义数据结构,存储激光雷达位姿6D p

2022-12-31 11:27:38 2037 7

原创 LIO-SAM代码逐行解读(4)-IMU预积分

我们在前述的博客中介绍了LIO-SAM的一些准备工作、点云预处理、特征点提取等内容。之后,整理为cloud_info消息类型进行发布,包括其中的面片点、角点两种类型的特征点。接着,本篇博客中将重点介绍IMU预积分的相关处理,与前部分的内容相对独立一些。其发布的IMU里程计数据主要用于后续匹配的初值、点云去除运动畸变(实际未使用)等方面。

2022-12-30 23:46:46 1300

原创 LIO-SAM代码逐行解读(3)-特征点提取

我们在前述的博客中介绍了LIO-SAM的一些准备工作、点云预处理等内容。之后,整理为cloud_info消息类型进行发布,以供后续特征点提取进行使用。接下来,我们进行后续的工作,根据点的平滑度来进行特征点提取,包括面片点与角点。这一部分还是比较简单明了的,总体来说就是先计算平滑度,接着根据平滑度的值排序,选取其中的面片点与角点。

2022-12-30 22:28:21 1272

原创 LIO-SAM代码逐行解读(2)-点云预处理

我们在上一篇博客中介绍了LIO-SAM的一些准备工作,包括用于读取各种参数的ParamServer类,以及自定义的ROS消息类型cloud_info。本篇博客中,我们主要讨论接收点云后投影到一个平面上,为后续的特征提取做准备的相关内容,称之为“点云预处理”部分。

2022-12-30 15:11:01 917

原创 LIO-SAM代码逐行解读(1)-准备工作

针对Shan Tixiao开源的经典LIO框架LIO-SAM源代码进行逐行解读,总结。记录在这里希望能够给大家提供一些参考。这里是第一部分,主要是开始的一些准备工作,包括 utility.h文件,cloud_info.msg文件等。

2022-12-30 14:16:19 834

原创 模型驱动PDR、数据驱动PDR实验效果对比

相比于模型驱动PDR,数据驱动PDR的鲁棒性更强,尤其能够较好的处理转弯,掉头等航向角迅速变化的动作。逐步增加训练epoch能提高模型在复杂运动中的适应能力增加训练数据量,在平端、摆臂等行走状态下,从指标上来看没有明显的精度提高,从视觉效果上来看更加贴近真实情况;增加训练数据量,在T形多种动作切换状态下获取的轨迹长度更加贴近真值。

2022-12-28 11:21:08 878 1

原创 NVIDIA Jetson Xavier NX部署VINS-fusion-GPU

组内大佬师兄今天抽出时间总结了一篇博客,主要内容是:把在阿木P450无人机上,对自带的NVIDIA Jetson Xavier NX边缘计算机部署VINS-fusion-GPU教程,并进行实验。

2022-11-15 22:23:27 957

原创 G2O (General Graph Optimization)入门及简单使用

g2o全称是General Graph Optimization,也就是图优化,我们在做SLAM后端或者更加常见的任何优化问题(曲线拟合)都可以使用G2O进行处理。

2022-10-30 11:10:42 6185

原创 RoNIN: Robust Neural Inertial Navigation预训练模型测试

接着上篇的文章继续往下讲:RoNIN: Robust Neural Inertial Navigation in the Wild: Benchmark, Evaluations, and New Methods是深度学习应用于PDR的典型,下面我们就基于这篇文章进行测试,查看深度学习PDR的效果。

2022-10-23 20:01:24 765 1

原创 KD-Tree的构建及检索

我们在点云处理中经常使用构建KD-Tree数据结构,接着用于高效查询近邻点。经常直接调用PCL函数过于简单,在这里我们对KD-Tree的构建及检索原理进行讨论。最后,介绍一下在PCL中KD-Tree的基本使用方法。

2022-10-17 22:25:43 1575

原创 LIO-SAM回环检测模块代码解析

前端里程计是一个不断递推相邻帧位姿的过程,其必定存在累计漂移。为了解决这一问题,回环检测并进行后端优化是一个重要的环节。下面以典型激光SLAM框架LIO-SAM为例进行解析,学习其进行回环检测的策略。

2022-10-17 11:59:24 1413

原创 Ubuntu常用命令

把常用的Ubuntu命令总结如下,作为记录,方便使用。

2022-10-16 21:36:17 184

原创 用了梯子,github 配置了公钥依旧提示[email protected]‘s password: Permission denied, please try again. 的解决办法

在 配置了公钥之后我们应该是可以通过SSH方式直接上传或下载github上的仓库的,但是在实际使用过程中由于用了梯子,导致不能使用ssh的方式登录github,还是提示要输入密码[email protected]‘s password: ,没有达到我们想要的效果。如果你能在端口 443 上通过 SSH 连接到 [email protected],则可覆盖你的 SSH 设置来强制与 GitHub.com 的任何连接均通过该服务器和端口运行。最后再去使用git命令通过SSH方式链接就完全没问题了。

2022-10-12 21:34:20 3636

PDR (Pedestrian Dead Reckoning)行人航位推算实现代码(matlab)

压缩包中包含采集的数据与代码,直接运行pdr_main.m文件即可查看实现效果。 实现原理参考链接:https://blog.csdn.net/wxc_1998/article/details/127265887?spm=1001.2014.3001.5502

2022-11-25

Synergy 鼠标键盘共享软件,1.8.8免费版

Synergy 鼠标键盘共享软件,1.8.8免费版

2022-07-02

搜狗拼音Linux旧版本 sogoupinyin_2.3.1.0112_amd64

实测适用于Ubuntu 18.04

2022-06-29

使用sudo apt-get安装系统自带的BOOST库

使用sudo apt-get安装系统自带的BOOST库

2022-06-19

使用sudo apt-get 安装PCL

使用sudo apt-get 安装PCL

2022-06-19

三维旋转-四元数-万向锁介绍.zip

Krasjet在文档中详细描述了关于三维旋转过程中遇到的“万向锁”问题,对此解读的十分详细,值得一看。

2021-08-03

二维坐标转换MATLAB源代码

实现任意二维坐标系之间的相互转换,包括直接法与最小二乘法优化两种方法。注释详细,同时可以参考博主博客解析 https://blog.csdn.net/wxc_1998/article/details/118853843

2021-07-17

Coord4.0.zip

一个简单的坐标转换软件,能够快速实现单点/批量处理各种坐标转换中的问题

2021-07-12

点云配准NDT算法测试数据

点云配准NDT算法测试数据,可以查看我的博客进行理解并使用代码进行测试。

2021-06-21

rosdistro-master.zip

ROS安装过程中不能访问外网时rosdep update出现time out的错误,下载的rosdistro-master文件,指向本地链接。

2021-06-14

20-default.list

ROS安装过程中使用rosdep init 命令所下载的文件(针对外网不能访问情况的解决方法)

2021-06-14

matlab_custom_function.zip

matlab是我们常用的一个数学工具,在实际使用中常常需要进行自定义函数表达式,此文件中包含了线性、二次、高斯、广义高斯、对数正态等多种常见函数表达式,可以为大家在matlab中自定义函数提供一些借鉴。

2020-07-11

“布料模拟”滤波算法(张吴明教授文章)

张吴明教授在2016年提出的布料模拟”滤波算法,从一个新的角度进行点云地面点滤波,可以简单、方便的设置滤波器参数,并取得了不错的效果。(博客中基于这篇文章的理解对此算法进行了简要介绍)。

2020-07-08

Progressive Morphological Filter

本资源是Keqi Zhang 等人提出的Progressive Morphological Filter算法最原始的文章,用于点云数据地面点分割,以生成DEM/DTM,算法已经集成在点云开源库PCL中,可以很方便的进行使。(根据对此算法的理解,总结在博客中。)

2020-06-29

DEM-generation.zip

点云处理中地面点滤波算法PTD(progressive TIN densification)的介绍文章,包括Axelsson在2000年提出的会议文章以及Jixian Zhang在2013年提出的改进算法。

2020-06-21

eigen3.zip

一个非常方便的 C++ 矩阵运算库,在项目中配置非常轻便。 使用了之后可以兼顾MATLAB的便捷和C++的效率。

2020-03-03

Python安装的GDAL包,包括4个版本

在安装python中安装GDAL所需要的whl文件,包括常用的python 3.6 win 32、python 3.6 win 64、python 3.7 win 32、python 3.7 win 64四个版本,若有需要可自行下载。

2020-02-26

py_example1-8.zip

作者在进行Python学习过程中通过教材(笨方法学Python)写了几个小例子,没有什么技术含量,纯属练习使用。

2019-08-19

三维模型(柜子)

作者通过skech up 做的一个三维小柜子,比较细致的,可以转出为3ds

2018-04-22

图像傅里叶变换(MATLAB)

资源是本人在计算机图像处理课程的结课作业做的一个图像傅里叶变换,可以完成把图像从空间域转换为频率域

2018-04-22

考研各大导师介绍、机构信息

考研整理,非常实用,包括国内外各个遥感机构及大佬导师的联系方式

2018-03-06

简单计算器

本程序是作者在学习C#过程中在老师指导下尝试完成的一个计算器小程序,可以很好的实现计算器的四则运算。并考虑了优先级,希望可以对大家编程过程中有一些参考。

2017-10-19

C语言素数求解

此程序是作者本人在学习C语言过程中练习写的,主要内容为利用子函数求某一特定范围内的素数,简单易懂,可以作为C语言新手的很好参考案例。

2017-10-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除