自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 [论文阅读]:A Multi-State Constraint Kalman Filter for Vision-aided Inertial Navigation

在本文中,我们提出了一种基于扩展卡尔曼滤波器(EKF)的实时视觉辅助惯性导航算法。该工作的主要贡献是推导出一种测量模型,能够表达当从多个相机位姿观察到静态特征时产生的几何约束。这个测量模型不需要将3D特征位置包含在EKF的状态向量中,并且在进行线性化误差的前提下是最优的。我们提出的视觉辅助惯性导航算法具有仅与特征数量成线性关系(linear)的计算复杂度,并且能够在大规模的真实环境中实现高精度的姿态估计。该算法的性能通过广泛的实验结果进行了验证,实验中使用的是在城市区域内进行定位的相机/IMU系统。

2024-12-16 16:40:29 980 1

原创 [论文阅读]:A Linear-Complexity EKF for Visual-Inertial Navigation with Loop Closures

在未知环境中实现实时视觉惯性导航,同时实现有界误差性能,在机器人应用中具有巨大潜力。为此,本文提出了一种新的linear-complexity EKF用于视觉惯性定位,该EKF可以有效地利用回环检测约束,从而实现长期持续导航。关键思想是将Schmidt-Kalman公式应用到多状态约束卡尔曼滤波器(MSCKF)框架中,在这个框架中,

2024-12-16 16:39:36 1039 1

原创 [论文阅读]:An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM

在移动和可穿戴传感器系统中实现厘米级精度定位具有重要的实际应用意义。本文提出了一种新颖的高精度、高效的视觉惯性(VI)SLAM算法,称为Schmidt-EKF VI-SLAM(SEVIS),该算法以紧耦合的方式最优融合IMU测量和单目图像,实现有界误差的三维运动跟踪。

2024-12-16 16:18:25 926 1

原创 Linux系统性能分析

Linux是目前使用最广泛的操作系统之一,多用在对性能,实时性要求较高的场合。CPU负载:CPU的负载是CPU此时正在处理的进程和等待的任务数量,它反映了 CPU的繁忙程度和任务队列的状态。cpu负载对系统性能有直接影响,高cpu负载可能会导致进程相应变慢,延迟增加和系统性能下降。cpu使用率:反映了cpu在一段时间内用于执行用户程序,系统内核任务,以及空闲等待的时间比例。CPU使用率的高低表明系统处理负载的繁忙程度。内存使用:内存是系统运行的关键资源。当系统内存不足时,可能会导致进程被终止网络性能。

2024-09-19 01:09:13 859

原创 [Muduo网络库]:muduo库TcpConnection类

TcpConnection是整个网络库的核心, 封装一次TCP连接,以及控制该TCP连接的方法(连接建立,关闭和销毁),以及该连接发生个各种事件(读、写、错误、连接)对应的处理函数,以及这个Tcp连接的服务端和客户端的套接字地址信息,但是注意它不能发起连接至此,我们介绍了Channel,EPollPoller,EventLoop,Acceptor,Socket,Connection,Buffer,TcpConnection八大类,我们来总结一次完整的tcp通信。这是一开始给出的muduo使用例子。

2024-09-17 22:21:31 636

原创 [muduo网络库]——muduo库Buffer类

iovec 结构体用于定义分散-聚集 I/O 操作中的数据块。它通常与 readv、writev 等系统调用配合使用,以便在单次 I/O 操作中读写多个非连续的内存区域。/* 指向数据缓冲区的指针 *//* 缓冲区的长度 */

2024-09-17 15:30:30 1152

原创 [muduo网络库]——muduo库Socket类,Acceptor类,Connector类

Socket类实际上就是封装套接字socket fd,请参考游双《Linux高性能服务器编程》第五章用于接受TCP连接, 它是TcpServer的成员,生命期由后者控制。Acceptor类用于创建套接字socket,接受新客户端连接并分发连接给SubReactor(SubEventLoop)用于发起TCP连接, 它是TcpClient的成员,生命期由后者控制。它负责主动发起连接,不负责创建socket,只负责连接的建立,和Acceptor类恰好相反。Connector。

2024-09-16 23:05:09 1236

原创 [Muduo网络库]:三大核心库Channel类、Poller/EpollPoller类以及EventLoop类

除了循环,什么都没做的loop()",这句话的意思并非是loop()只是一个空循环,而是它的主要功能并未通过自身定义的函数实现。loop函数中主要通过调用一次Poller::poll方法它就能给你返回事件监听器的监听结果,然后调用这些Channel里面保管的不同类型事件的处理函数。loop()函数最主要的作用是实现循环,负责驱动“循环”的重要模块。Channel类其实相当于一个文件描述符的保姆!2.2.1 Channel类概述-我在地铁站里吃闸机。

2024-09-16 16:46:37 1023

原创 [Muduo网络库]:梳理Muduo库核心代码

Muduo是陈硕个人开发的TCP网络编程,支持Reactor模型。陈硕在《Linux多线程服务器编程》中提到他心中理想的网络库的样子:1.线程安全,原生支持多核多线程。2.不考虑可移植性,不支持跨平台,只支持Linux,不支持Windows。3.主要支持x86-64,兼顾IA32.(实际上muduo也可以运行在ARM上)4.不支持UDP,只支持TCP。5.不支持IPV6,只支持IPV4。6.不考虑公网,只考虑局域网(实际上muduo也可以用在广域网中)

2024-09-15 17:01:06 1243

原创 ros1的原始CMakeLists.txt文件备份

ros1的原始CMakeLists.txt文件备份。

2024-08-21 18:19:24 164

原创 【OpenGL学习笔记1】OpenGL的GLFW+GLAD的安装和使用

GLFW的·官方指南直接命令安装glfw是一个轻量级的,开源的,跨平台的library。支持OpenGL及OpenGL ES,用来管理窗口,读取输入,处理事件等。因为OpenGL只是一个标准/规范,具体的实现是由驱动开发商针对特定显卡实现的。由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询。所以任务就落在了开发者身上,开发者需要在运行时获取函数地址并将其保存在一个函数指针中供以后使用。取得地址的方法因平台而异。例如。我们手动定义函数地址,并把其保存在函数指针。

2024-08-13 20:43:30 1813

原创 【OpenGL学习笔记0】ubuntu22.04安装OpenGL

OpenGL被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由Khronos组织制定并维护的规范(Specification)。,已被freeglut代替),窗口库(glx、agl、wgl),辅助库(aux)和扩展函数库等。OpenGL函数库相关的API有核心库(gl),实用库(glfw),实用工具库(推荐面向初学者的容易理解的现代OpenGL教程。

2024-08-13 15:50:26 1799

原创 kitti数据集的标定文件

介绍文档。

2023-11-29 21:37:33 4009 1

原创 docker容器内跟换软件源

首先查看docker内软件源的版本。该版本是ubuntu18.04。之后就可以安装gedit,vi。docker容器内跟换软件源。查看原本的软件源配置。

2023-11-09 14:06:17 476 1

原创 evo工具测评orb slam2的TUM数据集

TUM数据集中一般有rgb和depth文件,采集的图像以采集时间命名,下载后的数据集要经TUM官网提供的python见本associate.py提取时间戳官两rgb图像和depth图像,

2023-10-25 11:36:07 689 1

原创 51单片机中断和定时

51单片机一共有5个中断源,外部中断0,定时器中断T0,外部中断1,定时器中断T1,串行中断。每一个中断请求对应一个中断请求标志位,分别在特殊中断寄存器TCON和SCON中相应的位中表示。和中断有关的寄存器有:IE(中断允许控制寄存器)、TCON(控制寄存器)、IP(中断优先级控制寄存器)SCON(串行口控制寄存器)、TMOD(定时器/计数器模式控制寄存器)TCON:控制寄存器,作用是控制定时器的启、停,标志定时器溢出和中断情况。

2023-04-25 16:15:57 710

原创 51单片机汇编语言指令大全

参考链接在这里稍作终结,方便复习。

2023-04-18 21:09:15 6534

原创 vins前端中的去畸变方法解析

【代码】vins前端中的去畸变方法解析。

2023-04-14 16:46:39 183

原创 pytroch函数介绍(一)---transform

学习pytroch中遇到了许多函数,为了以后方便复习,记录一下,如果想要进一步了解可以去看官方文档transform函数提供对图像的变换,包括尺寸裁剪(resize),归一化等.pytroch中提供函数transform,只需要从torchision导入即可使用。

2023-04-05 17:17:23 217

原创 Linux 下双显示器的配置

把 DVI-D-0 设置为主显示器,并把它置于 HDMI-0 的右边。电脑本来有两个显示器,主显示器在右边,辅显示器DELL在左边。使用linux自带的xrandr工具,首先查看一下显示器信息。但莫名其妙转过来了,所以要重新配置。显示信息可以看出有两个显示器。

2023-04-05 12:36:17 3428

原创 associate.py下载地址

然后,执行以下代码,生成associations.txt文件。associate.py文件如下。

2023-04-04 16:05:11 572

原创 opencv3和opencv4的版本切换

修改方法:将CV_FONT_HERSHEY_SIMPLEX改为cv::FONT_HERSHEY_SIMPLEX。修改方法为:将CV_BGR2GRAY改为cv::COLOR_BGR2GRAY。将CMakeLists.txt的opencv改称对应版本。在loopClosing.h:50修改。将opencv/cv.h:修改为。

2023-04-04 14:18:23 2114 1

原创 m2dgr数据集在vins mono运行

修改utility/visualization.cpp 158行的轨迹结果保存路径。修改utility/visualization.cpp 以下代码。创建m2dge.yaml。

2023-03-25 13:01:40 657

原创 Sophus介绍

Sophus介绍

2022-10-14 19:33:10 555

原创 Eigen库的介绍

Eigen库的介绍

2022-10-09 15:46:49 2657

空空如也

空空如也

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

TA关注的人

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