自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南北粉面馆

只不过是一碗粉罢了,喜欢再来

  • 博客(488)
  • 资源 (7)
  • 收藏
  • 关注

原创 Cartographer重入门到精通(三):前后端参数解读(部分)

可能要阅读Cartograher数据处理的代码才会知道,Cartograher处理数据的方式是:只有当同时接收到所有的传感器数据之后,才会发布其中最早的一个传感器数据,所以如果激光数据频率比较低,会影响到其他数据的快速发布,所以分成10份是为了加速其他穿插在其中的传感器数据的使用。更快的获取数据,就可以更好的将一帧有畸变的激光数据转换为一帧连续的没有畸变且即时的数据。为了降低点云的计算量,我们通常会对点云进行降采样,然而一种简单随机的采样会使得远处稀疏的点云丢失,而近处的点云仍然冗余。

2024-07-21 20:57:29 424

原创 Cartographer重入门到精通(二):运行作者demo及自己的数据集

这里纯定位的“纯”是相对于建图来说,纯定位的时候地图是已知的,使用之前建立好的地图进行纯粹的定位功能,所以这个demo并不像建图一样占用大量的cpu。这也是carto的亮点,他可以在精度比较差的激光雷达上稳定运行,证明了carto算法的通用性和高效性,并不挑硬件和精度。这个demo是个大杀器,我们知道很多场景是不断变化的,那么我们之前建立的激光地图可能就会失效,那我们频繁的更新激光地图是不是太麻烦,所以我们人为的设置一些路标,就可以大大提高我们定位时的稳定性,实际测试效果也很好。使用生成的地图进行定位。

2024-07-13 17:15:55 750 4

原创 使用find_package

要自己写好helloConfig.cmake.in文件。安装库的CmakeList.txt。

2024-06-28 14:33:52 177

原创 rs232和can的区别

综上所述,RS232和CAN在通信方式、应用场景、传输距离、通信速度以及网络结构等方面存在显著差异,使得它们各自适用于不同的应用需求。CAN总线则广泛应用于汽车的控制系统、工业自动化控制等领域,因为它能够支持多主通信,即多个节点可以同时发送和接收信息。RS232主要用于计算机与外部设备的通信,如鼠标、打印机等,以及电子设备之间的数据传输。RS232和CAN的主要区别在于通信方式、应用场景、传输距离、通信速度以及网络结构。CAN总线网络结构中没有主从之分,每个设备都是平等的,支持多主和多从的通信方式。

2024-06-21 10:41:05 295

原创 C++ 后端,Vue前端

这里给出App.vue代码。

2024-06-18 11:13:04 256

原创 vue音乐播放条

【代码】vue音乐播放条。

2024-06-17 17:43:20 369 1

原创 vue分页

【代码】vue分页。

2024-06-17 15:40:24 164

原创 vue分类

【代码】vue分类。

2024-06-17 15:14:34 260

原创 vue标签组

【代码】vue标签组。

2024-06-17 13:41:39 267

原创 vue简介实例

【代码】vue简介实例。

2024-06-17 11:27:37 311

原创 vue格网图

【代码】vue格网图。

2024-06-16 12:11:30 371 2

原创 vue3轮播图怎么做

【代码】vue3轮播图怎么做。

2024-06-16 10:55:18 360

原创 Vue3-cloud-music前端探索

回调函数是handleThemeSwitchUpdateChange。ts中的自定义类对象mainStore。主题颜色切换使用了n-switch。

2024-06-06 09:37:38 215

原创 单个反光柱作为landmark,因输入角度异常导致ceres后端崩溃

使用ComputeUnscaledErrorWithoutRotation替换原先的ComputeUnscaledError。现在后端优化不会再抛出-nan的错误了。

2024-06-04 08:41:04 188

原创 使用libdmtx库高效识别DM码,关键是图像预处理

其中预处理中最关键的是,自己测试的时候也有蒙的成分,但是效果很好。

2024-05-17 11:18:25 494 1

原创 Qt工程提升类后, CMake找不到头文件

https://blog.csdn.net/qq_45526401/article/details/134724277?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogOpenSearchComplete%7ERate-1-134724277-blog-137461528.235%5Ev43%5Epc_blog_bottom_relevance_base2&depth_1

2024-05-16 11:36:04 388

原创 .git文件过大清除

有时自己上传了大文件又删除就会造成.git文件过大。补充一下jar包在linux和windows下通用。bfg-repo-cleaner这个工具挺好的。

2024-05-10 11:46:24 78

原创 Error Code 12 Msg: Unable to find uri[model://ground_plane]

ubuntu16.04 安装turtlebot3仿真,运行之后发现报这个错误,然后没有小车。

2024-04-23 15:57:25 261

原创 You must call ros::init() before creating the first NodeHandle

在代码里我们先实例化了qnode类,所以在qnode的头文件中,我们先实例化了ros::NodeHandle nh,后调用了ros::init(),导致程序报错。你必须在创建NodeHandle之前先调用ros::init()函数。qnode.h中注释没有使用的NodeHandle变量。

2024-04-01 12:08:04 347

原创 ubuntu制作deb安装包

使用脚本来控制的好处是比较灵活与功能强大。

2024-03-29 17:07:41 462

原创 linux 获取cpu和硬盘id

std::string get_harddisk_info()来获取硬盘id。直接代码,有的电脑cpuid可能没有,代码头文件没有理清但是满足编译需求。std::string getcpuid() 来获取cpu id信息。

2024-03-21 17:30:36 389

原创 ConnectedComponents类

std::map是一个关联容器,它要求元素的键是唯一的。如果尝试插入一个已经存在的键,emplace函数将不会进行插入操作,而是返回指向已经存在的元素的迭代器。就是把一个本来应该是网状的结构变成了单链,就好像你和朋友是小李,小李的朋友是小王,那我和小王也是朋友,用单链串起来就可以。所以这里的forest_其实是在维护一个单链关系,就像作者说的压缩路径,什么意思呢?我们可以通过检查返回的迭代器是否等于std::map::end来确定插入是否成功。这个类有个变量很有意思。

2024-03-17 20:22:52 38

原创 tf2使用注意事项

虽然感觉tf2_ros::TransformListener没有被使用,但是这个变量在程序运行时要一直存在的,如果被定义为临时变量就打错特错了。

2024-03-08 17:41:16 136

原创 qt如何配置ros环境

在Qt5.7的版本可以使用bash -i -c来启动qt,让Qt自己识别系统环境,不知道为什么Qt在之后的版本,这样使用都失效了。因为它会默认把CMAKE_PREFIX_PATH修改掉。网上还有安装ros插件版本的qt creator,感觉失去了一些灵活性。自己测试发现,只要在CMakeList.txt中加入ros的库信息即可。但是运行的时候还要配置ROS的一个变量ROS_MASTER_URI。具体位置在qt的Build Environment。这样编译是没有问题的。

2024-03-08 13:57:34 401

原创 CMakelist uninstall

大家可能都用过sudo make install,但是如何uninstall却不知道。要求build文件夹存在且install_manifest.txt文件夹还在。如果没有需要先编译安装后再卸载。

2024-03-01 10:39:42 254

原创 cartographer ceres后端优化

这里引用一篇文章作用一:用户可以选择使用Problem::AddParameterBlock显式添加参数块;在显式添加的时候ceres会内部进行额外的正确性检查。当Problem::AddParameterBlock()不存在时,Problem::AddResidualBlock()会隐式添加参数块,因此不需要显式调用Problem::AddParameterBlock()函数。ps:类似构造函数,显式构造函数。

2024-02-28 16:24:43 539

原创 cartographer切换地图显示问题,临时解决方案

切换地图

2024-01-03 19:14:01 590

原创 gitee使用

注意:也不知道什么原因,第一次要git pull origin HEAD。参考网址:https://gitee.com/layene/gitee。

2024-01-03 10:15:20 408

原创 Ubuntu 20.04 连不上网,没有网络图标

这篇文章也是good。

2023-10-23 10:23:32 150

原创 VIO和预积分(蒙圈的请过来,带你不蒙圈)

大佬的世界,你不会懂,就像一行行公式,人家觉得很简单,你却要读很多遍,不过还好,我们从普通人的世界来解读VIO和预积分。

2023-09-26 17:48:58 341

原创 Rviz插件分析(status_panel)

看不懂的先在上面学习一波,主要分为5个部分:PACKAGE SETUP (自身包的配置)、QT(QT环境的配置)、FILES(文件引入)、LIBRARY(生成库文件设置)、INSTALL(打包发布的配置)我们可能还注意到了插件的icons图标,放一个png在路径/icons/classes/*.png即可。这里StatusPanel继承了rviz::Panel类,覆写了2个函数。再来看看status_panel.h。先来看看CMakeList.txt。使用了2个Qt控件,用于接收和显示。

2023-09-22 16:27:33 249

原创 rviz架构分析

rviz的架构分析

2023-09-19 09:29:03 213

原创 机器人上位机探索

3、使用qml实现的机器人上位机,适配ROS2。4、使用qml实现的slam探索仿真器。7、vizanti,网页端的机器人显示。1、扫地机器人Qt上位机。2、机械臂仿真上位机。

2023-09-12 09:18:21 399

原创 运行ORB-SLAM3,整体感觉还不错

安装文档,可以参考运行测试。

2023-09-11 14:38:44 395

原创 rosdep init 错误解决终极方法(药到病除)

ros

2023-09-08 17:19:28 195

原创 视觉SLAM14讲笔记-第10讲-后端1

后端优化

2023-09-08 14:14:08 566

原创 视觉SLAM14讲笔记-第7讲-视觉里程计2

视觉里程计 直接法

2023-09-06 17:27:03 287

原创 视觉SLAM14讲笔记-第5讲-相机与图像

畸变产生的原因:一是透镜自身的形状对光线传播的影响,二是在机械组装过程中,透镜和成像平面不可能完全平行,这也会使得光线穿过透镜投影到成像面时的位置发生变化。在世界坐标系下,所以这两个坐标系之间有一个外参数,也个外参数(R,t)代表机器人在世界坐标系下的运动轨迹。考虑到视觉SLAM中一般都使用普通的摄像头,针孔模型及径向畸变和切向畸变模型已经足够。我们可以使用棋盘格进行标定,这一点张正友博士做了很多的工作。在相机坐标系下的点进行归一化,使得Z=1,即得到相机。位于相机坐标系,一般我的空间点。

2023-09-06 15:47:33 81

原创 视觉SLAM14讲笔记-第7讲-视觉里程计1

视觉里程计

2023-09-06 15:46:07 347

原创 视觉SLAM14讲笔记-第4讲-李群与李代数

在优化问题中去解一个旋转矩阵,可能会有一些阻碍,因为它对加法导数不是很友好(旋转矩阵加上一个微小偏移量可能就不是一个旋转矩阵),因为旋转矩阵本身还有一些约束条件,那样再求导的过程中可能会破坏要优化的矩阵是旋转矩阵的本质条件,所以这里引入了一个乘法导数,即本章提到的左扰动或右扰动。BCH公式可以告诉我们当李代数发生了小量变化,旋转矩阵对应的变化,有利于计算出李代数导数,然而这个公式并不是万能的,用BCH线性近似来对李代数求导仍然有比较复杂的。变换矩阵对应的李代数是6维向量,平移在前,旋转在后。

2023-08-29 15:42:51 219

Principles of Robot Motion Theory, Algorithms, and Implementations

Principles of Robot Motion Theory, Algorithms, and Implementations

2018-03-15

An+Introduction+to+Programming+with+IDL

An+Introduction+to+Programming+with+IDL

2014-06-22

Application Development in IDL

Application Development in IDL,喜欢的可以下载,本人英语不好

2014-06-22

ENVI遥感影像处理实用手册

ENVI遥感影像处理实用手册,不错的图像处理基础软件的学习

2014-06-22

全国计算机等级考试二级C++上机题库

全国计算机等级考试二级C++上机题库,考计算机等级考试的必看

2014-06-22

C#入门经典第5版

C#入门经典第5版,学习编程的基础知识必不可少

2014-06-22

空空如也

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

TA关注的人

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