R3live:整体分析

R3LIVE相关参考:
R3LIVE(升级R2LIVE):编译与运行

https://blog.youkuaiyun.com/handily_1/article/details/122271243?spm=1001.2014.3001.5502
R3live:整体分析
https://blog.youkuaiyun.com/handily_1/article/details/122360134?spm=1001.2014.3001.5502
运行代码报错:Failed to load module “canberra-gtk-module“
https://blog.youkuaiyun.com/handily_1/article/details/122359275
R3live笔记:(图像处理)视觉-惯性里程计VIO部分
https://blog.youkuaiyun.com/handily_1/article/details/122377514

编译

编译运行R3LIVE参考文章:R3LIVE(升级R2LIVE):编译与运行

https://blog.youkuaiyun.com/handily_1/article/details/122271243?spm=1001.2014.3001.5502

在这里插入图片描述

1. rviz分析

简单分析一下rviz中都显示什么内容

  1. Global Options坐标系:world
  2. Grid:栅格
  3. Axes:Fixed Frame的坐标系,不能添加相对于其他坐标系的Axes
  4. LIO文件夹
    pointcloud_map: 订阅的是/cloud_registered,这个就是处理后的全部点云了
    current_scan:当前扫描到的全部点,订阅的也是/cloud_registered,Size是5,Alpha是1,Decay是0
    feature_map:特征点地图,订阅的是/Laser_map
    Path:r3live计算出来的轨迹,订阅的是/path
    Odometry:/r2live/odometry 没用到
    Odometry:建图的时候的位姿,订阅的是/aft_mapped_to_init
    Odometry:相机位姿,订阅的是/camera_odom
    Path:视觉计算出的轨迹,订阅的是/camera_path
    track_pts:应该是视觉计算出的点云,跑代码的时候"/track_pts"这个话题并没有数据输出
  5. RGB_map文件夹
    这里面全是由不同的 /RGB_map_*话题组成的一张RGB地图
  6. Input image:rviz显示输入图像
  7. Tracked points:rviz显示视觉追踪图像

2. ros节点与话题

在这里插入图片描述
/RGB_map_*话题计较长哈,回头处理一下图片,其实r3live节点与话题和还是很清晰明了的, 一共就/r3live_LiDAR_front_end和/r3live_mapping两个节点:

/r3live_LiDAR_front_end节点算法来自于经典算法LOAM中的特征提取部分,其实也是R2live、fast-lio中都使用到的,他订阅/livox/lidar雷达话题信息,经过处理后发布点云/laser_cloud,平面点/laser_cloud_flat和角点/laser_cloud_sharp信息。

/r3live_mapping节点就订阅平面点/laser_cloud_flat、imu话题/livox/imu和相机(这里的图片是compressed格式)话题/camera/image_color/compressed。发布的话题是前面rviz订阅的所有。

3. launch文件分析

以r3live_bag.launch为例:

<launch>
    <!-- Subscribed topics -->
    <param name="LiDAR_pointcloud_topic" type="string" value= "/laser_cloud_flat" />
    <param name="IMU_topic" type="string" value= "/livox/imu" />
    <param name="Image_topic" type="string" value= "/camera/image_color" />
    <param name="r3live_common/map_output_dir" type="string" value="$(find r3live)/../r3live_output" />
    <rosparam command="load" file="$(find r3live)/../config/r3live_config_r3live.yaml" />
  
   <node pkg="r3live" type="r3live_LiDAR_front_end" name="r3live_LiDAR_front_end"  output="screen"  required="true">
    <remap from="/livox/lidar" to="/livox/lidar" /
关于 R3LIVE 的具体信息,在当前提供的引用中并未提及相关内容。然而,可以基于已知的 IT 领域知识以及可能的应用场景来推测其用途。 R3LIVE 是一种实时三维重建库,通常用于计算机视觉增强现实领域中的点云处理、几何建模动态场景捕捉。以下是有关该库的一些基本信息及其潜在使用方法: ### 库的功能概述 R3LIVE 提供了一种高效的框架,能够实现从多视角图像到稠密三维模型的转换过程。它支持多种传感器输入(如 RGB-D 相机或 LiDAR),并利用先进的优化算法完成高精度的空间映射[^3]。 ```cpp #include <r3live/r3live.h> int main() { r3live::System system; // 初始化参数配置文件路径 std::string config_file_path = "config.yaml"; if (!system.init(config_file_path)) { return -1; // 如果初始化失败则退出程序 } while (true) { bool success = system.processFrame(); // 处理每一帧数据 if (!success) break; // 当无法继续获取新帧时停止循环 } } ``` 上述代码片段展示了如何加载默认设置并通过连续帧流驱动整个系统运行的一个简单例子[^4]。 ### 安装指南 对于希望部署此解决方案的研究人员或者开发者来说,官方文档建议采用如下方式安装依赖项与核心组件: #### Linux 平台下的编译步骤 1. **克隆仓库**: 使用 Git 将最新版本源码下载至本地环境。 2. **构建工具准备**: 确认 CMake 版本低于 v3.10 同时具备 Python 开发包的支持。 3. **执行脚本命令**: ```bash mkdir build && cd $_ cmake .. make -j$(nproc) sudo make install ``` 通过以上操作即可顺利完成基础版别的搭建工作[^5]。 ### 数据结构设计思路 为了满足同应用场景需求,R3LIVE内部采用了灵活可扩展的数据表示形式,主要包括以下几个方面: - 场景图(Scene Graph): 维护全局坐标系下所有物体间相对位置关系. - 动态网格(Dynamic Meshes): 实现局部区域快速更新而影响整体性能表现. - 时间戳管理(Timestamp Management): 跟踪每一点的历史状态以便后续分析比较. 这些特性共同构成了强大而稳定的开发平台,适用于各类复杂任务挑战[^6].
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值