关于TARA中ExtractVerticalSurface

xiyuefeng198802 国防科技大学 2021-11-24 14:58:36

大神你好,请问

1. ExtractVerticalSurface,请问该方法中的依据是什么呢,为啥可以提取出surface呢

2. diff_cloud_指的是什么呢

这个操作没看懂,筛选<40的点,是选出的原来stacked_cloud_中的点吗(r = 255)?

3. 为甚么会有uncovered的点呢,点不都是来自于点云,只要是点云应该都是被扫描(covered)到才出现的呀,为什么还会有uncovered的呢

是指当前的surface中,未被covered的surface吗?

引入surface,而不用单独的frontier的目的,就是为了牵制vehicle,不让它太贪心,一直朝着frontier走,对吗???

 

 

...全文
80 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
曹超CMU 社区管理员 14小时前

你好,

  1. 因为我们开源的代码是给地面机器人使用的,探索的过程中只考虑相对垂直的表面(vertical surface),比如墙上的点。ExtractVerticalSurface这个函数是希望把墙上的点都提取出来,把地上和天花板上的点扔掉。主要的想法是看每个点邻域内其他点的分布。如果一个点的邻域内其他点都和它有一定的高度差,那这个点很有可能就是墙上的点(vertical surface)。 具体实现上用了一个操作点云的小技巧。先把点云的高度(z)存在PointXYZI的intensity里面,然后把z设成0,就得到了一个在xy平面上的扁平化的点云。然后对每一个点用kdtree搜索邻域,如果邻域内点的intensity,也就是z,存在一定高度差,那么它就是墙上的点。值得注意的是,如果这个高度差太大,那它可能是天花板或者地上的点。因为把点云在xy平面上压扁后天花板上的点和地上的点混合在了一起。

  2. diff_cloud指的是一帧点云当中和之前几帧相比有变化的点。这个我们在https://bbs.csdn.net/topics/%E8%BF%99%E7%AF%87%E8%AE%BA%E6%96%87中有提到。

  3. 具体关于uncover和covered点的定义我们在https://bbs.csdn.net/topics/%E8%BF%99%E7%AF%87%E8%AE%BA%E6%96%87中有给出。简单来说,但激光雷达扫描到环境中的点之后,我们并不认为这个点被covered了。只有当机器人离它足够近(理论上还需要在一个比较好的观测角度)才认为它被covered了。

  4. 是的。我们这个探索算法的主要目的是建立一个完整的高质量的地图,所以我们希望机器人不仅仅只是“看到”了surface,还要把它“看好”。

回复
相关推荐
发帖
TARE机器人自主导航系统
创建于2021-10-11

107

社区成员

社区内分享我们的开源平台tare机器人自主导航系统,希望能帮助所有自主移动机器人领域的研究人员快速搭建出属于自己的,稳定可靠的机器人仿真和实验的平台,更快进入自己的研究领域
帖子事件
编辑了帖子
2021-11-24 16:48
创建了帖子
2021-11-24 14:58
社区公告
暂无公告