- 博客(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
原创 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
原创 字符串拼接
第二种写法中,“” 是一个const char[1], 本质是一个指针,c 是一个字符,+ 运算符在这里并不是将字符 c 添加到字符串中,而是做了 指针算术运算;因此最终结果是一个无效的指针地址,因此最后会报这个错误: “ubscript out of range”, 表示指针地址无效!第一种写法存在字符串的隐士转换,因此最后str是一个字符串;
2024-12-04 12:48:52
227
原创 373. 查找和最小的 K 对数字
修正后的方案是将第一列结点添加入heap中后,每次取数据后只向右侧进行扩展。直观的思路是每一个结点都向右侧和下侧扩展,但是这种方案会引起重复。
2024-05-13 21:59:56
255
原创 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++相对于Java的特性,就像作者说的,C++其实是提供了更多的灵活性,因此效率会提高,但是如果不严谨的话bug会比较多,这就需要基础知识比较扎实,知行合一。return!} };return 0;}
2022-09-26 17:17:54
325
原创 迭代器与组合模式
迭代器与组合模式原则: 封装变化的部分这里主要是用迭代器来封装遍历操作:这里breakfastMenu 为一个ArrayList数组实现iterator接口,并且实现next() 和hasNext() 方法,迭代器的本质是封装了遍历
2017-12-13 20:29:51
219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人