在这篇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 归一化单元单元的方形地形。
谢谢你。
在这篇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 归一化单元单元的方形地形。
谢谢你。
鉴于:
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);
该公式只是将覆盖率计算为矩阵 A 的平均值,因此在 Matlab 中只需:
C = mean(A);
如果单元格 i 被覆盖,则确实假设 A(i) == 1,否则为 0。要计算某个机器人轨道的覆盖范围,请将 A 初始化为 20x20 = 400 个零值,将每个机器人位置离散化到单元格网格,并将每个单元格设置为 A(i) = 1。如何执行此操作的确切实现真的取决于你的代码,我无法帮助你。
祝你好运