Not getting the same result as offline foundationpose
@yuanknv is already working on this.
Since May 12, 2026.
Assessment
This issue has not been assessed yet.
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.
- Dominant language
- C++
- Stars
- 515
- Forks
- 57
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
License clarification — vendored nvdiffrast sources in isaac_ros_pose_estimation (Apache-2.0)May be free again @yuanknv claimed this 44 days ago, and no pull request is open. Openverify to close
NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation#98 · 2 comments · 2 assignees ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
FoundationPose decoder: tf_to_center sign is inverted, causing 2*R*c translation errorPossibly taken @yuanknv claimed this 182 days ago. Open
NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation#92 · 1 assignee ·
All issues in NVIDIA-ISAAC-ROS/isaac_ros_pose_estimation
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
ROCm/FastFlowLM#887 ·
Maintainers usually reply within 1 day
-
paraview 6.2.0 uses Abseil 20260526 symbols but does not pin libabseil (undefined symbol with libabseil 20260817)Possibly taken @jschueller claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
-
bug medium priority openmp tokenizer wrong result
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
apache/casbin-cpp#277 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
iamaisim/ProjectAirSim#241 ·
Maintainers usually reply within 1 day