NVIDIA-ISAAC-ROS / NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation
Not getting the same result as offline foundationpose
@yuanknv is already working on this.
Since May 12, 2026.
- Dominant language
- C++
- Stars
- 501
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I am trying to see if Isaac ROS Pose Estimation can be used safely for estimating pose of a door lever but seems like it's breaking at some point.
There are some differences between the original offline FoundationPose and the Isaac ROS FoundationPose which I have been trying to investigate.
The original offline FoundationPose does:
- Initial registration with iterative refinement (iteration=5)
- Tracking with iterative refinement (track_one(... iteration=2))
In contrast, the Isaac ROS FoundationPose registration graph also supports iterative refinement (refine_iterations) but that is only for pose registration (estimation) not for tracking.
- It seems to do a single render --> refine --> transform pass per frame
- Found no exposed tracking
refine_iterationsparameter in the runtime tracking graph - Tracking output is recursively fed back as the next tracking input
Looks like for thin/small objects like door lever, small residual tracking error --> reused next frame --> error accumulates --> pose drifts away over time.
Initial Analysis:
- Registration/Initial Pose Estimation output looks good
- Tracking output gradually drifts farther away
- Increasing registration refine iterations in Isaac ROS did not improve tracking drift
- Continuous reinitialization because of tracking drift (Set a threshold limit to reinitialize if the tracking drift is too much).
Isaac ROS Pose Estimation Results:
https://www.youtube.com/watch?v=V2CSoLekMIY
https://www.youtube.com/watch?v=5Dz9PhT-LBM
FoundationPose Offline Pose Estimation Results:
https://www.youtube.com/watch?v=SyeEkQUFTsQ
https://www.youtube.com/watch?v=B6aruRUEm5E
The same data has been fed to both of them but the result is different.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.