Skip to content

Creating a map

Corresponding components: Origin platform (Manual Drive), Autopilot, Cerebra Studio (Mission Planner)

Info

Only applicable when your Origin One was acquired, or updated, with the autonomous capabilities of Avular's Autopilot Inference and a 3D LiDAR sensor on top.

Avular has developed a software stack, called Autopilot Inference, which provides autonomous capabilities to the Origin One (mainly for navigation and tasking). These capabilities allow a user to command a Path Following task, a GoTo task, a Wait task and a Cover Area task, which will be discussed later in the getting started of indoor operation and outdoor operation. The Autopilot Inference requires a localization map of the operating environment of the Origin One for the following cases:

  1. To navigate in RTK-GNSS denied areas, such as indoors, and
  2. To plan a path around occupied areas to the destination in case of a GoTo task, and
  3. To plan a path around occupied areas in case of a Cover Area task.

Info

Make sure to follow the procedure of a Manual drive up until you are able to manually control the robot using the remote controller.

The type of map that is required by the robot is a 2D occupancy map, which indicates positions that are: a. free to maneuver, or b. occupant by some object, or c. still unknown. An example of such a localization map is depicted below.

FloorPlan

You should create a new localization map of your Origin One's operating area when you do not have yet created a map of this RTK-GNSS denied area, i.e., it is the first time that the robot is operating in that area and there is no stable RTK-GNSS signal. Or when the the area has changed quite a bit causing poor localization estimates of the Origin One. The latter will also result in an Origin One that is not able to complete Path Following, GoTo or Cover Area tasks over and over again.

We have setup a workflow for you as a user to create a new localization map. This workflow should be followed when creating both an indoor or an outdoor environments (where outdoor implies RTK-GNSS coverage). For outdoor mapping, you can start from the step to install Cerebra Studio. The mapping process also supports mapping without Aruco markers if there is a stable RTK-GNSS signal. Initiate this workflow via Cerebra Studio, but first, ensure the following preparations are made.

Preparation
Ensure that an Avular branded Aruco marker is placed on a straight wall, either on the floor or mounted some 10 cm above the floor, and that no other Aruco markers are in the area that will be mapped.
If you insist on having additional Aruco markers in the area, for example to aid localization, or if you are out of Avular branded Aruco markers and want to use your own printed 20x20cm marker from this online resource, then please follow the instructions our code examples on how to add a new Aruco marker into the knowledge base of the Origin One.
Never use a new Aruco marker with the IDs 0, 1 and 2, as those will have predefined positions in the Origin One's knowledge base.
MarkerAtWall
Start up your Origin One and drive the robot in front of the Aruco marker: any position that is straight before the marker and in between 50cm and 1 meter will be OK.
Be aware that this initial Aruco marker shall be linked to the localization map that you are about to create at the moment you are saving the map. This link ensures that during normal operations, when the Origin One is starting up in front of this linked Aruco marker, the robot will automatically load this (newly created) localization map for navigation and path planning. Any link of that same Aruco marker to an old map will therefore be overwritten, although the old localization map may still be loaded manually. So do not use an Aruco marker that is linked to an existing map from which you still want that the robot will automatically load that localization map in future operation.
OriginBeforeMarker
Install Cerebra Studio on your computer or laptop and follow the instructions to connect your computer and Cerebra Studio on it to the Origin One. CerebraStudioLogoMapCreation
You have the option to click your smartphone in the designated holder of the remote controller and connect your smartphone to the Wifi Access Point of the Origin One (depending on the available infrastructure you may also connect your smartphone to the same network as that the Origin One is connected to). The Origin One starts a webpage that you may then visualize on you smartphone for you to keep track of the map that is being created while you are driving the Origin One with the remote controller.
You may also choose not to connect your smartphone and visualize the newly created localization map on your computer
ControllerAndPhone

You are now ready to start the mapping process. To do so, return to Cerebra Studio where you may trigger the mode of the Origin One by which a new localization map will be recorded. The following steps will guide you through the mapping process.

  1. Indoor case
    Connect Cerebra Studio to the Origin One, manually drive your Origin One in front of the Aruco marker and, optionally, connect your smartphone to the Wifi Access Point of the Origin One.
    Outdoor case
    Connect Cerebra Studio to the Origin One, manually drive your Origin One several meters back and forth so that the Origin may obtain an accurate position and orientation estimate and, optionally, connect your smartphone to the Wifi Access Point of the Origin One.
  2. Choose "Mapping" in the main menu of Cerebra Studio. This will bring you to a new environment in which you will see a button for switching the Origin One to the MAPPING mode ... hit that button. When successful, which may take a few moments, the visuals of Cerebra Studio will change and show an instruction (weblink and QR-marker) for taking your laptop (weblink) or smartphone (QR-marker) to the webpage of the so-called mapping GUI.

    MappingStarting
  3. If you are able to see the start of a localization map on the mapping GUI, then you are sure that the marker has been detected when mapping indoors, or that an accurate position was obtained when mapping outdoors, and that the Origin One is actively creating the map.
    Manually drive your Origin One with the remote controller to cover all parts of the operating area. While driving, you will see that the map of the mapping GUI is continuously updated with new parts that have been covered by the Origin One. Note that the speed of the Origin One is lowered. This is to prevent abrupt maneuvers or the robot while making the localization map.

    Warning

    Since the robot uses the LiDAR for detecting obstacles, and a LiDAR is incapable of detected glass, such as windows, you should not expect that glass walls are visible on the map as occupied areas. If you want to ensure that the robot is able to detect glass walls, try masking the glass with window foil (matt or frosted) for the first 30 cm.

    Warning

    Try not to walk near the Origin One while mapping but keep a distance of approximately 10 meters. Otherwise you might end up as an obstacle on the localization map that the Origin One will try to avoid during navigation and path planning

  4. When you are happy with the map, see also the instructions for a nice and clean localization map either on this page, then you may use the mapping GUI to save the map under some name you desire. Note that there is a limit in the number of characters for this name of approximately 20. In case the Origin One started in front of the Aruco marker, you will see a notification that the marker was detected and has been linked to the localization map. In case the Origin One did not started in front of an Aruco marker, you will see a notification that the map has been saved without a marker being linked to it.
    When you are NOT happy with the map, then depending on whether you want to link a marker to the localization map you will first need to drive the Origin One in front of the Aruco marker. Then, you may restart the mapping process by going back to Cerebra Studio, and therein first stop the mapping process and then start it again.

  5. As a final step in the mapping process you should create the boundary of the localization map. This boundary is used by the robot to determine when it should exploit the localization map for estimating its position and when not (at which it will continue with odometry, Aruco markers and RTK-GNSS if available). Especially at open edges of the map the actual localization can be quite sensitive. Therefore, create your boundary so that physical walls are within the boundary, while open edges where the localization map sort of "fans out" are cut out (see the most right screenshot in the images below of the mapping GUI). To create this boundary, please click the desired points of this boundary one by one on the localization map of the mapping GUI. You may undo the points when you made a mistake. When you have completed the points of the boundary, which should at least consist of 4 points, then you may save the boundary by clicking on the corresponding button in the mapping GUI. You should get a notification that the boundary was saved successfully.

    MappingContinued
  6. To stop the mapping process, please return to Cerebra Studio and click on the button to stop the mapping process. This will bring the Origin One to a DEFAULT mode in which you can define a job, or mission, for the robot. More information on that can be found on the next two pages, depending whether your robot is operating indoor or outdoor.

Your newly created localization map is immediately ready for use. When the map has been linked to an Aruco marker, then triggering the DEFAULT mode or starting up the robot while being in front of the marker will automatically load your newly created localization map. To visualize the map in Cerebra Studio you first need to go to the Mission Planner of Cerebra Studio in the main menu, and define a new "location" using a "local map". You may then select your map by searching in the list of maps on the one that is "active". Please consult the Mission planner documentation for more details regarding map management.

Info

Consider to repeat this mapping process several times so that you gain experience in making a nice and effective localization map for the robot. Old maps can later be removed from the robot in Cerebra Studio and any newly created localization map will immediately be linked to the Aruco marker as the link to the old map is overwritten (in case you choose to start the mapping process from an Aruco marker).

Warning

Avoid creating another map linked to a different Aruco marker immediately after creating a map. The mapping workflow retains the first detected Aruco marker, so switching to DEFAULT mode and then back to MAPPING mode will not clear this initial marker. Consequently, any subsequent map will be linked to the first marker, overwriting links to previous maps. To create a map for a different environment, reboot the robot completely. This step is unnecessary if you are mapping the same area linked to the same marker.

Warning

When making a map for outdoor purposes, then the map will not get automatically loaded when starting up the Origin. Instead, you should still manually load the map using a ROS2 service call, i.e., ros2 service call /autopilot/information_manager/load_localization_map knowledge_base_msgs/srv/PublishLocalizationMap "name: map_name"

Proper maps

The map should be white and clean everywhere the floor of you operational environment is clean (in a volume that starts from 5 cm above the floor and goes up until 1 meter above the floor). In case there is a static obstacle, such as a wall, a table or a closet, then that part of the map will be black instead of white. Also, in case the LiDAR did not yet received a range measurement from that area, for example because it is too far, that that part of the environment will stay black as well (the robot is limited in its range-measurement until 10 meter). Only while driving will unmeasured parts of the map turn white (in case of free space) or stay black (in case of obstacles)

Here are some examples of a proper map and of error-prone maps to help you deciding whether the map you have created is a proper localization map for the robot.

  1. Speckles and noise Sometimes the LiDAR might receive a range measurement while there is no objects, we call those ghost detections. In that case the map will show a small black area indicating occupied space, which may even be as small as one pixel. These black pixel, that are out od place, are called a speckle or noise. Returning the robot to those locations and make new measurement nearby the speckle will often clean that part and turn the pixel from black to white. Try to have as little speckles and noise in the map.
  2. Moving objects Moving object, such as yourself walking around the area while the robot is mapping, will generate measurements of occupied areas at positions where this moving object is located. But as the object might move away, the area will remain occupied in the localization map, i.e., black instead of white. Returning the robot to those locations and make new measurement when the object moved away will often clean that part and turn the pixel from black to white. If there are only one or two of such black dots on the map caused by a moving object, then the map can still be used for localization. HOwever, be aware that the robot will plan a path around these locations and that is will not be able to go to that locations as the planner will "think" that it is occupied.