- 博客(94)
- 问答 (1)
- 收藏
- 关注
原创 Docker ROS dbus[xxx]: The last reference on a connection was dropped without closing the connection
Docker ROS dbus[xxx]: The last reference on a connection was dropped without closing the connection
2024-05-30 10:37:51
520
1
原创 IMU-Odom 运动模型
IMU里程计和视觉里程计、激光里程计等一样,都可以独立计算里程计信息。求解IMU里程计的步骤可以简单的分为三个模块:IMU运动积分、IMU预积分、IMU初始化。求解IMU里程计的流程参考自ORB:SLAM3。
2024-01-28 22:40:36
1263
原创 ORB-SLAM2和3区别:跟踪线程
这里简单记录一下ORB-SLAM3和ORB-SLAM2在跟踪线程的区别。第一阶段:参考关键帧跟踪、恒速模型跟踪、重定位跟踪。第二阶段:局部地图跟踪。第三阶段:短期跟踪丢失和长期跟踪丢失。其中第三阶段是ORB-SLAM3新增的一种状态。
2024-01-27 15:35:11
1093
原创 《ORB-SLAM3》IMU初始化
刚接触了IMU传感器,除了IMU预积分的相关知识外,关于IMU的另一个重要知识点就是IMU的初始化。IMU为什么需要初始化?IMU初始化是为了获得重力方向和IMU零偏的初始值。有了正确的重力方向才能消除IMU预积分中加速度计关于重力的影响,得到的IMU预积分数据才能保证准确。
2024-01-23 15:29:15
2150
原创 《LIO-SAM阅读笔记》IMU作用总结
此处IMU里程计是以IMU的频率向外发送位姿估计,提高了SLAM系统里程计的发送频率。1.利用当前帧Lidar里程计作为起点,结合IMU预积分,得到IMU里程计信息。4.利用IMU的YPR值对scan-to-map之后的雷达里程计位姿作加权融合。3.利用IMU里程计信息对Lidar每帧点云的位姿作初始化(粗略估计)。2.利用IMU预积分对Lidar每帧点云进行运动去畸变。
2024-01-15 14:05:19
604
原创 《LIO-SAM阅读笔记》-为何要引入增量式里程计?
增量式里程计是一个平滑的结果不会有大幅度的位姿跳跃,适用于因子图优化时,帧间的位姿变换对imu预积分的约束。LIO-SAM在后端中同时维护着两个里程计,一个是增量式里程计,一个是优化后的里程计,其中优化后的里程计是经过imu、回环、gps因子图联合优化后的结果,是整个系统中最准确的位姿估计,那么为什么还需要维护增量式里程计呢?因此我认为,如果不需要更新IMU偏置,在LIO-SAM中完全可以不维护增量式里程计,直接使用后端优化后的位姿联合IMU帧间的预积分结果,就可以发送最终的imu里程计信息。
2024-01-12 21:31:23
943
原创 SLAM中的世界坐标系和地图坐标系关系
因此在没有地图坐标系矫正的SLAM算法中,我们要保证初始化时传感器是水平放置的,否则创建的地图就会出现如下图现象。世界坐标系一般反应真实的空间坐标,因此世界坐标系的Z轴应该与真实空间中的重力方向平行。一般情况下,我们将初始时刻的传感器水平的放置,此时我们将世界坐标系认作是地图坐标系,但是初始化时刻传感器不是水平放置,此时的地图坐标系将不再是世界坐标系。若地图坐标系不是世界坐标系,此时我们将地图坐标系当做世界坐标系显示点云地图时,整个地图就会出现一定的角度偏移。
2024-01-10 14:12:49
1125
1
原创 视觉SALM与激光SLAM的区别
这里比较一下视觉SLAM和激光SLAM的区别,仅比较其在特征提取和匹配上的一些不同,这里拿视觉SLAM算法:ORB-SLAM系列和激光SLAM算法:LOAM系列对比。
2024-01-09 17:20:27
3725
原创 《知识扫盲》ROS和ROS2对比
ROS的设计目标是简化机器人的开发,如何简化呢?ROS为此设计了一整套通信机制(话题、服务、参数、动作)。通过这些通信机制,ROS实现了将机器人的各个组件给的连接起来,在设计这套通信机制的时候就设计了一个叫做。的东西,所有节点(可以理解为某一个组件,比如:激光雷达)的通信建立必须经过这个主节点。,此时避障策略将会失效,如果机器人正在运行,碰到障碍物会径直装上去,机毁人亡!一旦Ros Master。
2024-01-04 09:54:24
1073
原创 ubuntu系统如何干净的卸载库文件
在我们使用Ubuntu系统以及学习各类项目时,总是需要安装许多库以及不同版本的库,因此经常需要卸载安装好的库文件,或者是切换不同的版本。下面总结一下如何干净的卸载掉安装的库,这里以Pangolin库为例。
2024-01-03 09:31:13
2364
原创 《知识扫盲》什么是动态库、静态库、共享库?
共享库(Shared Library)、动态库(Dynamic Library)和静态库(Static Library)是三种不同的库文件,它们在编程中有不同的作用和使用方式。
2024-01-02 14:25:33
699
原创 超级用户、普通用户、用户组
Linux是多用户操作系统,指的是多普通用户,超级用户(root)一般只有一个。Linux中的权限是用来限制普通用户的,超级用户(root)的命令提示符是’#’,而普通用户的命令提示符是’$’。是要将用户添加到的目标用户组的名称。是一个用于修改用户属性的命令。用户组分为两类:基本组(私有组)、附加组(共有组): 在创建用户的同时就自动会建一个与用户同名的组。是要添加到sudo用户组的用户的用户名。:用户所属的除基本组外的其他组。
2024-01-02 11:55:15
1680
空空如也
为什么李群不能对其求导?
2022-08-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人