navigation-primitives

Implements occupancy maps, A* path planning, and footprint validation for mobile robots in Isaac Sim.

4.0k|530|Updated May 28, 2025
One-click install
npx skills add https://github.com/isaac-sim/IsaacSim --skill navigation-primitives
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: navigation-primitives
Source: https://github.com/isaac-sim/IsaacSim/tree/main/skills/navigation-primitives
Command: npx skills add https://github.com/isaac-sim/IsaacSim --skill navigation-primitives

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, scipy, opencv-python.

What problem does it solve?

Mobile robot navigation in Isaac Sim requires correctly deriving robot footprints, generating occupancy maps from USD stages, planning collision-free paths, and sizing navigation buffers—tasks that are error-prone when hardcoded or done without physics-aware validation.

Core Features & Use Cases

  • Runtime Footprint Derivation: Computes robot footprint dimensions, Z-offset, and inscribed/circumscribed radii from collider prims, preventing robots from falling through floors or clipping walls.
  • Occupancy Mapping & A Planning*: Rasterizes USD stage geometry into occupancy grids with obstacle filtering, then runs A* with erosion kernels and oriented-footprint PhysX validation.
  • Wheel Kinematics & Cameras: Provides differential drive and holonomic controller configurations plus look-at chase camera math with degenerate up-vector handling.
  • Use Case: When building a warehouse navigation demo with a Nova Carter robot, use this Skill to compute its footprint, generate an occupancy map from the warehouse USD, plan an A* route through aisles, and validate every waypoint against PhysX overlap queries before driving.

Quick Start

Ask the AI to compute the robot footprint and plan a validated A* path across an occupancy map for a mobile robot in your Isaac Sim stage.

Frequently Asked Questions about navigation-primitives

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate an occupancy map from a USD stage in Isaac Sim?▼

Iterate prims with UsdPhysics.CollisionAPI under /World, compute world AABBs with UsdGeom.BBoxCache, and rasterize them into a grid at your chosen resolution. Filter out shells, floor markings, and ceiling objects to avoid thousands of false obstacles.

How do I plan an A* path for a mobile robot on an occupancy grid?▼

Erode the navigable grid with a circular kernel sized to the robot's inscribed radius, run heapq-based A* on the eroded grid, then smooth with Catmull-Rom. Validate every smoothed waypoint with an oriented-footprint collision check before accepting the path.

Why does my robot fall through the floor when spawned in Isaac Sim?▼

Many robots have their articulation origin above the ground contact point, such as Spot at roughly 0.69 m. Compute the Z-offset from the collider AABB and spawn the robot at z = ground + z_offset.

What is the difference between inscribed and circumscribed radius for navigation buffers?▼

The inscribed radius is safe for any yaw and used for grid erosion, while the circumscribed radius covers worst-case rotation and sizes conservative buffers. For rectangular robots, an oriented-footprint overlap_box check recovers space lost to circular approximations.

Does Isaac Sim support holonomic or mecanum wheel robots?▼

Yes, use HolonomicController with HolonomicRobotUsdSetup to extract wheel positions, orientations, and mecanum angles from the robot USD, then apply commands via WheeledRobot.apply_wheel_actions. Kaya is a validated holonomic example.

Why is my chase camera render blank when looking straight down?▼

When the camera forward vector is parallel to the up vector, the cross product degenerates and produces a broken matrix. Detect abs(fwd dot up) > 0.99 and fall back to an alternate up vector such as (0, 1, 0).