Skills

Perception Localize

Locate objects with a running PerceptionLocalize stack over MCP (`state`, `localize`) -...

Install

npx skills add dimensionalOS/dimos --skill perception-localize -g -a claude-code -y
Repository
dimensionalOS/dimos4.7k
Category
AI and agents
Updated
3d ago
License
See repository
Context cost
Mediumabout 2,584 tokens
Runs scripts
Yes, review before use

What it does

Locate objects with a running PerceptionLocalize stack over MCP (`state`, `localize`) - probe the machine, build the time window, watch labels on a schedule, narrow an object's position, change params per call, and tell where a failure comes from. Use whenever a blueprint with PerceptionLocalize and McpServer runs, such as go2-localize or xarm-localize-live.

Localize over MCP

localize answers from memory: the colour frames the module has embedded, lifted to 3D through depth or lidar. It does not look at the current frame. Every answer is a verified 3D object with a score and a view count, and an empty answer is an answer.

Before the first call

nvidia-smi --query-gpu=name,memory.used,memory.total --format=csv,noheader
uv run dimos mcp call state
  • Probe the GPU first. How many labels a call can carry depends on it, see "Labels and GPU".
  • state() returns ready: N frames embedded, localize will answer or not ready: <stage>. Until it reads ready, localize returns its stage instead of an answer.
  • Error: no running MCP server (is DimOS running?) means the stack is down. Check uv run dimos status and report it. Do not stop or restart the stack.

Calling localize

uv run dimos mcp call localize -j '{"objects": "chair,door", "start": -30, "duration": 30}' --timeout 300
  • localize(objects, start=-10, duration=10, params="") returns once the answer is built. Send the next call after it returns.
  • objects is one label, or a few separated by commas. The labels of one call share one detector pass per frame.
  • The client waits 30 s. A window with many unread frames takes longer, so pass --timeout 300 or set MCP_TIMEOUT=300.

Building the window

start and duration are seconds over the embedded frames the module holds.

argumentswindow
start=-10, duration=10 (default)the last 10 s
start=-60, duration=60the last minute
start=-60, duration=20from 60 s ago to 40 s ago
start=30, duration=2020 s, from 30 s after the oldest frame held
Read the whole SKILL.md on GitHub

More in AI and agents