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

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 论文 中找到
更多信息可以在这里找到:
- www.informatik.uni-freiburg.de/~endres
- http://www.ros.org/wiki/rgbdslam
- http://answers.ros.org/questions/tags:rgbdslam
先决条件
- 乌班图16.04
- ROS 动能
- AMD64处理器(ARM存在已知问题,大多与qt和opengl有关) 其他版本可能可以工作,但未经测试。如果您使用其他版本,请报告成功。
安装
这是一种规范的方式,如果您知道自己在做什么,请随意适应。
- 将RGBDSLAMv2放入catkin工作区:参见catkin教程
2.下载我的[g2o fork|https://github.com/felixendres/g2o],将其放在其他目录中。
构建并安装。将环境变量$G2O_DIR导出到安装目录即可
让 rgbdslam_v2 知道在哪里可以找到它(有关示例,请参阅从头开始安装)。
-
使用rosdep(i.e.“rosdep install rgbdslam”)安装缺失的 依赖关系。详情见http://wiki.ros.org/ROS/Tutorials/rosdep
-
要构建 RGBDSLAMv2,请转到catkin 工作区并执行“catkin_make”。 如果您收到有关缺少 siftgpu 库的错误,请再次执行“catkin_make”。
从头开始安装
现在有一个 install.sh 脚本,可以执行(bash install.sh)。
它会安装 ~/Code 下所需的所有内容(您可以更改脚本中的位置)。
该脚本简短且并不复杂,因此您也可以将其用作手册。
如果你想使用安装脚本,那么就足够了 直接下载。 则无需克隆此存储库,因为脚本将为您执行此操作。
如果你有4GB RAM以上的多核机器,可以加快编译速度 将两次出现的“-j2”增加为 e.g.、“-j4”。
安装完成!接下来怎么办?
有关用法的更多详细信息,请参阅以下部分。 但为了让您快速入门,以下是最重要的提示:
-
如果您想将 RGBDSLAMv2 与 RGB-D 相机一起使用,您可能有 to install openni (sudo apt-get install ros-kinetic-openni-launch) or something similar
-
查看“launch/”中的启动文件以获取示例和具体信息 use cases. roslaunch rgbdslam openni+rgbdslam.launch is a good starting point for live mapping.
-
您可能需要根据输入主题调整参数 on your camera driver node.
-
查看“test/”中的README进行运行、测试和评估 RGBDSLAMv2 on Juergen Sturm's RGB-D SLAM Dataset and Benchmark: http://vision.in.tum.de/data/datasets/rgbd-dataset You need cython for the evaluation scripts (sudo apt-get install cython).
-
如果您想使用 SURF 或 SIFT,则需要从源代码构建 OpenCV, including the non-free module (this does not include SIFTGPU, which is included, but needs to be enabled in CMakeLists.txt). In the CMakeLists.txt of RGBDSLAMv2 you can set the build directory of OpenCV and enable the non-free functionality. Note that SIFT and SURF are not the best choice. Due to new (software) features in RGBDSLAMv2, ORB outperforms both.
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/ros_ui {重置、quick_save、send_all、delete_frame、optimize、reload_config、save_trajectory}
- /rgbdslam/ros_ui_b {暂停,记录} {真,假}
- /rgbdslam/ros_ui_f {set_max} {浮动}
- /rgbdslam/ros_ui_s {save_octomap、save_cloud、save_g2o_graph、save_trajectory、save_features、save_individual} {文件名}
要启动 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:
-
Reset ''重置图表,删除所有节点(仅在捕获新图像时刷新)''
-
frame ''从传感器捕获一帧''
-
优化“触发图优化器”
-
reload_config ''从 ROS 参数服务器重新加载参数''
-
fast_save ''将所有点云保存在一个文件中 quicksave.pcd in rgbdslam/bin-directory''
-
send_all ''将所有点云发送到 /rgbdslam/transformed_cloud(可以使用 rviz 进行可视化)''
-
delete_frame ''从图表中删除最后一帧(仅在捕获新图像时刷新)'' /rgbdslam/ros_ui_b:
-
暂停
''暂停或恢复图像捕获'' -
record
''暂停或停止bag-files的记录,可以在rgbdslam/bin-directory中找到'' /rgbdslam/ros_ui_f: -
set_max
''过滤掉比该值更远的所有数据点(以厘米为单位,仅用于保存到文件)''
/rgbdslam/ros_ui_s:
- save_features
''将功能位置和描述符保存在具有给定文件名的 yaml 文件中'' - save_cloud
''将云保存到给定的文件名(应以 .ply 或 .pcd 结尾)'' - save_individual
''将每次扫描保存在自己的文件中(将后缀附加到给定的前缀)'' - save_octomap
''将云保存到给定的文件名'' - save_trajectory
''将传感器轨迹保存到文件 _estimate.txt''
更多帮助
编译可能会占用大量内存,特别是如果环境变量 $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
-
09.10
rgbdslam_v2:实践指南
-
09.10
hand-drawn-video-prompts:实践指南
-
09.10
ha-evcc:实践指南
-
09.10
Dex:实践指南
-
09.10
TrackMeNot:实践指南
-
09.10
tailscale-synology:实践指南
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏