0

Implementation considerations

  1. High-Level Architecture
    Run both localizers in the system:
    amcl → coarse/global localization
    slam_localizer (e.g. slam_toolbox) → fine/docking localization

  2. TF / Pose Switching
    Ensure only one source effectively drives map → odom at a time.

  3. Switching Trigger
    Switching would be based region (geofence): robot enters a predefined docking zone (polygon/radius in map frame).

  4. Pose Initialization
    When switching AMCL → SLAM:
    Use the current AMCL pose as the initial pose for SLAM localization.
    Wait until SLAM is stable before exposing its TF/pose to the rest of the system.

  5. Nav2 Integration
    Nav2 always sees a single, consistent global frame (e.g. map).
    After a switch:
    Trigger a replan or clear costmaps if needed to handle small pose jumps.
    Keep controller paused until a valid pose from the new localizer is available.

Have anyone done this before or working on it? I want help to implement this on my turtlebot3 simulation. Give me suggestions and thank you in advance.

asked Dec 24, 2025 at 6:11
3
  • I assume you have map of the initial area robot is starting, since you start your pose with AMCL. Then later when your robot explores a new unknown location you switch to SLAM until the map is obtained. What exactly is the question here? Commented Dec 24, 2025 at 6:34
  • meta.stackoverflow.com/q/421831/16805423 Commented Dec 24, 2025 at 7:05
  • right now i am using amcl for navigation, but when my robot goes in docking region i want to switch to slam localization for better accuracy. how this switching can be implemented in runtime? Commented Dec 25, 2025 at 4:54

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.