Creating a map
Corresponding components: Origin Platform – Manual Drive, Autopilot Inference, Cerebra Studio – Mapping.
Info
This section applies only if your Origin One includes autonomous capabilities via Avular’s Autopilot Inference and is equipped with a 3D LiDAR sensor.
Avular’s Autopilot Inference is a software stack that enables autonomous functionalities for the Origin One, supporting tasks such as Follow Path, GoTo Waypoint, Cover Area, Dock, Undock and Wait. More information on how to trigger these tasks is presented in the sections on Indoor Operation and Outdoor Operation.
Yet, the robot requires a (2D) localization map of its environment to enable these autonomous functionalities. Specifically in the following situations:
- Navigating in RTK-GNSS-denied environments (e.g., indoor spaces)
- Planning its paths for executing a GoTo Waypoint task
- Replanning paths to avoid ad-hoc, large obstacles
The type of map that is required as localization map is a map that will classify regions as either free for navigation, occupied by obstacles, or unknown. Below is an example of a localization map:
Warning
In case you have successfully created a map of an environment, yet the environment has significantly changed resulting in inaccurate localization causing tasks, such as GoTo Waypoint, Follow Path and Cover Area, to fail repeatedly, consider to create a new map of the same environment.
Mapping preparations
Info
Ensure the robot is in manual drive mode and is fully controllable via the remote controller before proceeding. See the Manual Drive instructions.
The localization map is created by selecting a particular mode of operation using Cerebra Studio and then drive the robot manually through the area. This mapping workflow supports mapping an indoor environment (no RTK-GNSS) by starting the robot from an Aruco marker, as well as mapping an outdoor environment (RTK-GNSS available) after a short manual drive. But first, ensure all required preparations are completed.
Preparation |
|
---|---|
!! Only for indoor areas - RTK-GNSS denied !! Ensure that an Aruco marker is placed on a straight wall, either directly on the floor or mounted up to 10 cm above it. If you used all Avular branded Aruco markers for other areas, then you may print your own 20×20 cm marker (generated via this resource), followed by the steps in our Code Examples guide to add the marker to internal database of the Origin One. |
![]() |
!! Only for indoor areas - RTK-GNSS denied !! Start the Origin One in front of the Aruco marker. Any location that is straight in front of the marker, at a distance between 50 cm and 1 meter, is acceptable. |
![]() |
Install Cerebra Studio on your computer or laptop, and follow the installation guide to connect Cerebra Studio to the Origin One. |
![]() |
You may optionally place your smartphone in the holder of the remote controller and connect it to the Origin One’s Wi-Fi access point (or to the same external Wi-Fi network as to which the robot is connected to). Once the mapping workflow is triggered the Origin One will host a local web interface that can be accessed on your smartphone providing a live view of the map being created as you drive the robot. Smartphone connection is optional . You can also choose to visualize the localization map on your computer after the mapping process. |
![]() |
You are now ready to start the mapping workflow. 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 workflow.
Creating a localization map
Once all preparations are complete, you can begin creating a localization map. This section outlines the full mapping workflow using Cerebra Studio.
-
Prepare for Mapping
-
Indoor Mapping: Connect Cerebra Studio to the Origin One. Manually drive the robot in front of the Aruco marker. Optionally, connect a smartphone to the Origin One's Wi-Fi access point for live visualization.
- After the map has been saved the initial Aruco marker is linked to that map. At any next time, when the Origin One is started up in front of this same Aruco marker, the corresponding map is automatically loaded as localization map.
- In case you reuse the Aruco marker for mapping another area, then it will not anymore automatically load the map of this first area. However, the map will still be in the database of the robot and may still be loaded via a service call on the topic "/autopilot/information_manager/load_localization_map" (see ROS2 API ).
-
Outdoor Mapping: Connect Cerebra Studio to the Origin One. Drive the robot several meters back and forth to allow accurate pose estimation. Optionally, connect a smartphone to the Wi-Fi access point for live visualization.
- If no initial Aruco marker was present when triggering the mapping workflow, then the map shall not be automatically loaded. Instead, the map can be loaded via a service call on the topic "/autopilot/information_manager/load_localization_map" (see ROS2 API ).
Warning
Mapping is done based on the robot's 3D LiDAR. Lidars cannot detect glass. Therefore, use frosted or matte foil on glass surfaces if you need them to be recognized.
Warning
The mapping process will have difficulty when mapping straight, narrow corridors that are longer than 5 meter and not wider than 1.5 meters. It may results in technical errors after which the mapping process will be re-initialized and the map is created from scratch.
-
-
Activate Mapping Mode
In Cerebra Studio, select "Mapping" from the main menu. Click the button "start mapping" to switch the Origin One into
MAPPING
mode. This may take a few moments. Once successful, a weblink and QR code will be displayed to open the mapping GUI on a smartphone or laptop.Info
In case the weblink and QR code do not pop up, then
MAPPING
mode is not properly initialized. This could occur when the robot is not able to acquire an accurate position. For example, when it is not able to detect the Aruco marker (indoor case), or when not RTK fix can be acquired during a short manual drive (outdoors). -
Drive and Record the Map
Once the mapping GUI is active and displaying map data, as is depicted in the images below, use the remote controller to drive through the area. The GUI will show live updates of the map as the robot is driving.
Warning
Maintain a distance of at least 10 meters from the robot while mapping to avoid being recorded as an obstacle.
-
Save the map or create a new map
If you're satisfied with the map (see Proper Maps), save it using the mapping GUI. Provide a custom name (max 20 characters).
If you're not satisfied:
- Drive in front of the Aruco marker (if applicable).
- In Cerebra Studio, stop the mapping session and restart it.
-
Define the boundary of the map
Next step is to define the boundary of the localization map. This boundary informs the Origin One when it should exploit the localization map to estimate its position and when it should revert to alternative sources like odometry, Aruco markers, or RTK-GNSS (if available).
Warning
Localization accuracy tends to degrade near open edges of the map, especially where the environment is not fully enclosed. To address this:
- Ensure that physical structures (e.g., walls) are enclosed by the boundary, i.e., within.
- Exclude fanned-out or undefined areas by drawing the boundary through these regions (refer to the rightmost screenshot in the image below).
To create the boundary:
- Click on the map in the Mapping GUI to define boundary points one by one.
- Use the "undo" option if a point was placed incorrectly.
- The boundary must consist of at least four points.
- Once complete, click the "Save Boundary" button in the GUI.
A confirmation message will indicate successful boundary creation.
-
Finalize Mapping
In Cerebra Studio, click "Stop Mapping" to return the Origin One to
DEFAULT
mode. If an Aruco marker was linked, the map will auto-load at startup when the robot is placed in front of it. You may now define jobs or missions using:To view the map in Cerebra Studio:
Open the Mission Planner --> Create a new Location --> Choose the map marked as "active"
See the Mission Planner documentation for details.
Info
Consider repeating this process a few times to gain experience and improve the map quality. Old maps can be deleted in Cerebra Studio. A new map created from the same marker will overwrite the link to the previous one.
Warning
Avoid triggering another mapping workflow at another marker. The system retains the first detected marker. Fully reboot the robot before mapping a new environment. This step is unnecessary if you are mapping the same area linked to the same marker.
Warning
For outdoor maps, and that that are not (anymore) linked to an Aruco marker, automatic loading at startup is not supported. Manually load the map with:
ros2 service call /autopilot/information_manager/load_localization_map knowledge_base_msgs/srv/PublishLocalizationMap "name: map_name"
Proper Maps
The map should appear white and clean in all areas where the environment is unobstructed, which are areas with an empty volume between 5 cm and 1 meter above the floor.
If a static obstacle is present — such as a wall, table, or cabinet — those areas will be marked as black, indicating they are occupied.
If the Lidar has not yet received range data from a region (e.g., due to a large distance or obstruction), that part of the map will also remain black. The maximum range of the Lidar is approximately 10 meters.
As the robot moves, unmeasured areas are gradually filled in:
- Free space becomes white
- Obstacles remain black
Common Issues:
- Speckles and Noise: Caused by ghost Lidar readings. Re-driving the robot near these areas usually clears them.
- Moving Objects: People, animals, or moving objects can cause false occupied readings. These may persist unless the robot re-scans the area after movement ceases.
If there are few black spots on the map caused by a moving object, the map can still be used for localization. However, be aware that the robot will plan its path around these areas and will not attempt to navigate through them, as the planner interprets them as occupied space.