- 博客(120)
- 资源 (4)
- 收藏
- 关注
原创 Vins-Fusion之关键帧选择策略(九)
addFeatureCheckParallax 是 VINS-Fusion 的关键帧选择函数,返回 true 表示选为关键帧。该决策影响滑动窗口的边缘化策略。
2026-01-06 13:52:06
215
原创 Vins-Fusion之processIMU 窗口内IMU预积分(八)
该函数主要对窗口内的两帧之间的IMU进行预积分,处理单个 IMU 数据,进行预积分并更新状态。
2026-01-05 22:51:16
219
原创 Vins-Fusion之 fastPredictIMU 窗口外IMU预积分(七)
fastPredictIMU函数:用于在非线性优化窗口外进行快速位姿预测,提供实时位姿估计。主要目的:实时更新latest_Q、latest_P、latest_V状态量
2026-01-05 15:13:23
153
原创 Vins-Fusion之liftProjective归一化+畸变校准详解(六)
将像素坐标转换为归一化平面上的射线(去畸变后的归一化坐标)。输入:p = (u, v) ← 像素坐标输出:P = (mx_u, my_u, 1.0) ← 归一化平面上的射线(去畸变后)
2026-01-05 11:27:51
688
原创 Vins-Fusion之 FeatureTracker角点检测(Shi Tomasi)(五)
goodFeaturesToTrack不仅支持Harris角点检测,也支持Shi Tomasi算法的角点检测。但是,该函数检测到的角点依然是像素级别的,若想获取更为精细的角点坐标,则需要调用cv::cornerSubPix()函数进一步细化处理,即亚像素。
2026-01-04 16:50:06
245
原创 Vins-Fusion之 FeatureTracker-Lukas-Kanade光流法(四)
先熟悉LK算法的原理后再学习Vins-Fusion中的LK算法。这里思考一个问题:没有IMU预测的时候直接使用:cv::calcOpticalFlowPyrLK(prev_img, cur_img, prev_pts, cur_pts, status, err, cv::Size(21, 21), 3);既然该函数输出:cur_pts、status、err,可以直接根据上一帧,输出当前帧的特征点,存入cur_pts中,为什么还要使用IMU预测的特征点作为行光流跟踪初始值??
2026-01-02 22:41:23
842
原创 Vins-Fusion之 Imu_callback回调函数(三)
分析:1)、sensor_msgs::msg::Imu介绍a.header`:一个 `std_msgs::Header` 类型的消息头,包含时间戳和坐标系信息,用于关联消息时间和空间信息。b. `linear_acceleration`:一个 `geometry_msgs::Vector3` 类型的消息,包含线性加速度的三个分量(x、y 和 z 方向)。
2026-01-01 21:57:04
172
原创 Vins-Fusion之 ROS2 Humble(二)
此命令会强制 pip 仅从预编译的 .whl 文件安装所有依赖,完全绕过 ruamel.yaml.clibz 的源码编译,安装速度极快且稳定。环境配置:Ubuntu 22.04 (运行内存 4G、硬盘内存 500G) 、ROS2 humble 、ceres-solver 2.1。主要是参考这篇博客,但是在安装配置的过程中出现的问题进行修改,最终完美的运行Vins-Fusion。问题一 安装rosbags,出现下面问题。
2026-01-01 15:45:23
191
原创 QT +ffmpeg-4.2.2-win64-shared 拉取 RTMP/http-flv 流播放
经过测试:和webRTC进行比对,实时性和webRTC一致并且画质效果很好,几乎没有出现花屏的情况。1.在子线程中从流媒体服务端拉取视频流、使用ffmpeg进行解码,转成QImage ,发送给主线程。最后在ui->m_pLblVideo->setPixmap(fitpixmap)显示画面信息。2.主线程接收QImage后在界面显示。
2024-08-29 16:31:02
651
1
原创 post请求JSON数据写入到txt中
/将json对象转为json文件 file.write(json_doc.toJson(QJsonDocument::Indented));2.转换成JSON QJsonObject json;//创建json文件。注意:如果是直接写入第二步中的json到txt中出现乱码。
2023-06-14 10:37:07
465
原创 QProcess: Destroyed while process (“F:\\UPrecise1.5\\UPrecise.exe“) is still running.
Destroyed while process is still running.
2023-02-24 16:58:54
3783
1
原创 Linux 实现数据的定时保存和删除的功能
前言:最近项目需要10分钟保存一次相机的数据,删除24小时过期的数据,经过一天的努力和完善,终于完成该需求。1).设置一个定时器,10分钟保存一个视频.mp4格式。2)获取系统时间保存文件格式是月/日/时/分/秒。3).查找指定路径下的超过24小时数据,删除。4).向终端发送指令,请求相机的数据。
2022-11-09 11:15:23
483
原创 ImageProjection—odometryHandler()
订阅imu里程计,由imuPreintegration积分计算得到的每时刻imu位姿(发布Lidar坐标系下IMU数据)void odometryHandler(const nav_msgs::Odometry::ConstPtr& odometryMsg) { std::lock_guard<std::mutex> lock2(odoLock); odomQueue.push_back(*odometryMsg); }总结:Li
2022-02-13 16:04:40
643
原创 LIO_SAM源码解析:ImageProjection—imuHandler()
ImageProjection模块的主要功能为:利用当前激光帧起止时刻间的imu数据计算旋转增量,IMU里程计数据(来自ImuPreintegration)计算平移增量,进而对该帧激光每一时刻的激光点进行运动畸变校正(利用相对于激光帧起始时刻的位姿增量,变换当前激光点到起始时刻激光点的坐标系下,实现校正); 同时用IMU数据的姿态角(RPY,roll、pitch、yaw)、IMU里程计数据的的位姿,对当前帧激光位姿进行粗略初始化。public: ImageProjection():desk
2022-02-13 15:59:51
758
原创 ‘Nabo::NearestNeighbourSearch<double, Eigen::Matrix<double, -1, -1, 0, -1, -1> >::createKDTreeLinear
报错的内容如上图,解决办法:原因是在CMakeList.txt中target_link_libraries(imlsMatcher_node${catkin_LIBRARIES}${EXTERNAL_LIBS}/opt/ros/kinetic/lib/libcsm.so${libnabo_LIBRARIES} libnabo::nabo -------------------这里没有添加这个库文件)...
2021-12-08 18:21:25
636
转载 里程计辅助2D Lidar运动畸变去除
2.畸变去除原理:原理:在一帧激光雷达数据中,为每个激光束的原点都找到一个近似的里程计位姿,并且认为该激光束是在该里程计位姿上进行数据采集的
2021-12-06 16:00:51
1319
1
原创 vscode不能支持ROS相关头文件(ros/ros.h/pcl...)?
Ubuntu16.04下vscode编写ros kinetic代码,编写pakage源文件代码,#include<ros/ros.h>头文件时报错,无法运行智能提示解决步骤:vscode中CTRL+P。键入ext install ms-iot.vscode-ros 。按回车,等待下载完毕鼠标点到报错的#include<ros/ros.h>,点击旁边会出现的灯泡,点击编辑 “include path”设置 ,进入c_cpp_properties.json选项,vscode.
2021-12-05 21:22:29
647
原创 TF坐标变换整理
1、什么是tf变换以机器人为例,定义两个坐标系,一个坐标系以机器人移动平台的中心为原点,称为base_link参考系,另一个坐标系以激光雷达的中心为原点,称为base_laser参考系tf变换树定义了不同坐标系之间的平移与旋转变换关系,tf功能包提供了存储、计算不同数据在不同参考系之间变换的功能,因此只需要告诉tf树这些参考系之间的变换公式即可。// 初始化tf数据tf::Transform transform;//定义存放转换信息,包括平移旋转信息transform.setOrigin(
2021-12-01 13:41:13
1456
原创 (Linux 16.04安装ROS)$ sudo rosdep init $ rosdep update 出现的问题及解决方法
首先安装的时候是参考这篇博客:Ubuntu16.04安装ROS Kinetic详细过程_惊鸿一博-CSDN博客参考:https://blog.csdn.net/weixin_43159148/article/details/833752181、设置sources.listsudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-lates
2021-10-31 09:28:21
260
原创 使用QCustomPlot 第三方库,replot()性能优化
项目的需求:因为项目要求2ms每次从硬件中获取4000数据进行实时显示,数据量大、刷新速度快。软件存在的问题:大概软件运行3-5分钟就一直报:QBackingStore::endPaint() called with active painter; did you forget to destroy it or call QPainter::end() on it?这个警告,过一会软件就闪退了,查找原因发现是:ui->customPlot->replot()的原因。于是就百度replot
2021-04-15 09:52:36
7511
2
原创 QT 信号和槽连接的几种方式
自动连接(AutoConnection),默认的连接方式。:如果信号与槽,也就是发送者与接受者在同一线程,等同于直接连接,如果发送者与接受者处在不同线程,等同于队列连直接连接(DirectConnection):当信号发射时,槽函数立即直接调用。无论槽函数所属对象在哪个线程,槽函数总在发送者所在线程执行。队列连接(QueuedConnection):当控制权回到接受者所在线程的事件循环时,槽函数被调用。槽函数在接受者所在线程执行。Qt::BlockingQueuedConnection:槽函数的调用时
2021-03-26 11:23:09
2304
原创 解决RTCM3转换RINEX格式的问题(QT版RTKLIB ver: 2.4.3 b33b2)
问题描述:利用RTKCONV将接收机原始数据转换为RINEX格式,出现三个问题:第一:出现野指针问题,第二:在输出的文件夹中没有找转换的rinex文件,第三:保存的文件名称出现“%”。记录每个问题出现的地方和解决的方法:问题一:出现野指针问题,显示如下图:首先要确定在什么位置报这个问题,debug后发现在这里:reppath(rtkcmn.c)中的strcpy(rpath,path);调用关系为:ConvertFile(void)(convmain.cpp)→run(convmain
2020-10-30 16:43:41
5550
原创 QT 实现excel表格的读取,并处理时间格式的数据
最近的一个需求是从excel表格中读取数据,进行比较。怕时间长忘记这部分代码,先记录下。Excel表格数据如下:要获取时间、lat、lon数据,代码如下:void FileHandle::handleExcel(){ /* 1:连接控件Excel 2: 打开工作簿(新建或打开Excel文件) 3: 打开sheet 4: 获取行数,列数 5: 读和写 6:设置样式 7: 保存文件 8:另存为*/ //1:连接控件E.
2020-10-14 10:16:43
2246
1
原创 Matlab 实现读取txt数据进行绘图
function distanceFun() close all; clear all; clc;filenameqx = 'E:\QTCode\build-SHNADataAnalysis-Desktop_Qt_5_14_0_MSVC2017_64bit-Debug\QX\QX.txt';fid = fopen(filenameqx);QX = textscan(fid,'%s');fclose(fid);strHoritionalQX=QX{1};strHoritionalQX=s...
2020-10-10 10:07:58
3330
原创 QT 向txt中写入数据
QDir *TEST = new QDir(QDir::currentPath()); bool exist = TEST->exists("Signal"); if(!exist) { TEST->mkdir("Signal"); } QString fileNameGPS = "Signal/GPS.txt"; QFile fileGPS(fileNameGP...
2020-10-10 10:03:57
4589
原创 QT 绘制表格以及内容的居中显示
项目中第一次用到表格的绘制的功能,实现表格的行列的绘制以及表格中字符串的居中显示,先看下显示的效果! #include<QStandardItemModel>#include<QTableView>DistanceAnalysisDialog.cppvoid DistanceAnalysisDialog::drawTable(void){ //存储的累计次数 int QX_numZeroToPointTwo=0; int...
2020-09-14 10:25:23
4162
原创 直接运行QT5编写的.exe程序,提示丢失Qt5Core.dll的解决办法
问题描述:Windows 10环境下,在QtCreator里运行Qt5程序,没有出现问题,但是在工程文件夹下的debug目录下,双击运行生成的.exe文件,却提示丢失Qt5Core.dll。问题解决:将Qt5Core.dll所在的目录添加到Windows系统环境变量Path里。我的Qt5Core.dll所在的目录是:D:\Qt\Qt5.5.1\5.5\mingw492_32\bin右键我的电脑,选择属性,然后选择高级系统设置 --> 环境变量,编辑Path系统变量,将上述路径添加到
2020-08-26 13:58:12
1820
1
原创 如何使用RTKLIB进行RTK定位(一)
今天从这个demo,教给大家如何使用RTKLIB进行RTK定位,包括配置文件、数据等;RTKLIB源码和exe下载地址:RTKLIB: An Open Source Program Package for GNSS Positioning其中最新版本的源码在GITHUB上面下载:Tomoji TakasuRTKLIB手册/manual:RTKLIB: Documents数据集和操作指南:RTKLIB: Tutorial and Demonstration for RTK1
2020-08-18 15:34:03
7608
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅