牛耕覆盖算法 Boustrophedon Coverage Path Planning


avatar
GuoYulong 2024-09-10 290

牛耕覆盖路径算法 [ BCPP ]

实现效果:

覆盖算法所需前置数据:

  • map_origin:地图原点,表示地图左上角的位置。
  • map_resolution:地图分辨率,即每个单元格代表的实际距离(米/单元格)。
  • robot_radius:机器人半径,表示机器人占据的空间大小。
  • starting_position:起始位置,转换为像素坐标。
  • planning_mode:规划模式,选择FOV还是FOOTPRINT,也就是按照视野面积还是机器人移动面积覆盖

对地图的前置处理:

  • 获取地图和基本参数
  • 计算房间大小(平方米)
  • 使用腐蚀和膨胀修正地图
  • 移除不连通的区域
  • 确定网格大小

牛耕覆盖算法所需参数(除基础参数外):

  • min_cell_area:这个参数定义了网格中每个单元格的最小面积
  • path_eps:这个参数定义了路径规划中的容错率。它可以用来调整路径规划的精度,例如,较小的值可以导致更精确但可能更复杂的路径。
  • grid_obstacle_offset:这个参数定义了网格中障碍物的偏移量。它可以用来调整障碍物在网格中的表示,以便更好地适应实际环境中障碍物的大小和形状。
  • max_deviation_from_track:这个参数定义了机器人在跟踪探索路径时允许的最大偏差。如果设置为负值,则表示没有偏差限制。
  • cell_visiting_order:这个参数定义了访问网格单元格的顺序。它可以用来控制探索算法的行为,例如,按照特定的顺序(如螺旋或随机)访问单元格。

 

相关阅读

注意!!!

新增会员中心页面,方便管理个人账户,充值功能暂不开启,请勿为本网站进行任何充值活动!!!

通知!!!

① 过年好!!!拖更几个月了已经,年后继续更新!!