配置网格地图环境#

网格地图环境是基于二维栅格的场景,可用于模拟多种情形。只需在 YAML 配置中指定图像文件路径即可完成配置。

网格地图配置参数#

下方给出了网格地图环境的 Python 脚本与 YAML 配置:


import irsim

env = irsim.make()

for i in range(1000):

    env.step()
    env.render(0.05)

    if env.done():
        break

env.end()
world:
  height: 50  
  width: 50  
  obstacle_map: 'cave.png'
  mdownsample: 2

robot:
  - kinematics: {name: 'acker'} 
    shape: {name: 'rectangle', length: 4.6, width: 1.6, wheelbase: 3}
    state: [5, 5, 0, 0]
    goal: [40, 40, 0]
    vel_max: [4, 1]
    plot:
      show_trail: True
      traj_color: 'g'
      show_trajectory: True
      show_goal: False

    sensors: 
      - name: 'lidar2d'
        range_min: 0
        range_max: 20
        angle_range: 3.14
        number: 100
        alpha: 0.4


obstacle:
  - number: 10
    distribution: {name: 'manual'}
    shape:
      - {name: 'polygon', random_shape: true, center_range: [5, 10, 40, 30], avg_radius_range: [0.5, 2]} 

关键参数说明#

配置网格地图需要在 world 部分指定 obstacle_mapmdownsample 用于对图像降采样以加速。cave.png 图像需与 Python 脚本位于同一目录,效果如下:

参数选择

仿真时该 PNG 会被栅格化为地图:黑色像素代表障碍物,白色像素代表可通行区域。

小技巧

你可使用自定义 PNG 图像创建不同的网格地图,并通过绝对或相对路径引用位于其他目录的图像文件。