Creating a YAML Scenario

A YAML scenario allows you to utilize standard ROS grid maps with namosim. It is a bit more complex because it is designed to work with real robots using an image to represent the static map. It is composed of four files:

  1. An image file representing the map (usually a .pgm or .png)

  2. A map config yaml file

  3. An SVG geometry file

  4. A NAMO config yaml file

The first two items constitute a standard ROS map, see here for details.

The SVG file is a bit different in this case. It can have four layers:

  1. a map_layer

  2. a movables_layer

  3. a goals_layer

  4. a robots_layer

See below for an example.

The NAMO config yaml file provides the link between the SVG and the ROS map.

The Geometry File

Here are the contents of a minimal svg geometry file. All geometries in the world must be svg path elements and each must have an id attribute which is used by the <namo_config> to configure the geometry as an entity in the simulation.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   version="1.1"
   id="svg2"
   width="215"
   height="242"
   viewBox="0 0 215 242"
   sodipodi:docname="citi_ing.svg"
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <defs
     id="defs6" />
  <sodipodi:namedview
     id="namedview4"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageshadow="2"
     inkscape:pageopacity="0.0"
     inkscape:pagecheckerboard="0"
     showgrid="false"
     inkscape:zoom="2.5508439"
     inkscape:cx="68.408734"
     inkscape:cy="182.0966"
     inkscape:window-width="1850"
     inkscape:window-height="1136"
     inkscape:window-x="70"
     inkscape:window-y="27"
     inkscape:window-maximized="1"
     inkscape:current-layer="movables_layer" />
  <g
     inkscape:groupmode="layer"
     inkscape:label="Image"
     id="map_layer">
    <image
       width="215"
       height="242"
       preserveAspectRatio="none"
       style="image-rendering:optimizeSpeed"
       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANcAAADyEAIAAAAB7hskAAAAxnpUWHRSYXcgcHJvZmlsZSB0eXBl IGV4aWYAAHjabVBBDsMgDLvzij0BkhTCc2hLpf1gz58h6dRWs4QJNjIhoX/eR3gNUJIgS9Fcc46A VKnUUGg0tMkpyuSJvbiX7no4yA2CxNjZjpr9/qmnX4BtDdVyCdLNjfVuVPF8fQT5Qzw6Gk3sHlQ9 iMmM5AHNvhVz1XL9wtrjHWorDNr6zI7JX3uepWB6+wKRiTpDBjNna4DHksANRQUnXDK5gQnMfM4E A/k3pxPhC907WjkXAW7aAAABhGlDQ1BJQ0MgcHJvZmlsZQAAeJx9kT1Iw0AcxV9TpSoVUTuIOGSo Tu2iIo61CkWoEGqFVh1MLv2CJg1Jiouj4Fpw8GOx6uDirKuDqyAIfoA4OzgpukiJ/0sKLWI9OO7H u3uPu3eAUC8zzeqKAZpum6lEXMxkV8XAK3oRxBAGEZGZZcxJUhIdx9c9fHy9i/Kszuf+HP1qzmKA TySOMcO0iTeIZzZtg/M+cYgVZZX4nDhi0gWJH7muePzGueCywDNDZjo1TxwiFgttrLQxK5oa8TRx WNV0yhcyHquctzhr5Spr3pO/MJjTV5a5TnMMCSxiCRJEKKiihDJsRGnVSbGQov14B/+o65fIpZCr BEaOBVSgQXb94H/wu1srPzXpJQXjQPeL43yMA4FdoFFznO9jx2mcAP5n4Epv+St1YPaT9FpLCx8B A9vAxXVLU/aAyx1g5MmQTdmV/DSFfB54P6NvygLDt0Dfmtdbcx+nD0CaukreAAeHwESBstc7vLun vbd/zzT7+wGXeXK1cc6uUgAADXhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBi ZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1s bnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxy ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4 LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJo dHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9u cy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOmRjPSJo dHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOkdJTVA9Imh0dHA6Ly93 d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlm Zi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4 bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6OGIwZjYwYTktYzQ0Mi00ZWVlLWFjOTkt Njc2NzJhMTUwMzQxIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU4ZjRjYjYyLTIwZWQt NDBlYy1hYTI0LTgwYzcxOGZkZjUxMCIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAu ZGlkOmIyYzdkNjVlLTJhMjQtNDRhNS1iYmY2LTRhNTAzYmIzMzE4NyIKICAgZGM6Rm9ybWF0PSJp bWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBH SU1QOlRpbWVTdGFtcD0iMTcyNjE2NTM1MDg2NDcxMyIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjM2 IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCIK ICAgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNDowOToxMlQyMDoyMjozMCswMjowMCIKICAgeG1wOk1v ZGlmeURhdGU9IjIwMjQ6MDk6MTJUMjA6MjI6MzArMDI6MDAiPgogICA8eG1wTU06SGlzdG9yeT4K ICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAg ICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo0MzFh ZTZmMy03NzgxLTRhMGItYmNkMi1iYWJlY2JiYmRiM2MiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdl bnQ9IkdpbXAgMi4xMCAoTGludXgpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA5LTEyVDIwOjIy OjMwKzAyOjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3JkZjpE ZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PsMMlogA AAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAHdElNRQfoCQwSFh6IMBEs AAAQ9ElEQVR42u2dTU4kuxJGG3TZARMmrIAJYv9LQExYATtgjAR34H56cRUd7nD6L2yfM0JFQWVl ZZ76wr83r6+vr6+vvwAW4eXl5eXlJf3M1Qut+IdTAHtoETlCDbecApilrWt8K6T+XhSceUCFsK0Q f1++t7e3t7dSkdYrokWgQIZA1BSwz8/Pz8/P6ee3t7e3tzetv/SIVCQAqRA2JwkxX0T3y6RAKgSY UA5fQwsxZUbdwtgqvQKpEOAvSpJF7twUmW9DtLpf8s/nUyYVArjUoFvxxucvmROtjhf9uHzEI0Ry JSoEaCBNSyVSSaW60ZnU6ne2OmTyWpfP0QmUAhwVAqXxd149Wi5aH7IzxOowsf6nTnzWkVh50CNH LUHPFwBaRIUAvzxysUTjaXn0K+za862E6PnP6a9KczH0gG4TGFTwNrhYB44WLH0ta/iO/6+soT90 yIzhhm8e6KfCUjVc01PbV5mcTYxynpxIKgTy4FbKy+dN/R6T/nbSPSqEzRmTWfJFZXz8x5xaRdMX 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 "
       id="image10"
       x="0"
       y="0" />
  </g>
  <g
     inkscape:groupmode="layer"
     id="movables_layer"
     inkscape:label="movables">
    <path
       id="box_0"
       style="fill:#00ffff;stroke-width:58.0258;stroke-miterlimit:10"
       d="m 124.34237,120.20633 5.02352,0.97648 -0.97648,5.02352 -5.02352,-0.97648 z" />
    <path
       id="box_0-6"
       style="fill:#00ffff;stroke-width:79.3702;stroke-miterlimit:10"
       d="m 121.80991,162.38537 6.87139,1.33567 -1.33567,6.87139 -6.87139,-1.33567 z" />
  </g>
  <g
     inkscape:groupmode="layer"
     id="goals_layer"
     inkscape:label="goals">
    <path
       sodipodi:type="star"
       style="fill:#00ff00;stroke-width:113.386;stroke-miterlimit:10"
       id="goal_0"
       inkscape:flatsided="true"
       sodipodi:sides="20"
       sodipodi:cx="148.11133"
       sodipodi:cy="145.55975"
       sodipodi:r1="4.6544375"
       sodipodi:r2="4.5971336"
       sodipodi:arg1="0.8278723"
       sodipodi:arg2="0.98495194"
       inkscape:rounded="0"
       inkscape:randomized="0"
       d="m 151.2598,148.98772 -1.2134,0.80515 -1.40281,0.39079 -1.45492,-0.0618 -1.3646,-0.5084 -1.14071,-0.9052 -0.80515,-1.21339 -0.39079,-1.40282 0.0618,-1.45491 0.5084,-1.3646 0.9052,-1.14071 1.2134,-0.80515 1.40281,-0.39079 1.45492,0.0618 1.3646,0.5084 1.1407,0.90521 0.80516,1.21339 0.39078,1.40282 -0.0618,1.45491 -0.5084,1.3646 z"
       agent_id="robot_0" />
  </g>
</svg>

Here is the same file rendered as an image:

NAMO Simulator

You can see the robot starting position in the top left. To the right of the robot is a movable box. The walls are in black. The robot goal pose is visible in the bottom right.

We recommend using Inkscape to edit your svg geometry file.

Units

As before, all units in the SVG geometry file be in centimeters. The ROS map should have units in meters.

Namo Config Yaml File

The namo config yaml file links the svg to the ros map and provides configuration settings for each robot in the scenario. The full specification is defined by the NamoConfigYamlModel class which can be found in namosim/data_models.py.

Example:

map_yaml: citi_ing.yaml
svg_file: citi_ing.svg
agents:
  - id: robot_0
    initial_pose: [6.6, 9.5, 0]
    radius: 0.2
    behavior:
      type: stilman_2005_behavior