38KBZIP
VFH 算法
VFH 算法接收一系列测距仪传感器读数作为输入,并生成控制信号——“最佳”方向和机器人最大速度的阻尼系数。
传感器读数被映射到直方图网格中,这是一个大矩阵,其中每个单元格对应于该区域的障碍物密度。声纳和激光测距仪返回方向和距离,因此在处理它们之前必须将极坐标转换为直角坐标。现实世界坐标 (ie (x, y)) 和网格坐标 (ie (i, j)) 之间的对应关系由一个resolution参数给出,该参数是单元格的大小,如果 x 为 [i * 分辨率,(i + 1) * 分辨率,(x, y)则在单元格中(i, j)] 和 j 在 [j * 分辨率,(j + 1) * 分辨率]。一个单元格中的每个读数都会将该单元格的密度增加 1。
有了直方图网格,就可以开始实际的路径规划了。选取以机器人为中心的方形移动窗口,并将其每个单元映射到 (m_ij, beta_ij);m是单元的障碍物密度及其到机器人的距离的函数,并且beta是单元的角位置。极坐标直方图将单元格分隔为n = 360/alpha扇区。每个扇区 k 的值 M_k = sum(m_ij for (i, j) in sec