关于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;

}

}

}

}

}

...全文
429 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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 感谢回答!确实是你说的这样。

1,095

社区成员

发帖
与我相关
我的任务
社区描述
社区内分享我们的开源平台tare机器人自主导航系统,希望能帮助所有自主移动机器人领域的研究人员快速搭建出属于自己的,稳定可靠的机器人仿真和实验的平台,更快进入自己的研究领域
自动驾驶人工智能 企业社区
社区管理员
  • 哈工大-朱洪彪
  • 小麦Y
  • 曹超CMU
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧