自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (7)
  • 收藏
  • 关注

原创 运行rosbag并从提取图像话题提取图片

如果输出的图片数量与rosbag info命令查询得到的数量不符,可以减少_sec_per_frame参数的值。

2024-07-12 14:57:35 196

原创 Origin 点线图 数据点显示不全

这个现象的原因其实是Origin将坐标轴外的部分截掉了。我们可以通过简单的设置来显示完整的点。如图,Origin作图,图像边缘的数据点显示不全。双击曲线,选中Layer-display。"裁去图层框架外的数据"勾选去掉即可。

2024-07-12 14:36:56 1579

原创 ubuntu20.04安装配置openMVG+openMVS

主要跟着官方教程逐步安装。

2024-06-18 17:23:15 443

原创 ROS多线程处理方法

需要注意的是, 最好使得每个子流程的处理时间相近, 若子流程之间有相互逻辑关系, 需要加入一些其他的控制标识量.下面线程函数中的循环, 可用于处理耗时较高的任务, 例如地图建模/点云分割/运动规划等。(2) 将耗时高的算法流程分解为多个相对独立的子流程, 每个子流程放在一个新线程中.对于流程较长且循环执行的算法, 如果将所有处理任务都放在一个ROS节点的主线程中,下面主函数中的循环, 可用于处理耗时低的任务, 例如传感器数据回调函数。ROS本身占用计算资源较多, 且多传感器的时间戳不同步.

2024-06-12 10:02:28 398

原创 ROS自带的OpenCV库和自己安装版本冲突问题现象及解决方法

根据编译过程提示是opencv版本冲突问题,但是仅以警告形式出现,程序可以编译通过并运行,但是运行过程中报错。在工程的CMakeList.txt中指定工程所使用的OpenCV库的具体版本,可以通过设置精确库路径。

2024-06-04 11:02:19 633

原创 c++对vector容器中的自定义对象进行排序(sort)

【代码】c++对vector容器中的自定义对象进行排序(sort)

2024-06-01 10:21:14 319

原创 opencv库与opencv_contrib配置编译过程报错记录及解决

问题原因:opencv_contrib库中opencv库版本设置与安装的版本不符合。错误原因:ceres库版本不符,使用版本为2.2.0。错误原因:ceres库版本不符,使用版本为2.1.0。解决方法:更换ceres-2.0.0。解决方法:更换ceres-2.0.0。

2024-05-30 20:43:21 418

原创 Eigen库常用函数及用法

include // 基本函数只需要包含这个头文件// 固定了行数和列数的矩阵和Matrix3d一致.// 固定行数.// 和MatrixXd一致.// 按行存储;默认按列存储.// 3x3 float 矩阵.// 3x1 float 列向量.// 1x3 float 行向量.VectorXd v;// 动态长度double型列向量x.size() // length(x) // 向量长度C.rows() // size(C,1) // 矩阵行数。

2024-05-25 15:44:41 393

原创 C++使用opencv库实现读写yaml文件参数

【代码】C++使用opencv库实现读写yaml文件参数。

2024-05-25 10:27:09 305

原创 ROS_INFO带颜色输出格式

【代码】ROS_INFO带颜色输出格式。

2024-05-24 18:20:40 385

原创 Ubuntu在Docker环境中使用ROS并使用GPU的启动命令

bashrc 文件。

2024-04-22 14:17:32 145

原创 Docker基础使用

三要素:镜像image 容器container 仓库repository。容器:软件安装后的状态,每个环境运行都是独立的。容器是用镜像创建的运行实例。镜像:类似软件安装包。docker常用命令。

2024-04-03 11:11:35 115

原创 在Docker中使用ROS的rviz时出现错误“libGL error: No matching fbConfigs or visuals found;“的解决方法

【代码】在Docker中使用ROS的rviz时出现错误"libGL error: No matching fbConfigs or visuals found;"的解决方法。

2023-12-14 20:45:57 934

原创 在Docker中使用ROS的rviz时出现错误“D-Bus library appears to be incorrectly set up;“的解决方法

【代码】在Docker中使用ROS的rviz时出现错误 "D-Bus library appears to be incorrectly set up;" 的解决方法。

2023-12-14 20:36:05 398

原创 ICP算法和优化问题详细公式推导

ICP(Iterative Closest Point):求一组平移和旋转使得两个点云之间重合度尽可能高。

2023-07-22 16:43:13 511

原创 Ubuntu修改文件夹下面所有文件权限的方法

ubuntu修改文件夹下所有文件权限方法

2022-10-23 11:57:06 24264 1

原创 使用CamLaserCalibraTool联合标定D455与思岚A3外参

使用MegviiRobot / CamLaserCalibraTool外参标定工具实现单线激光雷达和单目相机的外参联合标定。

2022-07-11 11:30:02 818 3

原创 使用OpenMVG获取相机位姿的方法

使用开源三维重建库OpenMVG,提取相机位姿

2022-07-11 10:38:33 1177

原创 matlab循环读取文件

一般情况下,假如我要读取一个名为a.txt的文件,只需要利用下面的语句:a=load('a.txt');现在假如我需要循环读取saif_1.txt,saif_2.txt,,,一直到saif_10.txt,可以利用下面的语句:for N=1:10a=load(['saif_',num2str(N),'.txt']);end其中,[‘a’,‘.txt’ ]可以实现对于字符串的连接,结果为a.txt,配合for循环和num2str函数,可以轻松地实现循环读取文件。ref:https://blog

2022-05-08 10:00:46 4255

原创 提取rosbag中的图像话题存为本地图像

新建存放图片文件夹在目标文件夹目录下运行$ rosrun image_view extract_images _sec_per_frame:=0.05 image:=<ROSIMAGESTOPIC>其中<ROSIMAGESTOPIC>为rosbag中的图像话题名称打开另一个终端播放rosbag$ rosbag play <BAGFILE>其中<BAGFILE>为rosbag文件路径...

2022-04-21 19:57:15 896

原创 cmake相关:sudo make install后的卸载

sudo make install后的卸载 我们知道linux中一般的编译一个package的顺序是 git clone package.gitcd packagemkdir build && cd buildcmake ..makesudo ...

2022-04-04 16:22:07 1794

原创 C++基础:第八章 深入IO

第八章 深入IO第1节 序第2节 IOStream概述流式IO而非记录IO处理的主要问题表示形式的变化:使用格式化/解析在数据的内部表示与字符序列之间切换与外部设备的通信:针对不同的外部设备引入不同的处理逻辑涉及到的操作格式化/解析缓存编码转换传输采用模板来封装字符特性,采用继承来封装设备特性常用类型实际上是类模板实例化的结果第3节 输入和输出分为格式化和非格式化两类非格式化:不涉及数据表示形式的变化常用输入函数:get/read/getline/gcount

2022-03-24 20:51:56 796

原创 C++基础:第七章 函数

第七章 函数第1节 函数基础栈帧结构函数的外部链接第2节 函数详解传值、传址、传引用传参数时的类型退化,传数组时函数形参退化成指针,所以形参不要写数组个数多维数组作为函数参数时void fun(int (*par)[4])int a[3][4] = {0};fun(a);避免退化的写法void fun(int (&par)[3]) int a[3];fun(a);变长参数initializer_list ,变量类型必须相同#include &l

2022-03-24 20:48:35 774

原创 C++基础:第六章 语句

第六章 语句第1节 语句基础常见类别:表达式语句,求值后丢弃 2+3;空语句复合语句,用大括号,形成独立的域顺序语句按先后顺序执行实际执行顺序可能产生变换(编译器优化)与硬件流水线紧密结合执行效率较高非顺序语句跳转一般情况效率较低第2节 分支语句if语句else 会与最近的if匹配C++17 常量表达式if constexpr (常量表达式) //编译器优化,避免不会被执行的分支{ //.....}else{ }带初始化语句的i

2022-03-24 20:43:22 711

原创 C++基础:第五章 表达式基础与详述

第五章 表达式基础与详述第1节 基础:引入表达式由一到多个操作数组成,可以求值并(通常会)返回求值结果(函数的调用是一种表达式,有时函数不会返回求值结果)最基本的表达式:变量、字面值通常包含操作符(运算符)操作符的特性接收操作数个数:一元、二元、三元操作数的类型操作数是左值还是右值结果的类型结果是左值还是右值优先级和结合性 Operator precedence and associativity(C++ reference)可以通过小括号来改变

2022-03-24 15:53:00 1106

原创 C++基础:第四章 数组、vector和字符串

文章目录第4章 数组、vector和字符串第1节 数组注意事项数组的复杂声明数组中元素的访问数组到指针的隐式转换获得s指向数组开头和结尾的指针数组的其他操作C字符串多维数组第2节 vector构造和初始化元素的索引和遍历迭代器iteratorvector相关其他内容第3节 string第4章 数组、vector和字符串第1节 数组将一个到多个相同类型的对象串联到一起,所组成的类型int a ; int b[10]; 区分类型,b的类型为int[10]初始化方式缺省初始化int a[3] =

2022-03-16 21:52:14 1554

原创 C++基础:第三章 对象与基本类型

第3章 对象与基本类型第1节 初始化/赋值语句初始化的基本操作:在内存中开辟空间(堆或栈),保存相应的数值在编译器中构造符号表,将标识符与相关内存空间关联值与对象都有类型第2节 类型详述类型是编译期概念,可执行文件中没有数据类型的概念C++是强类型语言引入类型是为了更好的描述程序,防止误用类型描述存储需要的尺寸(sizeof ,标准并没有严格限制)(一种类型对应的是汇编语言中一条简单的易处理的语句,汇编语句与程序的硬件相关)取值空间(std::numeric_limits ,超

2022-03-16 21:48:57 1609

原创 SLAM会议笔记(五)LLOAM

LLOAM: LiDAR Odometry and Mapping with Loop-closure Detection Based CorrectionAbstract在LOAM的基础上加入了回环检测,实现了雷达SLAM的前端、回环检测、后端全局优化的完整框架。Introduction提出了一种基于点云分割匹配的回环检测模块和一种基于全因子图的三维激光雷达SLAM优化后端。前端分为两个部分,第一部分为特征点提取和帧间匹配,以至于可以得到两帧之间的位姿变换关系。如果IMU数据可用,可以通过线性插值

2022-01-03 16:26:22 1658

原创 SLAM会议笔记(四)Lego-LOAM

LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable TerrainAbstract提出一种轻量级的ground-optimized雷达定位与建图方法。首先用点云分割滤除噪声点,然后提取特征边界和平面点。Introduction轻量级算法在小型嵌入式系统中实现。LOAM应用于本项目时,由于计算资源受限,特征提取的频率无法保证与传感器采集一致。此外在噪声环境下,LOAM的表现同样较差。首先

2021-12-30 13:23:21 1665 1

原创 SLAM会议笔记(三)V-LOAM

Visual-lidar Odometry and Mapping: Low-drift, Robust, and FastAbstract提出了一种新的使用激光雷达里程计和视觉里程计的框架,提升了表现,特别是在剧烈运动和短暂缺失视觉特征的情况。提出使用视觉里程计高频低精度在线估计帧间运动并且匹配校准高频雷达采集的点云,然后基于激光雷达里程计同时修正运动估计和点云配准。(结合DEMO和LOAM两种方法)SYSTEM OVERVIEW视觉里程计特征点的运动描述如下:对有深度信息的特征点,将等式

2021-12-30 13:19:13 1304

原创 SLAM会议笔记(二)Real-time DEMO

Real-time Depth Enhanced Monocular OdometryAbstract利用图像和稀疏的深度图做运动估计,同时利用三角量测和运动估计得到位置深度的突出图像特征点的深度,使用光束平差法(BA)对运动估计做修正。SYSTEM OVERVIEW帧间运动估计:对于有深度信息的图像特征点,运动描述如下,只使用两帧中的前一帧的深度信息,无深度信息的点归一化表示为 ,其中Z轴坐标为1。联立三行等式消去深度值得到等式对于无深度信息的特征点表示如下,联立得到等式:根

2021-12-30 13:16:07 753

原创 SLAM会议笔记(一)LOAM

LOAM: Lidar Odometry and Mapping in Real-timeABSTRACT将复杂的SLAM问题分离为两个算法,一个高频低精度的运动估计,另一个低一个数量级的点云匹配和配准算法。RELATED WORK雷达扫描速度相对于外部运动较高时,运动的失真常被忽略,标准的ICP方法可以被用于匹配两帧之间的激光。可以进一步使用两段式方法去消除失真:一个基于运动估计的ICP方法,接着使用计算速度的运动补偿。当雷达三秒速度相对较慢时失真变得非常严重,常使用其他传感器(IMU/GPS/I

2021-12-30 13:09:39 1185

原创 cartographer环境配置及运行

系统:Ubuntu 18.04首先安装ROS在无网络限制的情况下参考官网安装ref:http://wiki.ros.org/cn/melodic/Installation/Ubuntu安装eigen3官网:https://gitlab.com/libeigen/eigen/-/releases/3.3.9标准操作: cd eigen mkdir build cd build cmake .. make -j8 sudo make install安装版本:3.3.9安

2021-11-15 16:59:05 1505

转载 常见数学符号及其读法

大写    小写   英文注音      国际音标注音      中文注音  Α           α       alpha...

2021-11-08 16:45:11 1284

转载 矩阵的QR分解

Gram-Schmidt正交化        在提到矩阵的QR分解前,必须要提到Gram–Schmidt方法,理论上QR分解是由Gram–Schmidt正交化推出来的。那么Gram–Schmidt正交化究竟是什么。        在三维空间存在直角坐标系,其中任意一点都可以由(x,y,z)坐标...

2021-11-04 10:34:35 3316

原创 矩阵论第二章总结:范数理论及应用(脑图)

2021-11-03 19:46:23 323

原创 2021-10-14 矩阵求导相关

对矩阵转置求导等ref:https://wenku.baidu.com/view/f7fa307a580216fc700afdb9.html

2021-10-14 21:50:10 76

原创 矩阵论第一章总结(思维导图)

高清PDF格式在资源中,有需要可以下载。

2021-10-14 15:33:46 1234 1

原创 C++基础学习笔记:第一章、第二章

文章目录第1章第2节 C++开发环境与相关工具第3节 C++的编译/链接模型预处理编译链接第2章第1节 HelloWorld第2节 系统IO输入输出流 iostream命名空间 namespace第3节 猜数字与控制流第4节 结构体与自定义数据类型第3节 猜数字与控制流第4节 结构体与自定义数据类型第1章第2节 C++开发环境与相关工具C++开发工具:/usr/bin/time +运行程序 打印花费的时间和CPU占用率等(Linux)valgrindcppreference.com

2021-10-03 11:23:11 392

原创 Error opening Velodyne socket dump file 的一种可能解决方法

在使用Velodyne功能包读取pcap点云数据并发布时运行roslaunch velodyne_pointcloud 32e_points.launch报错如下:搜索原因发现可能是pcap文件路径不完全导致的于是在launch文件中做如下修改:修改前:修改后:这里的home路径不能用~代替,记录下。REF:https://github.com/ros-drivers/velodyne/issues/118记录使用velodyne的参考:http://wiki.ros.org/v

2021-07-29 15:53:16 429 1

范数理论及应用.emmx

矩阵论第二章脑图,mindmaster打开

2021-11-03

Setup_JLink_V540.exe

兼容HW版本V7.0.0,debug不报错

2021-10-19

线性空间与线性变化.pdf

线性空间与线性变化.pdf

2021-10-14

STM32实现的乒乓球游戏.7z

使用STM32单片机实现的乒乓球游戏,有需要单片机实战项目或课程设计的同学可以参考一下实现的思路以及资源的配置。

2020-03-09

使用STM32实现的贪吃蛇游戏.7z

使用STM32单片机为硬件平台,程序基于FreeRTOS操作系统,实现了贪吃蛇的基本功能,并使用了PS2手柄控制贪吃蛇。使用的开发板为正点原子战舰。

2020-03-09

Masm for Windows 集成实验环境

一个轻量化汇编学习软件,基本可以实现不需要外设的所有汇编程序的运行和调试,并提供调试通过的35个WINDOWS汇编程序实例源代码,具有错误信息自动定位、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。很适合刚开始学习汇编语言的朋友。

2019-03-29

点阵取模软件

很好用的一个取模软件,可以满足所有情况的点阵显示图像取模。

2019-03-18

空空如也

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

TA关注的人

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