dimensionalOS / dimensionalOS/dimos

Tech spec: fiducial relocalization

Open
#3,638 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

Make fiducial relocalization its own module and split RANSAC out of RelocalizationModule; each module owns its gates and publishes world_T_map only after qualifying the fix.

There is no shared judge, and one relocalization module owns world -> map in each blueprint.

dimos/mapping/relocalization/
├── fiducial.py
└── ransac.py

fiducial.py consumes detections from MarkerDetectionStreamModule.

Qualification

Tag sighting qualification

MarkerDetectionStreamModule and fiducial relocalization will share the same marker sighting qualificatoin util code. It gates each ArUco sighting using ambiguity, reprojection error, view angle, range, and tag size, then fuses accepted sightings into a candidate pose. Well researched.

Candidate qualification

The fiducial candidate gate is not decided yet. Possible checks include translational and rotational error and voxel-map matching from lidar or vision; research will choose the checks and thresholds.

RANSAC relocalization

The RANSAC module owns its gates and may need tuning or changes.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing relocalization implementation and the MarkerDetectionStreamModule, then compare the proposed dimos/mapping/relocalization/fiducial.py and ransac.py split. Research and decide the fiducial candidate checks and thresholds, while preserving shared marker-sighting qualification. Done means each module owns its gates and publishes world_T_map only after qualifying its fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, robotics
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.