首页
看点啥
插画图片
首页 科技看点 rgbdslam_v2:实践指南

rgbdslam_v2:实践指南

2026-09-13 0

团队讨论rgbdslam_v2时,我会先把用途说清楚:RGB-D SLAM 为 ROS。这类日常自动化工具真正难在输入边界、依赖和失败处理如果不清楚就很难稳定复用,仓库说明只能作为第一层证据。短测时我会用一项范围明确的真实任务完成最小试跑,并保留配置时间、输出质量、异常信息和维护痕迹的结果,方便团队复盘。编辑判断上,愿意先做小范围验证并复查原始文档的团队可以优先研究它;其他团队不必为了热门标签勉强接入。

felixendres/rgbdslam_v2 项目截图 1

RGBDSLAM v2

...是用于 RGB-D 相机的最先进的 SLAM 系统,e.g.,Microsoft Kinect 或 Asus Xtion Pro Live。 您可以使用它来创建 3D 点云或 OctoMaps.

RGBDSLAMv2基于开源项目ROS、OpenCV、OpenGL、PCL、 OctoMap、SiftGPU、g2o 等 - 谢谢!

包含系统描述和性能评估的期刊文章 可以在以下出版物中找到:

“使用 RGB-D 相机进行 3D 绘图”,

F。 Endres、J. Hess、J. Sturm、D. Cremers、W. Burgard

IEEE 机器人交易,2014 年。

更多信息可以在我的 PhD 论文 中找到

更多信息可以在这里找到:

先决条件

安装

这是一种规范的方式,如果您知道自己在做什么,请随意适应。

  1. 将RGBDSLAMv2放入catkin工作区:参见catkin教程

2.下载我的[g2o fork|https://github.com/felixendres/g2o],将其放在其他目录中。 构建并安装。将环境变量$G2O_DIR导出到安装目录即可 让 rgbdslam_v2 知道在哪里可以找到它(有关示例,请参阅从头开始安装)。

  1. 使用rosdep(i.e.“rosdep install rgbdslam”)安装缺失的 依赖关系。详情见http://wiki.ros.org/ROS/Tutorials/rosdep

  2. 要构建 RGBDSLAMv2,请转到catkin 工作区并执行“catkin_make”。 如果您收到有关缺少 siftgpu 库的错误,请再次执行“catkin_make”。

从头开始安装

现在有一个 install.sh 脚本,可以执行(bash install.sh)。 它会安装 ~/Code 下所需的所有内容(您可以更改脚本中的位置)。

该脚本简短且并不复杂,因此您也可以将其用作手册。

如果你想使用安装脚本,那么就足够了 直接下载。 则无需克隆此存储库,因为脚本将为您执行此操作。

如果你有4GB RAM以上的多核机器,可以加快编译速度 将两次出现的“-j2”增加为 e.g.、“-j4”。

安装完成!接下来怎么办?

有关用法的更多详细信息,请参阅以下部分。 但为了让您快速入门,以下是最重要的提示:

IMPORTANT NOTE

该软件是RGBDSLAM Fuerte版本的更新。然而 很多东西都变了,所以有些是DOCUMENTATION BELOW MAY BE OUTDATED。 请报告文档的问题。谢谢。

配置

有几个示例启动文件设置 RGB-D SLAM 的参数 对于某些用例。有关所有设置及其默认值的明确列表 设置看看它们的相当可读的定义 src/parameter_server.cpp 或(使用当前设置而不是默认设置) 在GUI菜单设置->查看当前设置。

各种用例启动文件可能还无法正常工作,因为它们还没有 定期测试。如果你摆弄主题,你应该让它们运行 (“rostopic list”和“rosnode info”会帮助你。“rqt_graph”也很棒)。

用法

大多数人似乎想要注册的点云。默认是发送出去的 当您命令 RGB-D SLAM 执行此操作时,在 /rgbdslam/batch_clouds 上(见下文)。的 送来的云朵其实和之前一样,只是做了相应的变换—— 默认情况下从 /map 到 /openni_camera - 在 /tf 上发送。

octoMap库被编译到rgbdslam节点中。这允许创建 直接八图。在 GUI 中,可以通过选择“保存 Octomap”来完成 从“数据”菜单。可以进行在线八进制映射,但不推荐。

与 GUI 配合使用

要启动 RGBDSLAMv2 启动,e.g., $ roslaunch rgbdslam openni+rgbdslam.launch

或者,您可以分别启动 openni 节点和 RGBDSLAMv2,e.g: roslaunch openni_camera openni_node.launch roslaunch rgbdslam rgbdslam.launch

要捕获模型,请按空格键开始记录连续流或 按 Enter 键录制单帧。为了减少数据冗余,顺序 来自(几乎)相同位置的帧不包含在最终模型中。

参数 RGBDSLAMv2可通过参数定制。这些应该在启动时设置 文件。操作期间可以通过 GUI 更改参数,但是, GUI 的更改可能对许多参数没有影响。

可视化 3D 可视化显示全局优化的模型(您可能有 单击进入以更新优化后的视图)。邻近 除了缺失值和深度跳跃之外,可以对点进行三角测量。与 快捷键“t”,可以切换三角测量。由于原始点渲染 稍微快一点的参数“cloud_display_type”控制是否 三角测量是在接收到云时计算的。 参数“gl_point_size”可能对大多数用户有用。

不使用 GUI

RosUI 是 Grapical_UI 的替代品,用于运行 rgbdslam headless, 例如在 PR2 上。 然后可以通过服务调用使用 rgbdslam。 可能的调用是:

要启动 rgbdslam headless,请使用 headless.launch: $ roslaunch rgbdslam headless.launch

通过以下方式捕获单帧: $ rosservice call /rgbdslam/ros_ui frame

捕获数据流: $ rosservice call /rgbdslam/ros_ui_b pause false

使用计算变换发送点云(e.g.,到 rviz 或 octomap_server): $ rosservice call /rgbdslam/ros_ui send_all

使用以下方法之一保存数据:

rgbdslam/bin-directory 中的一个文件 quicksave.pcd 中的所有点云: $ rosservice call /rgbdslam/ros_ui_s save_cloud

rgbdslam/bin-directory 中的每个点云都有自己的文件: $ rosservice call /rgbdslam/ros_ui save_individual

/rgbdslam/ros_ui:

/rgbdslam/ros_ui_s:

更多帮助

编译可能会占用大量内存,特别是如果环境变量 $ROS_PARALLEL_JOBS is set.

如果您位于德国并且加载保存的层文件时出错 进入meshlab,尝试切换到U.S。区域设置或将小数点替换为 .ply 文件中的逗号

如果您对RGBDSLAM的安装或使用有疑问,请参阅 发送至 http://answers.ros.org/questions/?tags=RGBDSLAM 如有其他问题, 对这个README的建议、更正或提交补丁,请联系 菲利克斯·恩德雷斯 ([email protected])。

除了本手册之外,还可以使用 rosdoc 创建代码文档 (“rosrun rosdoc rosdoc rgbdslam”),这将在您的文件夹中创建一个“doc”文件夹 当前目录。

GICP 和 SIFTGPU

如果存在与GICP或SIFTGPU的编译或链接相关的问题, 您可以在 CMakeLists.txt 顶部停用这些功能。你可能会得到 甚至更快的 GPU 功能设置参数“siftgpu_with_cuda”,但您会 需要安装专有的 CUDA 驱动程序,可能需要 NVidia GPU (参见 http://www.nvidia.com/object/cuda_gpus.html)。 用于安装 开发驱动程序和 CUDA SDK 您可以使用以下教程: http://sublimated.wordpress.com/2011/03/25/installing-cuda-4-0-rc-on-ubuntu-10-10-64-bit/ 或对于 ubuntu 10.04:http://ubuntuforums.org/showthread.php?t=1625433(已测试 在 Ubuntu 10.04 x64 上)要使用 SiftGPU,您应该安装“libdevil-dev”。 可以在以下位置更改附加编译信息 external/siftgpu/linux/makefile. 如果出现找不到 siftgpu 库的错误,请手动执行“make” 在目录 external/siftgpu/ 中并重新运行 catkin_make。

GICP 通用 ICP 可以被(去)激活以细化注册。对于 更多信息参见http://stanford.edu/~avsegal/generalized_icp.html

喜欢(0)

上一篇

TACTIC:实践指南

TACTIC:实践指南

下一篇

TCACoordinators:实践指南

TCACoordinators:实践指南
猜你喜欢