0

在这篇Coverage 论文的图 20 中,显示了机器人导航的覆盖率。对于 5000 次迭代,如何绘制覆盖率与机器人在模拟中访问的计划点数的关系?我不知道如何实现以下公式以及如何填充矩阵 A 的数据。

Coverage C = 1/N * (summation i=1 to N, A(i) )

A表示每个小区的覆盖范围。

  • A(i) = 1当单元格 i 被覆盖时
  • A(i) = 0, 否则

机器人的工作空间N是一个 20*20 归一化单元单元的方形地形。

谢谢你。

4

2 回答 2

1

鉴于:

  • N-- 20x20 矩阵,表示机器人的工作空间。
  • 某种确定机器人工作空间中的单元格是否被“覆盖”的功能。coverfun让我们这样称呼它A=coverfun(N,num_planned_pts_visited)。很可能,您必须弄清楚如何根据特定领域的知识、论文或通过电子邮件发送论文的作者来编写此函数。

计算:

  • 覆盖数量C

代码可能看起来像这样:

MAX_PTS_VISITED = 5000;

C = zeros(MAX_PTS_VISITED,1);
for i = 1:MAX_PTS_VISITED,
   A = coverfun(N, i);
   C(i) = mean(A);
end

plot(1:MAX_PTS_VISITED, C);
于 2012-06-20T18:15:40.953 回答
1

该公式只是将覆盖率计算为矩阵 A 的平均值,因此在 Matlab 中只需:

C = mean(A);

如果单元格 i 被覆盖,则确实假设 A(i) == 1,否则为 0。要计算某个机器人轨道的覆盖范围,请将 A 初始化为 20x20 = 400 个零值,将每个机器人位置离散化到单元格网格,并将每个单元格设置为 A(i) = 1。如何执行此操作的确切实现真的取决于你的代码,我无法帮助你。

祝你好运

于 2012-06-20T18:14:02.443 回答