有教你怎么构建voxblox,并用voxblox做规划,感觉把我想做的都做了啊 GitHub - ethz-asl/mav_voxblox_planning: MAV planning tools using voxblox as the map representation.
voxblox建图教程-CSDN博客^v43^pc_blog_bottom_relevance_base8&spm=1001.2101.3001.4242.3&utm_relevant_index=7
从下面这可以看出voxblox是同时需要位姿和深度图的,这个和ego的风格很像。所以上面说用t265也好理解了!!! 应用于三维重建的TSDF(一)原理与代码解析 - 古月居 voxblox严格来说并不算是SLAM系统,因为这个系统并不带有定位的功能,它只负责进行三维重建,即只有mapping没有localization。它需要一个具有定位功能的SLAM系统输入当前机器人的位姿估计。这既是缺点也是优点。因为我们可以给这个系统搭配任意一个SLAM系统。像上文提到的Elastic Fusion, BAD SLAM的另一个问题就是因为他们是基于纯视觉的系统,当你的相机有比较大的抖动或者转弯等情况时,追踪就容易丢失。而对于voxblox,我们可以给它提供一个鲁棒性很强的SLAM系统提供位姿估计,一般来说就是包含IMU的比如港科大的VINS,Kimera-VIO 或者ORBSLAM 3(不是2是3哦,在2020 年7月左右开源,增加了对IMU等各种支持)。下图就是我利用港科大的VINS+Voxblox,硬件上利用了Realsense相机+IMU,在室外进行的CPU-Based的3维场景重建。
【【orbslam3+voxblox+d435i】基于TSDF的哈希体素网格的实时三维重构-哔哩哔哩】 【orbslam3+voxblox+d435i】基于TSDF的哈希体素网格的实时三维重构_哔哩哔哩_bilibili
安装voxblox及运行basement dataset数据集_vox-metadata数据集-CSDN博客
https://download.csdn.net/download/neptune4751/13144410
按照上面说的解压到工作空间src下面。
好像一两分钟就编译完了,在我公司笔记本Ubuntu上,没有报错
我起了一下roslaunch voxblox_ros euroc_dataset.launch ,有这个报红,是不是bag包不能在中文路径下。
把bag包换理论个路径打开还是这样
似乎是缺少image_undistort功能包,搜了下是有这个功能包 https://github.com/ethz-asl/image_undistort
我把这个功能包克隆下来并且用catkin build image_undistort在相同工作空间编译通过了
现在再起roslaunch voxblox_ros euroc_dataset.launch 是有这个报红,我看了下是我bag包名字弄错了,我下的MH_01,这里是V1_01
bag包名称改好再起是这样
这里有看到跟我相同的报红,似乎是image_undistort功能包造成的? stereo_undistort_node: rectification fails to generate valid P matrices · Issue #44 · ethz-asl/image_undistort · GitHub
rviz的坐标系需要选择为world,官网和别人博客都这么说了 Running Voxblox — voxblox documentation
安装voxblox构建稠密地图踩坑:_voxbloxmesh关联-CSDN博客
这里有voxblox发布的所有话题的说明 The Voxblox Node — voxblox documentation
还有看到两个博客说要安装rosmake voxblox_rviz插件,将voxblox和 rviz连接起来,我目前没有弄。 安装voxblox及运行basement dataset数据集_vox-metadata数据集-CSDN博客
安装voxblox构建稠密地图踩坑:_voxbloxmesh关联-CSDN博客
目前总体看弄voxblox的博客不是很多啊
看官网显示的voxblox跑euroc数据集可以达到这样的效果 Example Outputs — voxblox documentation
voxblock自己提供的bag包里面其实也就两个话题,一个点云话题一个位姿话题 iros2017 – ASL Datasets
这里教你如何订阅位姿和深度图,而不是tf和深度图了
我下的这个data.bag应该是对应cow_and_lady_dataset.launch,因为这个bag包的场景正好有个女士和奶牛,bag里的话题名称也和cow_and_lady_dataset.launch里的对的上。
我打印这个话题是有值的,似乎一秒一次
但是rviz没有这个话题可选的
我看了下这个voxblox_rviz插件在我下的压缩包里有,只是没有编译,我编译一下
在source 了voxblock工作空间的终端打开rviz就可以添加这个mesh话题了!!!!
跑时的节点图
我发现data.bag里面的位姿是geometry_msgs/TransformStamped这个话题类型,这搞不好还不能直接用vins位姿啊
The Voxblox Node — voxblox documentation
订阅的话题只有这几种类型,所以你还没法直接给深度图话题和odom,需要自己写个转换节点应该。 The Voxblox Node — voxblox documentation
geometry_msgs/TransformStamped感觉就比posestamped话题多了个string child_frame_id #子坐标系的 id ROS学习第十九节——TF静态坐标变换_geometry_msgs::transformstamped-CSDN博客
我打印了下data.bag里面的/kinect/vrpn_client/estimated_transform话题,发现里面坐标系的名称也没有什么特别的,感觉代码可能都没有读取,就读取的话题里面的位姿的值
又打印了下data.bag里的点云话题/camera/depth_registered/points 里面的坐标系和/kinect/vrpn_client/estimated_transform话题里的坐标系没有重合的
播放data.bag时我打印/tf,是没有值的,所以点云话题/camera/depth_registered/points 里面的坐标系跟/kinect/vrpn_client/estimated_transform话题里的坐标系根本没有建起联系。
那现在先实现把深度图转为点云吧
它哪怕跑RGBD数据集也是订阅的点云
还有我现在发现之前需要自己单独装的image_undistort功能包只在跑euroc数据集的时和用到了,似乎是用来基于双目灰度生成稠密深度图或者点云的,看来这个苏黎世联邦把我想做的都给做了!!!!!!
确实它就相当于一个立体匹配节点功能包了 GitHub - ethz-asl/image_undistort: A compact package for undistorting images directly from kalibr calibration files. Can also perform dense stereo estimation
确实功能包介绍里面就说了可以做深度估计
看到别人说港科大的fiesta比voxblox好用,而且可以直接订阅深度图,我就暂时先不折腾voxblox去跑自己的bag包了,还要自己写个深度图转点云。
看voxblox发出的话题里面,有mesh ,有esdf,有tsdf,确实很强!!!!!! The Voxblox Node — voxblox documentation
是的,不光一个mesh话题,还有tsdf话题,只是之前跑时我没有添加显示,不过我现在添加了tsdf话题,似乎没有什么显示的,是否要在launch文件设置?