ArUco Marker Setup for ZED ArUco Localization

Hi,
I’m working with the zed_aruco_localization component from the ZED ROS 2 examples GitHub - stereolabs/zed-ros2-examples: A collection of examples and tutorials to illustrate how to better use the ZED cameras in the ROS2 framework, and I need some clarity on the correct workflow for using ArUco markers to localize the ZED camera.

Specifically:

  • I understand that I need to define known global poses of ArUco markers in the aruco_loc.yaml file.
  • My question is: How exactly do I determine the correct global pose of a marker to put into this YAML file?
  • Does the ArUco marker need to be present during the initial mapping phase, or is it only required during relocalization?Also, is it necessary to enable positional tracking or spatial mapping in the ZED SDK for ArUco-based localization to work properly?
  • Is it necessary or recommended to load a previously saved .area map to improve relocalization or tracking stability? Or is that unrelated to this ArUco-based localization flow?
    Any help or clarification would be very helpful. Thanks in advance.

Hi @Aishwarya33
Welcome to the StereoLabs community.

This is correct.

This is a key aspect, and it’s part of the system setup.

You need it only for the relocalization.

Spatial mapping is not required, while positional tracking is required

Area Memory improves the localization. There’s a new branch that will be merged soon into the master branch that will improve the experience with this feature.

Thank you @Myzhar for the detailed response
Could you please clarify a bit more on what’s the recommended way to determine the pose of the ArUco marker for the aruco_loc.yaml file?

Normally, you can use a laser meter or metric string to localize the targets in the global space.
Some customers also use available environment maps.