The first launch file has two additional topic mappings and also has the parameter use_sim_time=True. I verified that it’s the mappings that make the difference. However, the topics being mapped from are not the ones used by the realsense camera in the carter_warehouse_apriltags_worker.usd scenario.
I can’t understand why mapping two topics that are not even active would make visual slam work. I confirmed they are not active with the command “ros2 topic list”.
There are three launch files currently which are very similar but in fact setup a ROS 2 process with different graphs.
isaac_ros_visual_slam.launch.py only spins up a ROS 2 application with a single VisualSlamNode running. You would need to spin up your own graph in addition from another launch file that runs the nodes for your camera (in this case, Realsense nodes) which publishes images to the topics the VisualSlamNode is expecting.
isaac_ros_visual_slam_realsense.launch.py spins up both VisualSlamNode and the Realsense nodes so you can be up and running without having to launch any other ROS 2 graphs. This may be what you’re looking for as it is aligns the topic names for you through remappings.
isaac_ros_visual_slam_isaac_sim.launch.py spins up a VisualSlamNode with topics remapped to the ones Isaac Sim is going to publish camera data through for you.