Generated banner for Foundationpose Setup
Generated logo for Foundationpose Setup

Foundationpose Setup

NVIDIAOfficialCreated by zwdoescodeDistributed by NVIDIA

  • Skill
  • Workflow
  • Software development
  • Apache-2.0
  • Medium risk

From the author

Install or repair the FoundationPose perception pipeline and build its FoundationStereo TensorRT engines. Use for SAM3/TAO dependency conflicts, CUDA library failures, and depth-engine shape or precision decisions.
— the description by zwdoescode

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured workflow for installing, configuring, and repairing the FoundationPose perception pipeline. It covers environment setup, dependency management for SAM3 and TAO, and the construction of FoundationStereo TensorRT engines. The skill ensures that the runtime environment meets strict hardware and software requirements, including specific glibc versions and CUDA toolkit configurations, while providing diagnostic steps for common library and engine-loading failures.

What it does

  • Performs preflight checks for system requirements like glibc, CUDA, and GPU access.
  • Installs and synchronizes the FoundationPose pipeline environment using uv.
  • Manages sibling dependencies including SAM3 and the FoundationPose inference library.
  • Builds optimized FoundationStereo TensorRT engines based on scene-specific shapes.
  • Verifies pipeline integrity through component-specific test scripts.
  • Troubleshoots common dependency conflicts and library loading errors.

When to use it

  • When performing an initial installation of the FoundationPose perception pipeline.
  • When encountering library loading errors such as missing libcudart.so or GLIBC version mismatches.
  • When needing to build or rebuild a TAO depth engine for a specific dataset or scene.
  • When resolving dependency conflicts between SAM3, TAO Deploy, and the pipeline environment.

Advantages

  • Ensures environment consistency by validating system-level requirements before installation.
  • Provides clear procedures for handling machine-specific engine builds.
  • Maintains clean separation between the pipeline, inference library, and model weights.
  • Offers targeted troubleshooting steps for common runtime and build-time failures.

Usage examples

“Install the FoundationPose perception pipeline on this Ubuntu 24.04 GPU machine.”
The agent will verify system requirements, set up the Python venv, clone necessary repositories, and run the installation sync.
“The pipeline cannot load libcudart.so.13 after I moved the checkout.”
The agent will inspect the current environment paths and library links to resolve the runtime loading error.
“Build the TAO depth engine for my adapted T-LESS scenes.”
The agent will guide the user through the engine construction process using the adapted scene data and appropriate precision settings.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/nvidia/foundationpose-setup/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip foundationpose-setup.zip -d .agents/skills

Documentation by zwdoescode

FoundationPose perception pipeline setup

Purpose

Prepare the FoundationPose perception pipeline for depth, segmentation, and pose inference. Environment installation and engine construction belong here; dataset adaptation, inference, and pose evaluation belong to foundationpose-pipeline when that skill is installed.

Requirements

Work from the product checkout, not the installed skill directory. Find the user's checkout by checking for pyproject.toml (project foundationpose-perception-pipeline), tools/build_tao_engine.py, and config/defaults.yaml. If absent and setup was requested, clone the product URL above into the user's workspace and enter it. For advice-only requests, use the supplied diagnostics without cloning or installing anything. Commands below use paths relative to the product root; references/ links are relative to this skill.

Read the checkout's README.md Requirements and Install sections for the matching revision. The supported stack requires Linux x86_64, glibc >= 2.38, GLIBCXX_3.4.31, NVIDIA driver >= 580, a CUDA toolkit >= 12.8 with nvcc, Python 3.12, uv, Git, Docker with GPU access, wget, and unzip. Start GPU sizing at 24 GB and measure the densest scene; 32 GB was tested. Budget depth-cache disk as roughly width * height * 4 * 3 bytes per scene, plus predictions and models.

Keep sibling directories for sam3/, foundation-pose-inference-library/, and models/ beside the product checkout. models/ contains the deployable ONNX and engine, not FoundationStereo source.

Instructions

  1. Preflight before installing. Check glibc, GLIBCXX, driver, nvcc, tools, and Docker GPU access. An Ubuntu 22.04 host with glibc 2.35 cannot load the shipped FoundationPose library; report the unsupported runtime and stop setup there. Do not replace system libc or try to solve this with LD_LIBRARY_PATH. See installation.

  2. Install into the product's Python 3.12 venv. Follow installation for uv, SAM3, the FoundationPose build, and TAO Deploy. On a fresh venv use uv sync --extra foundationpose; on an existing venv use uv sync --inexact --extra foundationpose to preserve out-of-band packages.

  3. Verify checkpoint access. SAM3 is gated at Hugging Face; an existing authorized token or usable cached checkpoint is sufficient. Request user action only if access is missing. FoundationPose and the documented FoundationStereo export are public Hugging Face downloads; credential hunting is not the first response to a network failure.

  4. Prepare the depth engine. Read engine construction. Use the user's ONNX location or the sibling models/ directory. Adapt the dataset before measuring the engine shape; use tools/bop_adapt/adapt.py --config <profile> --src <source> as described in the checkout's README Dataset adaptation section. Only registered adapters are supported. Build with --shape-from-scene on an adapted scene and FP32 unless the user requests a precision experiment. Set overrides.depth.engine in config/<profile>.yaml.

  5. Set runtime paths and verify. From the product root:

    source .venv/bin/activate
    export FOUNDATIONPOSE_ROOT="$(realpath ../foundation-pose-inference-library)"
    PIPELINE_SITE="$(realpath .venv/lib/python3.12/site-packages)"
    export LD_LIBRARY_PATH="${PIPELINE_SITE}/tensorrt_libs:${PIPELINE_SITE}/nvidia/cu13/lib:${LD_LIBRARY_PATH:-}"
    python tools/verify_sam3.py
    python tools/verify_foundationpose.py
    python tools/verify_foundationstereo.py --config <profile> --engine <engine-path>
    python test/check_engine_depth_smoke.py --config <profile> --engine <engine-path>

    The first three verify components; the last also needs an adapted dataset. Expect backend=tao, normalization=imagenet, the intended fixed shape, and no cropping N rows warning. An unloaded or unavailable engine is an incomplete verification, not a pass.

Troubleshooting

SymptomAction
GLIBC_2.38 not foundUse a supported OS/runtime; a venv or library search path cannot upgrade host libc.
libcudart.so.13 missingCheck the product venv runtime wheels and absolute library paths before retrying pose.
SAM3 breaks after syncUse --inexact; confirm numpy 1.26.x and reinstall the sibling SAM3 package if pruned.
pycuda build cannot find cuda.hCheck the CUDA toolkit, nvcc on PATH, or CUDA_ROOT.
TAO import or dependency conflictUse TAO Deploy 7.1.0 with --no-deps; sync declared dependencies with --inexact.
Engine sidecar mismatch or croppingRebuild for this GPU, TensorRT version, precision, and adapted scene shape.

Examples

  • "Install the FoundationPose perception pipeline on this Ubuntu 24.04 GPU machine."

  • "The pipeline cannot load libcudart.so.13 after I moved the checkout."

  • "Build the TAO depth engine for my adapted T-LESS scenes."

Limitations and completion

Engines are machine-specific and must not be committed. With no dataset, download the ONNX and report shape-dependent engine construction and scene validation as pending; do not invent a rig shape. The pipeline's Apache license does not cover separately downloaded model weights; retain their upstream terms and SAM3's access requirements.

Report which preflight, install, checkpoint, engine, and verification steps actually passed, the checkout and engine paths, versions used, and remaining blockers. Do not equate installation or a smoke check with measured pose accuracy.

Files

evals/evals.json

{
  "skill_name": "foundationpose-setup",
  "evals": [
    {
      "id": "setup-explicit-os-floor",
      "prompt": "Use foundationpose-setup to assess this FoundationPose perception pipeline host: Ubuntu 22.04, glibc 2.35, GLIBCXX_3.4.30, NVIDIA driver 590, CUDA toolkit 13.0, Docker GPU access working. The built library fails with GLIBC_2.38 not found. Write a short diagnosis and next step to diagnosis.md in the current directory. Use these supplied facts; do not install packages, clone repositories, or change the host.",
      "expected_output": "diagnosis.md identifies glibc/GLIBCXX as the blocker, states the >=2.38 / GLIBCXX_3.4.31 floor and a supported runtime such as Ubuntu 24.04. It defers installation and does not propose a venv or LD_LIBRARY_PATH fix for old system libc.",
      "assertions": [
        "Creates diagnosis.md from the supplied host facts.",
        "Identifies the unsupported libc/libstdc++ runtime before any dependency installation.",
        "Recommends a supported OS/runtime and does not replace system libc or change library paths as the fix."
      ],
      "expected_skill": "foundationpose-setup",
      "expected_script": null,
      "files": []
    },
    {
      "id": "setup-implicit-repair",
      "prompt": "My FoundationPose perception pipeline venv already contains editable SAM3. I need to add TAO Deploy depth. A plain nvidia-tao-deploy install pulled numpy 2 and SAM3 stopped importing. From the supplied facts, write repair.md with ordered repair commands and explain how to preserve SAM3 on future uv syncs. The repo uses numpy<2, scipy<1.16, opencv-python<5, and a foundationpose extra. Do not execute installs or clone anything.",
      "expected_output": "repair.md restores declared pins via uv sync --inexact --extra foundationpose, installs nvidia-tao-deploy==7.1.0 with --no-deps and pycuda into .venv, and verifies numpy 1.26.x. It explains the out-of-band packages, toolkit prerequisite for pycuda, and why a conflicting tao extra is inappropriate.",
      "assertions": [
        "Creates repair.md with executable repair commands for the product venv.",
        "Preserves out-of-band packages using --inexact on subsequent syncs.",
        "Uses nvidia-tao-deploy==7.1.0 with --no-deps and calls out the CUDA toolkit prerequisite for pycuda.",
        "Verifies numpy compatibility without adding a conflicting tao extra."
      ],
      "expected_skill": "foundationpose-setup",
      "expected_script": null,
      "files": []
    },
    {
      "id": "setup-context-engine-shape",
      "prompt": "We are preparing the FoundationPose perception pipeline with an existing dynamic TAO FoundationStereo ONNX. The host dependencies work. T-LESS is downloaded but has not been adapted, and a colleague suggests building an FP16 engine using the raw image size. Write engine-plan.md explaining the order and commands for a reliable accuracy baseline. Use placeholders for dataset paths, profile, and ONNX. Do not download, build, adapt, or clone anything.",
      "expected_output": "engine-plan.md orders profile-driven BOP adaptation before build_tao_engine.py with --config and --shape-from-scene on an adapted scene, uses FP32/static defaults and the profile max-width, sets overrides.depth.engine relative to the profile, and requires scene smoke validation without cropping. It explains that raw dimensions are not rectified dimensions and engines/sidecars depend on this GPU and TensorRT.",
      "assertions": [
        "Creates engine-plan.md with adaptation before scene-derived engine construction.",
        "Uses --config and --shape-from-scene instead of raw-image dimensions.",
        "Keeps FP32 for the baseline and records the per-profile engine setting.",
        "Requires backend/normalization and no-cropping verification on an adapted scene."
      ],
      "expected_skill": "foundationpose-setup",
      "expected_script": null,
      "files": []
    },
    {
      "id": "setup-negative-dataset-results",
      "prompt": "The FoundationPose perception pipeline is already installed and verified. I only need a plain-language interpretation: baseline matched 100 predictions with 80% within 5 mm; candidate matched 50 with 90% within 5 mm. Can I claim a clear improvement? Do not install or run anything.",
      "expected_output": "Explains the changed matched population prevents a clear overall accuracy improvement claim; higher conditional rate may reflect easier survivors. No setup workflow is invoked.",
      "assertions": [
        "Does not read or invoke foundationpose-setup.",
        "Explains the coverage/population confound and does not start an environment installation."
      ],
      "expected_skill": null,
      "expected_script": null,
      "files": []
    }
  ]
}

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

Security

What our scanner noticed· Medium risk

  • Large base64-encoded blobs
  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
zwdoescode
Publisher
NVIDIA (Official)
Distributed by
NVIDIA
Source
NVIDIA/skills · skills/foundationpose-setup · commit fce3cca
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE-APACHE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by zwdoescode or NVIDIA.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download foundationpose-setup.zip