# Interactive SO-101 IK in ROS 2 with Viser + robokin

**URL:** <https://discourse.openrobotics.org/t/interactive-so-101-ik-in-ros-2-with-viser-robokin/53850>\
**Category:** Projects\
**Tags:** ros2\
**Created:** [April 7, 2026, 12:23pm UTC](https://discourse.openrobotics.org/t/interactive-so-101-ik-in-ros-2-with-viser-robokin/53850 "2026-04-07T12:23:23Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![dmitri\_manajev](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dmitri_manajev/32/32685_2.png) [@dmitri\_manajev](https://discourse.openrobotics.org/u/dmitri_manajev)\
**Post date:** [April 15, 2026, 11:28am UTC](https://discourse.openrobotics.org/t/interactive-so-101-ik-in-ros-2-with-viser-robokin/53850/10 "2026-04-15T11:28:51Z")

</div>

After talking with you about it, I got a better idea of what a possible design for this could look like and I ended up making something in that direction for the interactive/manual end-effector control from Viser, and I used it in some hand-eye calibration experiments. The Cartesian control part does point in the ROS 2 direction we were discussing.

And the motion node itself is here:

> <https://github.com/legalaspro/so101-ros-physical-ai/blob/main/so101_kinematics/so101_kinematics/cartesian_motion_node.py>

So I think this could later be wrapped as a more configurable ROS 2 node, with the IK backend selectable as a parameter.

> The GUI I am using there is visible in the 2nd and 3rd videos in this PR comment:  
> **That calibration workflow is still very, very experimental though, and not something I would recommend to anyone for reliable extrinsics on the SO-101**  
> [Add camera calibration tools + motion services for SO-101 by legalaspro · Pull Request #11 · legalaspro/so101-ros-physical-ai · GitHub](https://github.com/legalaspro/so101-ros-physical-ai/pull/11#issuecomment-4251195830)

---

_[View the full topic](https://discourse.openrobotics.org/t/interactive-so-101-ik-in-ros-2-with-viser-robokin/53850)._
