You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS Kinetic Kame下fiducial_slam实现ArUco标记建图及参数咨询

Can fiducial_slam create a persistent ArUco marker map for RVIZ in ROS Kinetic?

Absolutely! The fiducial_slam package does support persistent mapping of ArUco markers in ROS Kinetic, which lets you keep visualizing markers in RVIZ even after the camera moves away or stops detecting them. This is exactly the functionality you're looking for, as a replacement for the outdated aruco_mapping package.

Here's a step-by-step guide to configure it:

1. Core Parameter Configuration

You'll need to adjust key parameters in fiducial_slam to enable map saving, loading, and persistent TF/marker publishing. You can set these in your launch file or via the parameter server:

  • publish_tf: Set to true to publish TF transforms for each detected marker relative to the global map frame. This ensures RVIZ can track marker positions even when the camera isn't viewing them.
  • map_frame: Keep this as the default map (match it to RVIZ's fixed frame later).
  • save_map: Set to true to automatically save the marker map to a file when the node shuts down.
  • load_map: Set to true to load the saved map on node startup—this lets you visualize markers without re-detecting them.
  • map_file (optional): Specify a custom path for your map file (e.g., in your package's maps directory) instead of the default ~/.ros/fiducial_map.yaml.

Example launch file snippet:

<launch>
  <!-- Your camera and fiducial_detector nodes here -->
  
  <node name="fiducial_slam" pkg="fiducial_slam" type="fiducial_slam" output="screen">
    <param name="publish_tf" value="true" />
    <param name="map_frame" value="map" />
    <param name="save_map" value="true" />
    <param name="load_map" value="true" />
    <param name="map_file" value="$(find your_custom_package)/maps/my_fiducial_map.yaml" />
  </node>
</launch>

2. RVIZ Setup for Persistent Visualization

Configure RVIZ to display the saved markers:

  • Set the Fixed Frame to map (matches the map_frame in fiducial_slam).
  • Add visualization components:
    • Marker Display: Subscribe to the fiducial_slam/fiducial_markers topic—this publishes 3D models of all markers in the map, even when they're not in the camera's field of view.
    • TF Display: Enable the TF tree and check the boxes for marker frames (e.g., fiducial_0, fiducial_1). You can add an Axes or Marker child to these frames to visualize their pose clearly.

3. Verify the Functionality

  1. Launch your camera, fiducial_detector, and fiducial_slam nodes.
  2. Move the camera to detect several ArUco markers—you'll see them appear in RVIZ.
  3. Move the camera away so the markers are no longer visible: RVIZ will still show their positions, thanks to the persistent map data.
  4. Shut down all nodes and restart them: fiducial_slam will load the saved map, and the markers will immediately appear in RVIZ without needing to re-detect them.

A quick note: Unlike aruco_mapping, fiducial_slam is actively maintained for ROS Kinetic and integrates smoothly with other ROS SLAM tools if you expand your setup later.

内容的提问来源于stack exchange,提问作者Micha90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:23:55