Nav2 Navigation Hangs after Path Planning Failure on Jetson Orin NX (Isaac ROS 3.2 / nvblox)

Description

I am encountering an issue where the navigation stack becomes unresponsive to new “Goal Poses” in RViz2 after an initial path planning failure occurs. This happens specifically when the robot encounters an obstacle it cannot bypass.

The logs indicate a significant TF extrapolation error between odom and map frames, even though CPU and GPU usage remain stable at 50-60%.

Environment

  • Hardware: Jetson Orin NX 16GB

  • JetPack: 6.2.1 (L4T R36.4.4)

  • ISAAC ROS: 3.2

  • ZED SDK: 5.0.7 (ZED X Mini)

  • OS/Middleware: ROS 2 Humble

Symptoms

  1. The robot fails to plan a path due to obstacles.

  2. A TF Extrapolation error appears, showing a large time discrepancy (~15 seconds).

  3. Subsequent “2D Goal Pose” commands from RViz2 show “Begin navigating” in the logs, but the planner_server and controller_server fail to produce a valid path or movement.

  4. The system does not recover until a full node restart, despite having recovery behaviors (Clear Costmap, Spin, Back up) defined in the BT.

Log
[rviz2-11] [INFO] [1766398940.500535778] [rviz2]: Setting goal pose: Frame:odom, Position(0.0256717, 1.04042, 0), Orientation(0, 0, 0.999964, 0.00853846) = Angle: 3.12452
[bt_navigator-7] [INFO] [1766398940.504064254] [bt_navigator]: Begin navigating from current location (0.51, 0.71) to (0.03, 1.04)
[controller_server-3] [INFO] [1766398940.906169201] [controller_server]: Received a goal, begin computing control effort.
[controller_server-3] [INFO] [1766398940.907059024] [controller_server]: Optimizer reset
[controller_server-3] [INFO] [1766398941.006450997] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398941.206437385] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398941.506564763] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398941.806445765] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398942.107427861] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398942.406390654] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398942.706444813] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398943.006425850] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398943.306539594] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398943.606448724] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398943.906402911] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398944.206476718] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398944.506771172] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398944.806455141] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398945.112237819] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398945.406557663] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398945.708604882] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398946.106458379] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398946.306434748] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398946.606434919] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398946.906441681] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398947.306477590] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398947.409848069] [controller_server]: Reached the goal!
[controller_server-3] [INFO] [1766398947.509212231] [controller_server]: Received a goal, begin computing control effort.
[controller_server-3] [INFO] [1766398947.512183951] [controller_server]: Reached the goal!
[bt_navigator-7] [INFO] [1766398947.904466627] [bt_navigator]: Goal succeeded
[rviz2-11] [INFO] [1766398955.890336154] [rviz2]: Setting goal pose: Frame:odom, Position(-1.71188, -3.69198, 0), Orientation(0, 0, 0.218358, 0.975869) = Angle: 0.440264
[bt_navigator-7] [INFO] [1766398955.892716302] [bt_navigator]: Begin navigating from current location (0.50, 1.08) to (-1.71, -3.69)
[controller_server-3] [INFO] [1766398956.294220798] [controller_server]: Received a goal, begin computing control effort.
[controller_server-3] [INFO] [1766398956.295496075] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398956.297207655] [controller_server]: Optimizer reset
[controller_server-3] [INFO] [1766398956.695577448] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398956.895730619] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398957.295872666] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398957.495613022] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398957.795539807] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398958.097346114] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398958.395570438] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398958.695572905] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398958.995630958] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398959.295655345] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398959.695577831] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398959.895673750] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398960.196663579] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398960.495585623] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398960.895588334] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398961.095932134] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398961.495998559] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398961.695584444] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398961.995590525] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398962.295566300] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398962.595584221] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398962.895655296] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398963.195568957] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398963.495653984] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398963.795701953] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398964.097962352] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398964.400638637] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398964.695578395] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398964.995578106] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398965.295591513] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398965.695571660] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398965.896038534] [controller_server]: Passing new path to controller.
[controller_server-3] [INFO] [1766398966.196111814] [controller_server]: Passing new path to controller.
[planner_server-5] [ERROR] [1766398981.302668062] [transformPoseInTargetFrame]: Extrapolation Error looking up target frame: Lookup would require extrapolation into the past. Requested time 1766398955.890274 but the earliest data is at time 1766398971.051460, when looking up transform from frame [odom] to frame [map]
[planner_server-5]
[planner_server-5] [WARN] [1766398981.302744256] [planner_server]: Could not transform the start or goal pose in the costmap frame
[planner_server-5] [WARN] [1766398981.302795618] [planner_server]: [compute_path_to_pose] [ActionServer] Aborting handle.
[planner_server-5] [INFO] [1766398981.493325529] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[controller_server-3] [INFO] [1766398981.495567432] [controller_server]: Passing new path to controller.
[controller_server-3] [ERROR] [1766398981.495914580] [controller_server]: Invalid path, Path is empty.
[controller_server-3] [WARN] [1766398981.495973878] [controller_server]: [follow_path] [ActionServer] Aborting handle.
[controller_server-3] [INFO] [1766398981.794475895] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[controller_server-3] [INFO] [1766398981.796460892] [controller_server]: Received a goal, begin computing control effort.
[controller_server-3] [ERROR] [1766398981.796594465] [controller_server]: Invalid path, Path is empty.
[controller_server-3] [WARN] [1766398981.796673028] [controller_server]: [follow_path] [ActionServer] Aborting handle.
[bt_navigator-7] [ERROR] [1766398981.924194074] [bt_navigator_navigate_to_pose_rclcpp_node]: Failed to get result for compute_path_to_pose in node halt!
[controller_server-3] [INFO] [1766398981.924555751] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[planner_server-5] [INFO] [1766398981.927430188] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[rviz2-11] [INFO] [1766398998.955921745] [rviz2]: Setting goal pose: Frame:odom, Position(0.0867666, -1.57397, 0), Orientation(0, 0, 0.680361, 0.732877) = Angle: 1.49651
[bt_navigator-7] [INFO] [1766398998.993043237] [bt_navigator]: Received goal preemption request
[bt_navigator-7] [INFO] [1766398998.993456051] [bt_navigator]: Begin navigating from current location (-0.92, -3.30) to (0.09, -1.57)

Hello @jim109,

Thanks for posting in the Isaac ROS forum!

We’ve seen the similar Extrapolation Error looking up target frame...error messages when Nav2 is under heavy load with nvblox/SLAM case. Once the planner_server tries to re‑use an old goal timestamp that’s outside the TF cache window, transforms between map/odom/base_link start failing in exactly this way.

To reduce compute latency, you can try the following:

  • Lower nvblox integration/update rates or increase voxel size to make ESDF and slice updates more efficient.

  • Optionally reduce ZED resolution / FPS during debugging.

  • Disable non‑essential costmap layers to keep planner/controller cycles from being delayed beyond ~10 s.

  • Tune Nav2 and costmap timing parameters(e.g. planner_frequency, controller_frequency) to keep cycles within the TF window.

Alternatively, you can try to loose transform tolerances a bit in nav2_params.yaml.
While this doesn’t increase TF history, it can make Nav2 less sensitive to small timing skews.