自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (1)
  • 收藏
  • 关注

原创 编译安装及运行港科大Vins-Mon开源代码

自己的电脑之前安装过Opencv4.5.0,cuda,orb-slam3, ros1, ros2。最近想试着跑下港科大的开源项目VINS-Mon。尝试编译安装,奈何一堆异常。主要是这个开源项目是17年写的,当时用的库还比较老。由于我之前安装的都是较新的版本,因此不得不将之前安装的都卸载掉,应该也可以共存,但是臣妾不会!中间几个简单的问题就不说了,具体说下遇到一个很棘手的问题。CvBridge是一个ROS库,提供ROS和OpenCV之间的接口。

2023-06-27 21:33:59 342

原创 设计模式之单例模式

单例有些对象只需要有一个: 线程池、缓存、注册表,这类对象只能有一个实例,如果制造多个实例,就会导致许多问题的产生,比如,程序的行为异常、资源使用过量,或者不一致;全局变量的缺点:如果将对象赋值给一个全局变量,那么在程序一开始就要创建好对象,如果对象比较耗费资源,而程序在执行过程中一直没有用到,就浪费了。单例模式的定义:确保一个类只有一个实例,并提供一个全局访问点,可以延迟实例化。适用于对资源

2017-12-02 21:15:44 176

原创 关于使用AMCL算法进行定位

今天想使用AMCL算法为小车进行定位,但是卡到一个地方一直搞不定。就是目前我的小车上只有一个2D的激光雷达,试了半天,查找很多资料后,最终发现AMCL的算法输入并不满足我的要求,导致我白白浪费很久,并且我发现似乎之前就在这方面进行过探索,所以我才将目光转向了更加通用的cartographer算法。/scan : 激光雷达数据2)/tf : 激光传感器的参数和里程计的坐标变换(小车上都没有里程计,这个参数咋输入都是错)3)/map:环境地图信息/amcl_pose: 机器人位姿估计。

2025-01-09 19:01:57 343

原创 离线录制激光雷达数据进行建图

目前有一个2D激光雷达,自己控制小车运行一段时间,离线获取到激光雷达数据后运行如下代码进行离线建图。

2025-01-08 16:50:37 394

原创 Leetcode 208实现Trie树前缀

一开始使用顺序遍历键值,运行时间太慢,后来修改为使用内置函数lower_bound, upper_bound 查找,速度提升很快;

2024-12-18 11:25:02 255

原创 关于URDF文件中坐标动态变换和静态变换的区别

<robot name="robot_with_lidar"> <!-- 定义底盘 (base_link) --> <link name="base_link"> <!-- 底盘的几何形状可以根据需求定义,示例中我们只定义了一个简单的盒子 --> <visual> <geometry> <box size="0.5 0.3 0.1"/> <!-- 底盘大小:长0.

2024-12-12 16:17:57 226

原创 C#中移位运算

在ubuntu 和windows 系统中目前都是小端序列,因此诸如以下形式: 0x12345679。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中;注意: 对于C#来说,必须是这样进行移位操作,否则会出现只返回8位0的情况;

2024-12-10 17:30:02 349

原创 Ubuntu手持司岚S2激光雷达进行建图

slam建图

2024-12-05 11:35:56 371

原创 字符串拼接

第二种写法中,“” 是一个const char[1], 本质是一个指针,c 是一个字符,+ 运算符在这里并不是将字符 c 添加到字符串中,而是做了 指针算术运算;因此最终结果是一个无效的指针地址,因此最后会报这个错误: “ubscript out of range”, 表示指针地址无效!第一种写法存在字符串的隐士转换,因此最后str是一个字符串;

2024-12-04 12:48:52 227

原创 编译cartographer和cartographer_ros 过程

安装cartographer

2024-11-06 16:31:32 171

原创 关于Catkin工作空间的两种方式

Catkin 工作空间作用方式

2024-11-06 10:29:34 402

原创 自动小车方案

slam

2024-10-29 14:40:55 120

原创 Linux vim配置及遇到的小问题

Linux编译小坑

2024-07-15 16:36:35 564 1

原创 WPF更新UI线程实现进度条功能

进度条绘制

2024-07-04 10:36:40 976

原创 373. 查找和最小的 K 对数字

修正后的方案是将第一列结点添加入heap中后,每次取数据后只向右侧进行扩展。直观的思路是每一个结点都向右侧和下侧扩展,但是这种方案会引起重复。

2024-05-13 21:59:56 255

原创 关于硬件同步和软件同步的解释

传感器数据同步方式: 硬件同步与软件同步

2024-05-11 15:33:08 987

原创 Leetcode167两数之和

解题思路: 缩减空间法。

2024-05-07 14:31:29 308 1

原创 VINS-Mono运行结果

【代码】VINS-Mono运行结果。

2024-04-02 15:28:19 402

原创 C++ 中的 Pimpl 惯用法

参考:Pimpl 用法

2024-03-19 11:49:36 564

原创 关于C++ 出现Bus error问题的排查

C++异常定位

2024-01-29 17:59:39 1597

原创 定位Linux下写句柄错误问题

C++ 定位问题

2024-01-16 14:55:58 497

原创 【WPF 按钮点击后异步上传多文件code示例】

WPF

2023-12-06 11:29:31 285

原创 C++中关于多线程并发访问实例函数与静态函数

C++多线程

2023-11-14 15:49:44 376

原创 关于Linux下排查C++进程Segment fault问题的步骤

C++ gdb使用

2023-11-03 16:26:47 318

原创 C++中单例中成员变量的获取最好返回引用

如果单例的成员变量是一个类,并且这个类中又包含了其他成员变量类,在获取该成员变量类时,如果返回的不是成员变量类的引用,可能会导致对象拷贝或移动,引起意外行为或资源管理问题。让我们通过一个示例来说明:假设有一个单例类 Singleton,它有一个成员变量 SomeClass member_;,并且 SomeClass 类中又包含了其他成员变量和资源。

2023-07-25 16:58:09 288

原创 修改编码器数值递增方向

公司电气同事购买的编码器安装在设备上,由于在使用过程中发现默认顺时针数值增加方向不行,于是需要使用如下指令修改 首先由于之前修改过站号,因此站号要从01改为02,然后重新计算CRC。CRC计算完成后在cutecome上修改时注意,cutecome可以选择输入字符的解析方式,是按照ASCII方式还是什么方式,具体参见参考,并且当选择hex方式解析时,完全可以将字符连着写,因为cutecome就是一次解析两个字符来做的。谨记!!!参考: 1Linux通过stty命令操作串口设备(linux串口操作命令)

2023-07-10 22:28:34 321

原创 C++中父子类构造析构顺序

C++中父子类构造析构顺序

2023-03-18 20:21:01 225

原创 ubuntu22.04安装kalibr

ubuntu22.04 安装kalibr

2023-02-03 14:59:54 1099 2

原创 C++中如何跟踪对象内存分配情况

C++对象内存分配跟踪分析

2022-10-19 18:25:08 284

原创 C++ 单例

C++ 单例举例

2022-10-19 15:39:09 242

原创 C++ string 效率分析

C++ string效率分析

2022-10-19 14:34:23 489

原创 C++ BENCHMARKING 使用

C++调试检测

2022-10-18 15:15:51 370

原创 C++ 虚函数virtual用法

C++ 虚函数用法

2022-10-17 15:09:23 299

原创 C++ 数组的处理

C++数组实例详解

2022-10-14 17:25:41 214

原创 用虚函数地址访问虚函数

用虚函数地址访问虚函数

2022-10-13 10:46:57 264 1

原创 C++中指针的转换

C++开发中指针类型转换

2022-10-12 16:22:52 691

原创 C++学习笔记——运算符重载

运算符重载是C++相对于Java的特性,就像作者说的,C++其实是提供了更多的灵活性,因此效率会提高,但是如果不严谨的话bug会比较多,这就需要基础知识比较扎实,知行合一。return!} };return 0;}

2022-09-26 17:17:54 325

原创 C++ 并发编程笔记——线程共享数据

C++并发编程

2022-09-15 17:43:16 332

原创 spring-boot 知识积累

定时任务配置参考:http://www.importnew.com/27287.html

2017-12-13 20:32:33 217

原创 迭代器与组合模式

迭代器与组合模式原则: 封装变化的部分这里主要是用迭代器来封装遍历操作:这里breakfastMenu 为一个ArrayList数组实现iterator接口,并且实现next() 和hasNext() 方法,迭代器的本质是封装了遍历

2017-12-13 20:29:51 219

主题模型java代码

主题模型java代码,亲测可用效果很好。

2015-12-04

空空如也

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

TA关注的人

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