feat: use Pink for controller ik tasks - #2992
Open
TomCC7 wants to merge 35 commits into
Open
Conversation
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Codecov Report❌ Patch coverage is @@ Coverage Diff @@
## main #2992 +/- ##
==========================================
- Coverage 75.47% 71.11% -4.36%
==========================================
Files 1157 1216 +59
Lines 111292 126743 +15451
Branches 10073 13370 +3297
==========================================
+ Hits 83998 90139 +6141
- Misses 24404 33671 +9267
- Partials 2890 2933 +43
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 198 files with indirect coverage changes 🚀 New features to boost your workflow:
|
TomCC7
commented
Jul 18, 2026
TomCC7
commented
Jul 18, 2026
…collision # Conflicts: # dimos/control/tasks/eef_twist_task/eef_twist_task.py # dimos/control/tasks/eef_twist_task/test_eef_twist_task.py # dimos/robot/manipulators/common/blueprints.py # dimos/robot/manipulators/piper/blueprints/teleop.py # dimos/robot/manipulators/test_blueprints.py # dimos/robot/manipulators/xarm/blueprints/teleop.py # docs/capabilities/manipulation/adding_a_custom_arm.md
3 tasks
paul-nechifor
previously approved these changes
Aug 4, 2026
…collision # Conflicts: # dimos/robot/manipulators/test_blueprints.py # docs/capabilities/manipulation/index.md
TomCC7
force-pushed
the
cc/feat/ik-task-self-collision
branch
from
August 4, 2026 06:22
3656e49 to
3b41dfa
Compare
paul-nechifor
previously approved these changes
Aug 4, 2026
TomCC7
enabled auto-merge
August 4, 2026 06:51
paul-nechifor
approved these changes
Aug 4, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contribution path
Problem
Cartesian and keyboard EEF-twist control used a custom Pinocchio IK implementation. Not quite extensible.
Solution
Pink is now the sole Cartesian and EEF-twist control IK backend. Both task types share the Cartesian pipeline, re-anchor every solve to measured joint state, bound control dt once per task tick, enforce model and joint mappings, and hold measured position for expected solve failures.
All shipped manipulator teleop blueprints, including Piper, now use direct URDF/Xacro models with named end-effector frames. Pink remains optional: task modules import without it, while constructing a Pink task without the manipulation extra gives an actionable install instruction.
The legacy Pinocchio control IK fallback and all self-collision logic were removed from this control path.
How to Test
Run Piper keyboard teleop with the manipulation extra and robot connection configured:
AI assistance
OpenCode with GPT-5.6-terra was substantially involved in implementation, testing, review-response triage, and PR maintenance.
Checklist