关于tare的问题!!!!

xiyuefeng198802 国防科技大学 2021-12-15 21:33:48

曹超大佬,感谢回答,请问

1.use_array_ind指的是什么意思呢

2.是用什么方法解决pst问题呢

3.每次采样的candidate viewpoint是当前帧视线范围内的,还是说只要看到过的呢

4.请问在CheckViewPointLineOfSight()中这段代码是什么意思呢,

它是以什么原理取判断viewpoint是否在视线之内以及在当前视线之内呢,

谢谢

for (int xi = 0; xi < 2; xi++)

{

for (int y = 0; y < vp_.kNumber.y(); y++)

{

for (int z = 0; z < vp_.kNumber.z(); z++)

{

int x = x_indices[xi];

Eigen::Vector3i end_sub(x, y, z);

int array_ind = grid_->GetArrayInd(end_sub);

if (!checked[array_ind])

{

CheckViewPointLineOfSightHelper(robot_sub, end_sub, max_sub, min_sub);

checked[array_ind] = true;

}

}

}

}

 

for (int x = 0; x < vp_.kNumber.x(); x++)

{

for (int yi = 0; yi < 2; yi++)

{

for (int z = 0; z < vp_.kNumber.z(); z++)

{

int y = y_indices[yi];

Eigen::Vector3i end_sub(x, y, z);

int array_ind = grid_->GetArrayInd(end_sub);

if (!checked[array_ind])

{

CheckViewPointLineOfSightHelper(robot_sub, end_sub, max_sub, min_sub);

checked[array_ind] = true;

}

}

}

}

 

for (int x = 0; x < vp_.kNumber.x(); x++)

{

for (int y = 0; y < vp_.kNumber.y(); y++)

{

for (int zi = 0; zi < 2; zi++)

{

int z = z_indices[zi];

Eigen::Vector3i end_sub(x, y, z);

int array_ind = grid_->GetArrayInd(end_sub);

if (!checked[array_ind])

{

CheckViewPointLineOfSightHelper(robot_sub, end_sub, max_sub, min_sub);

checked[array_ind] = true;

}

}

}

}

}

...全文
138 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
曹超CMU 社区管理员 2021-12-20

1,3,4 @qq_40663381 已经回答得很好了。关于2,什么是pst问题?

  • 打赏
  • 举报
回复
windlives 2021-12-19
array_ind是ind对应的点实际储存在vector的位置。为了实现滚动窗口的一个技巧。 判断一个点是否为候选,有三个条件,在当前视线+无碰撞+可连通。是否在视野,用了raycast的思想,连接机器人到最近碰撞点形成的线段上的点都是在视野中的。你贴的这段代码是采样raycast时需要用的终点,就是那些在窗口边界上的点。
  • 打赏
  • 举报
回复
曹超CMU 社区管理员 2021-12-20
@windlives 感谢回答!确实是你说的这样。
  • 举报
回复
相关推荐
发帖
TARE机器人自主导航系统
加入

175

社区成员

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