dimensionalOS / dimensionalOS/dimos

Visual Servoing with hand in eye

Open
#1,132 2 comments 0 reactions 1 assignee View on GitHub

@mustafab0 is already working on this.

Since Jan 28, 2026.

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

Description

Summary

Implement visual servoing with eye-in-hand camera for dynamic marker tracking and manipulation. Build on the work in the ruthwik_dynamic_tracking branch, which has ArUco tracking and Pinocchio IK but needs to be synced with current main, fully calibrated, and integrated with the RealSense module and manipulation coordinator.

Context

The ruthwik_dynamic_tracking branch has an initial implementation:

  • ArUco tracker (dimos/manipulation/dynamic_tracking/aruco_tracker.py) — detects ArUco markers, estimates camera-to-marker pose, publishes transforms, visualizes in Rerun
  • Pinocchio IK (dimos/manipulation/pinocchio/pin_kinematics.py) — forward/inverse kinematics for servo-rate control
  • Joint stream task (dimos/control/tasks/joint_stream_task.py) — joint-level servo streaming to the coordinator
  • Static calibration (dimos/hardware/sensors/camera/realsense/handeyeout_xarm6/calibration.json) — a single EEF→RealSense extrinsic transform

The branch is out of sync with main and the pieces aren't fully wired together through the coordinator and TF tree.

Key pointers

What Where
ArUco tracker (stale branch) ruthwik_dynamic_trackingdimos/manipulation/dynamic_tracking/aruco_tracker.py
Pinocchio IK (stale branch) ruthwik_dynamic_trackingdimos/manipulation/pinocchio/pin_kinematics.py
RealSense camera module dimos/hardware/sensors/camera/realsense/camera.py
Static calibration data dimos/hardware/sensors/camera/realsense/handeyeout_xarm6/calibration.json
Control coordinator dimos/control/coordinator.py
Cartesian IK task dimos/control/tasks/cartesian_ik_task.py
Servo task dimos/control/tasks/servo_task.py
Existing blueprints (stale branch) ruthwik_dynamic_trackingdimos/manipulation/dynamic_tracking/dt_blueprint.py

Deliverables

  • Rebase the ruthwik_dynamic_tracking work onto current main
  • Complete eye-in-hand calibration pipeline (EEF → camera transform) with a calibration tool/script
  • Full TF tree: base → joints → EEF → camera → marker, so any frame can be looked up relative to any other
  • ArUco marker detection and pose estimation integrated with the RealSense module (color + depth)
  • Visual servoing control loop: marker pose error → Cartesian velocity → IK → joint commands, running through the ControlCoordinator
  • Blueprint that wires RealSense + ArUco tracker + coordinator for at least one arm (e.g. xArm6)
  • One line run command to test

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.