自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 项目实训(12)简单的页面跳转的实现

一、序言:根据页面的逻辑,需要先连接到服务器才能正常工作,因此,需要设计一个两级页面的跳转,并实现对应的服务器地址传输。二、实现思路:两者都可以直接利用槽函数来实现,借助于qt的Qstring来直接传输地址。三、页面跳转因为并需要严格设计不跳转,所以只需要先设置第一个页面不显示即可,利用定义的信号 emit showmain()来调用slot show()ui->show();再主函数里连接起来即可main.cpp//这几个变量都需要声明。connect(&页面1,SIGN

2022-05-20 10:21:43 498

原创 项目实训(9)socket部分1

一、序言:进一步的设计工作需要涉及到使用socket的工作;项目分为服务端和用户端;ps:因为队友(佬)已经承担的工作可以借用到自己的服务端上来,所以不需要自己再设计服务端了,但是学习还是有必要继续完成的。二、socket简介:1是什么:是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。即Socket提供了操作上述特殊文件的接口.使用

2022-05-20 10:21:06 237

原创 项目实训(11)指针,智能指针,pcl的智能指针

一、序言在开发过程中,见识到了cpp的指针的杀伤性,吃了不少苦头。想要从根本上解决这个问题,需要透彻地理解指针。二、基本知识:在计算机中,数据是存放在内存单元中的,一般把内存中的一个字节称为一个内存单元。为了更方便地访问这些内存单元,可预先给内存中的所有内存单元进行地址编号,根据地址编号,可准确找到其对应的内存单元。由于每一个地址编号均对应一个内存单元,因此可以形象地说一个地址编号就指向一个内存单元。C 语言中把地址形象地称作指针。指针就是地址。而可以保存指针的变量被称为指针变量(*声明)。而

2022-05-20 10:20:18 404

原创 项目实训(7)qt与pcl2:ui显示pcl点云

一、序言:在加载前端界面之前,可以先参考rivz本身加载pcl的方法。 if (ros::isStarted()) { ros::shutdown(); ros::waitForShutdown(); } wait();-----------------------bool QNode::init(){ ros::init(init_argc_, init_argv_, "qt_slam_ui_node"); if (!r

2022-04-26 20:34:45 990

原创 项目实训(6)qt与pcl1

一、序言:想要在qt中显示出来我们需要的图像还需要进一步的配置工作。不过这部分工作基本上都已经配置完成了。我需要做的仅仅是在qt之中再添加一下pcl的头文件。这个地方的配置也是在复杂,竟然配置了两天……二、QT配置pcl网上给出的参考代码;根据这些参数可以获得读取到点云信息并进行可视化;#include <iostream>#include <pcl/io/pcd_io.h>#include<pcl/point_cloud.h>#include &l

2022-04-22 15:41:02 1490

原创 项目实训(1):准备工作

序言我们项目的主要目的是将ros的通信机制移植出来。为此,小组内的同学已经在寒假中提前设计好了工作原型,在项目正式开始之前,我需要先学习这里面的具体原理:mmap。什么是mmap?零拷贝传统IO方式:通过read()把数据从硬盘读取到内核缓冲区,再复制到用户缓冲区;然后再通过write()写入到socket缓冲区,最后写入网卡设备。为了加速硬件设备在读/写内核空间中的那么对于零拷贝而言,并非真的是完全没有数据拷贝的过程,只不过是减少用户态和内核态的切换次数以及CPU拷贝的

2022-04-11 21:42:46 83

原创 项目实训(2)rviz 移植计划

序言:在介绍项目之前,先了解了有关rviz的基本知识;ROS针对机器人系统的可视化需求,为用户提供了一款显示多种数据的三维可视化平台——rviz。rviz是一款三维可视化工具,很好的兼容了各种基于ROS软件框架的机器人平台。在rviz中,可以使用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界面中呈现出来。同时,rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等。总而言之,rviz帮助开发者实现所有可监测信息的图形

2022-04-11 21:42:14 346

原创 项目实训(4):Linux系统的IO机制及小车移动机制的项目学习参考

序言:首先,明确机制前要区分好基础概念:同步?异步?阻塞?非阻塞?用户?内核?等操作系统的基础概念。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hBC93fOZ-1649335704395)(https://upload-images.jianshu.io/upload_images/2062729-49ac9eb7d4d2d019.png?imageMogr2/auto-orient/strip|imageView2/2/w/786/format/webp)]阻塞

2022-04-11 21:41:56 322

原创 项目实训(5):qt学习计划2

序言:继续学习qt,需要注意的是部分cpp的写法需要加强;比如:lamda表达式;在java和cpp当中存在一定的差异;而在cpp中写法明显更为复杂具体的解释可以进一步参考最后的博客这一部分的学习并不复杂,但是知识点较为繁多,需要的时候可以再查阅帮助文档学习;lamda表达式和connect连接的结合;可以进一步简化;学习 5 页面1 Q main Window提供主窗口的类,里面有菜单栏工具栏,锚接部件和状态栏,以及一个中心部件;是许多应用的基础;QmenuBar:setM

2022-04-11 21:40:52 311

原创 项目实训(3):Qt学习计划1

序言:我的任务的主要是处理所涉及的rviz移植项目的前端界面,这部分需要使用qt来完成,但是我之前对于这部分的知识有所欠缺,所以需要从头开始学习准备。在学习的过程中,我将所遇到的困难、学习到的技巧和重点知识以及解决的问题的记录在博客里。0 准备阶段配置环境:qt的开发工具是qt creator,但是下载之后还不能正常运行,需要配置相关的开发环境。在linux环境下配置要比在windows容易一点……windows安装失败:缺少kit环境,解决方法:下载windows环境kit,Microsof

2022-04-11 21:39:45 1108

原创 ROS-3DSLAM(17):小结

2021@SDUSC2021年12月28日经过这半个学期的学习,我对于SLAM经历了一个从一无所知到逐渐了解的充实的学习过程。在学习的过程中,在收获关于SLAM、cpp的知识的同时,也得到了自主学习研究相关的经验和技巧。对于问题的解决能力得到了进一步的提升,对于陌生的代码阅读技能也有了一定的长进。回顾这三个月的学习:我的学习内容可以大致概括如下:开课到十月一日:对于ros系统的熟悉认识了解十月份:开始对于LVI-SLAM的分析,主要是对于雷达部分的分析和总结十一月份:对于视觉部分的分析,分析

2021-12-28 20:09:52 1294

原创 ROS-3DSLAM(16):视觉部分visual estimator第九节 factor4

2021@SDUSC2021年12月26日星期日——2021年12月30日星期四一、背景简介:这一周继续分析factor文件夹。这一周我分析的代码部分视觉的残差,特征点在相机的投影下产生的残差:projection_factor.cpp和projection_td_factor.cpp和pose_local_parameterization.cpp以及对应的头文件。首先是原理分析:回到我们之前分析过的边缘化的总框架图上去,可以看出,这部分的代码是同ceres息息相关的的,是利用ceres Sol

2021-12-27 19:19:24 410

原创 ROS-3DSLAM(15):视觉部分visual estimator 第九节 factor3

2021@SDUSC2021年12月19日星期日——2021年12月24日星期五一、背景简介:这一周我分析的代码是factor文件夹运动模型的IMU计算中得到的残差:相关代码为imu_factor.h和integration_base.h这部分涉及到的是IMU预积分的相关知识。在分析雷达部分的时候,我已经初步接触了IMU预积分的知识,这里再来回顾一下:IMU预积分回顾:为了有个清晰的认识,首先说下预计分的作用。大家知道,用IMU的slam、vio算法有很多,有滤波器的比如MSCKF,有基于

2021-12-26 09:33:36 177

原创 ROS-3DSLAM(14):视觉部分visual estimator 第八节 fator2

2021@SDUSC2021年12月12日星期日——2021年12月16日星期四一、背景简介:这一周的工作承接上周的边缘化分析,结束这部分的代码的分析工作。在查阅资料的过程中我发现了一份讲解,里面有一张这样的图片:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ur7IuthK-1639117790438)这张图不仅有助于我们对于边缘化的理解,更是有助于对于整个优化流程的理解。实在是太好了。原文连接放在了文末,感谢大佬的指导。可以看出来,我们这部分优化中,最重要

2021-12-19 14:31:16 196

原创 ROS-3DSLAM(13):视觉部分visual estimator第七节 factor1

2021@SDUSC2021年12月6日星期一——2021年12月9日星期四一、背景简介:上周实在是太忙了,本来还继续学习factor的代码,但是一个接一个的实验和课设打乱了我的计划。还是按照节奏一点一点慢慢来吧。initial的小结也可以先放一放,等到不忙了再补上一篇。这周的计划是分析factor,首先分析其基本原理,然后结合代码进行深入的实现分析。factor如上周介绍所说是用来处理后端优化的部分。这部分的优化包含了三部分:特征点深度IMU误差关键帧位姿我们对于这个文件的分析也便

2021-12-12 16:39:52 385

原创 ROS-3DSLAM(12):视觉部分visual estimator第六节:initial5

2021@SDUSC2021年11月29日星期一——2021年12月2日星期四附:12月1日typora更新了,新版本要收费,我回退到旧的0.9.8版本之后,发现旧的版本有个致命的bug,会丢失对代码的注释…本来已经读完了代码的,结果下午打开一看注释全没了。幸好时间不算长,还能挽救。一、背景简介:这篇博客分为三部分,第一部分是对于上次的代码分析的补全,结束initial_sfm中最后一部分的问题。第二部分是对于数学知识的补充,类似于上上一次对于代码的分析一样,这一次是对于数学部分的原理加深理解。

2021-12-05 19:05:01 2456

原创 ROS-3DSLAM(11):视觉部分visual_estimator第四节:initial 4

2021@SDUSC2021年11月22日星期一——2021年11月25日星期四一、背景简介:继续对于initial文件夹内的代码:initial_sfm进行分析。这是initial中的最后一部分代码。不过,在分析之前,首先要明确它的主要功能,以及在系统中的意义。initial文件夹内存放的是用来初始化系统参数的函数,包括了估计旋转外参数、利用sfm求取特征点和位姿在参考坐标下的值,利用相机旋转约束来标定IMU角速度偏差、以及利用平移来估计重力和各个bk帧的尺度、优化标定重力,确定世界坐标系,确

2021-11-27 19:25:15 2039

原创 ROS-3DSLAM(10):视觉部分学习 第四节 代码补习

2021@SDUSC2021年11月17日星期三——2021年11月19日星期五一、背景简介:经过上一周对于代码的阅读,我发现自己在这几个开源库函数和cpp常用的代码技巧方面还存在着问题,对于前置的知识也不甚了解。因此我决定暂停一下阅读的进度,专门结合这些开源函数和代码技巧进行补习。也能趁机提升一下自己的cpp编程水平。本着实用的原则,学习的范围先暂定在前面三次学习中的代码,库函数包括Eigen和open cv两块。学习的顺序由新到旧,逐步回顾。二、代码分析及问题解答:1、initial_ali

2021-11-20 14:03:51 2183

原创 ROS-3DSLAM(9):视觉部分visual estimator第三节initial 3

2021@SDUSC2021年11月14日星期日——2021年11月15日星期一一、背景简介:这一次继续分析initial文件夹下的内容,本次针对的是solve_5pts,包括了该文件的头文件和cpp文件。这里的solve_5pts的意思是利用五点法求本质矩阵,代码则正是对于这一功能的实现。在进行代码分析之前,有必要先学习了解一下五点法。在slam 和sfm领域,恢复相机位姿和3D点的坐标是其重要的任务,描述一个场景的3D点在不同相机的图像坐标之间的关系被称为对极几何关系。对极几何关系描述的矩

2021-11-20 14:02:56 2356

原创 ROS-3DSLAM(8):视觉部分visual_estimator第二节:initial 2

2021@SDUSC2021年11月12日星期四——2021年11月13日星期六一、背景简介:结束了对于initial_alignment的初步阅读,下一步还要继续对于initial文件夹下的其他文件的分析,毕竟我们的最终目的还是对于函数esitimator中的的processImage()做分析。这次的计划是针对Initial_ex_rotation和solve_5ph给出分析。二、Initial_ex_rotation分析:A、功能分析函数的功能是求解从相机(Camera)坐标系到IM

2021-11-13 15:39:31 1982

原创 ROS-3DSLAM(7):视觉部分visual-estimator第一节:initial初步分析

2021@SDUSC2021年11月2日星期二——2021年11月4日星期四2021年11月10日星期三——2021年11月11日星期四附:发烧导致学习进度中断。一、学习背景:经过前几周对于雷达部分的学习,我对于ros以及LVI-SLAM包有了初步的认识。我们小组的下一个目标就是视觉部分,经过讨论和对于信息流的分析,我们决定按照visual_estimator,visual_feature和visual_loop的顺序来学习。因为LVI-SAM的视觉部分是建立在VINS-MONO的基础之上的,而

2021-11-13 15:36:45 1111

原创 ROS-3DSLAM(6):VINS-Mono论文阅读1

2021@SDUSC2021年11月3日星期三——2021年11月5日星期五一、学习背景:在对LVI-SAM包下的视觉部分进行分析的过程中,我遇到了严重的困难。经过仔细地分析,我觉得是因为我对于视觉部分的理论基础了解的还不够详尽,因此有必要先停下脚步,阅读这部分的基础论文VINS-Mono来增强稳固自己的基础知识。二、论文概要:文章介绍了一种处理imu和摄像机组成的单目视觉惯性系统的数据的方法:VINS-Mono。文章指出,这种方法利用了imu预积分和特征提取观测数据,基于紧耦合和非线性优化的方

2021-11-05 14:53:37 415

原创 ROS-3DSLAM(5):雷达部分交流分析A

2021@SDUSC2021年10月26日星期二——2021年10月30日星期六一、计划简介:​ 通过前几次的学习,我掌握了lvi-sam包的信息流、结构、功能,还着重分析了特征提取featureExtracted的代码。​ 这一周,我决定在分析图因子优化包之前,先来学习一下组内其他同学的研究成果,以方便接下来的进一步学习研究,更有效地上手后续地代码。同时,也可以借鉴其他同学们阅读代码的思路和方法,提高自己的知识技能。​ 我这一次的学习方式和上一次的信息流分析类似,也是借助博客注解加源代码的

2021-10-30 10:05:18 327

原创 ROS-3DSLAM(3):信息流

2021@SDUSCROS-3DSLAM(3):信息流2021年10月17日星期一——2021年10月20日星期三一、背景简介:对于信息流的分析理解能够有助于我们对于整个项目的下一步研究学习。虽然对于局部代码的阅读可能看不出来这样做的好处,但是毫无疑问这样的分析有助于我们下一步的对于整个系统的代码的解读工作。考虑到雷达包的阅读工作量的问题,本周我负责的任务即为处理这个信息流的工作,这样也方便和组内的同学们统一阅读进度。二、学习历程:因为是对于全局代码的分析,考虑到我的时间和精力的问题,直接阅读

2021-10-21 18:34:06 357

原创 论文阅读:DeepAuth: In-situ Authentication for Smartwatches via Deeply Learned Behavioural Biometrics

DeepAuth: In-situ Authentication for Smartwatches via Deeply Learned Behavioural Biometrics论文阅读DeepAuth:通过深度学习行为生物识别技术对智能手表进行原位认证阅读时间:2021年10月13日星期三——2021年10月15日星期五博客书写时间:2021年10月16日星期六——2021年10月17日星期日一、 论文概述这是一篇介绍用来实现在智能手表上的用户识别方式的算法:DeepAuth的论文。针对用

2021-10-18 10:31:04 202

原创 ROS-3DSLAM(4):lidar_odometry包浅析

2021@SDUSC2021年10月11日星期一——2021年10月14日星期四一、学习背景:结束了论文的学习之后,我们下一步的学习目标就是关键的代码了,但是在此之前,我们还仍然需要先把整个项目的信息流分析明白,这样才能有助于我们更好地进行后续的阅读学习代码工作。结束了信息流的分析之后,我们的第二个工作目标就是对于lidar_odometry包的代码分析。相较于第一个视觉处理的系统而言,这个雷达处理的系统更为简单一些,分析起来也相对较为容易。我们首先分析的目标是较小的三个文件,剩下的那一个较

2021-10-17 10:21:31 1115

原创 ROS-3DSLAM(2):论文阅读

2021@SDUSC2021年10月5日星期二——2021年10月7日星期四一、背景简介:我们小组本来计划分析的源代码是ros系统的源代码,但是后来的研究学习中发现我们所选取的材料有些陈旧过时,许多包和功能已经不被推荐使用了。因此我们改变了研究思路,调整方向,专注于LVI-SAM这个包的研究。因为这个包是最近刚刚开源的新技术,所以网上的参考资料屈指可数,这加大了我们研究的难度和挑战,但相对的,也更值得我们研究和学习。这一篇博客首先从作者的论文入手,目的在于理解该包的基本原理和知识,为下一

2021-10-07 21:06:00 317 1

原创 ROS-3DSLAM(1):综述

2021@SDUSCROS-3DSLAM(1):综述2021年9月27日星期一——2021年9月29日星期三一、项目简介:Robot operating System (ROS),通常被称为机器人操作系统,是一种弱耦合的分布式进程框架,通过进程间的消息传递和管理来实现硬件抽象和设备控制。我们的任务是对于这一系统的源代码进行分析。二、基本知识储备:一、概念初识(基于乌龟例子的学习) ROS文件系统 创建软件包:catkin和rosmake两种方式 软件包的

2021-09-29 10:12:39 541

空空如也

空空如也

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

TA关注的人

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