# Inverse Kinematics for Stretch3

**URL:** <https://forum.hello-robot.com/t/inverse-kinematics-for-stretch3/1262>\
**Category:** Ask\
**Created:** [March 13, 2025, 8:13pm UTC](https://forum.hello-robot.com/t/inverse-kinematics-for-stretch3/1262 "2025-03-13T20:13:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![keshavshankar](https://avatars.discourse-cdn.com/v4/letter/k/a3d4f5/32.png) [@keshavshankar](https://forum.hello-robot.com/u/keshavshankar)\
**Post date:** [March 13, 2025, 8:13pm UTC](https://forum.hello-robot.com/t/inverse-kinematics-for-stretch3/1262/1 "2025-03-13T20:13:10Z")

</div>

I’m exploring pick-and-place tasks using the Stretch 3 and **looking for demos that allow me to specify a target 3D position relative to the base link, enabling it to move its gripper to that position**. I assume demos like [align\_to\_aruco](https://docs.hello-robot.com/0.2/stretch-tutorials/ros2/align_to_aruco/) and [stretch\_web\_teleop click to pre-grasp](https://github.com/hello-robot/stretch_web_teleop/commit/19edc3562cca441f3da3382d4ad8a5d9101274ad) utilize inverse kinematics (IK), but the [latest documentation](https://github.com/hello-robot/stretch_tutorials/blob/master/stretch_body/jupyter/inverse_kinematics.ipynb) I found only mentions IK for Stretch RE1 and Stretch 2. Given that Stretch 2 and Stretch 3 appear to have similar kinematics, is the same IK approach applicable? From my understanding, I could replicate the align\_to\_aruco demo except feed a 3d pose rather than the pose of the aruco tag? I’m new to IK and robotic path planning, so I appreciate any guidance.

---

<div class="post-metadata">

**Author:** ![Mohamed\_Fazil](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/mohamed_fazil/32/261_2.png) [@Mohamed\_Fazil](https://forum.hello-robot.com/u/Mohamed_Fazil)\
**Post date:** [March 21, 2025, 10:05pm UTC](https://forum.hello-robot.com/t/inverse-kinematics-for-stretch3/1262/2 "2025-03-21T22:05:09Z")

</div>

Here is the summary of the approaches we discussed with @keshavshankar regarding available IK solutions and performing a grasp task of an object marked by an aruco marker. We discussed two different scripts from which the grasp can be accomplished.

- [Click to Pre-grasp Action Server](https://forum.hello-robot.com/t/exciting-new-features-for-the-stretch-web-interface/1068#p-2782-click-to-pregrasp-3) (ROS2)

- [Visual servoing demo](https://github.com/hello-robot/stretch_visual_servoing) (python)

> <https://github.com/hello-robot/stretch_visual_servoing/blob/main/aruco_marker_info.yaml>

- modifying the demo to grasp a different object with an ArUco marker should be easy. Altering the following grasp parameters should enable the robot to grasp a different object:

> <https://github.com/hello-robot/stretch_visual_servoing/blob/4cbe9622d41b507bc949ca3508a5c61ce5079a1d/visual_servoing_demo.py#L98>

The expected implementation of a robust grasp solution is to basically move the robot to a object’s location, use the click to pregrasp to make the end effector align towards the object and then use the visual servoing implementation to grasp the object.
