<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Reference on Mulham Fetna</title>
    <link>https://mulhamfetna.com/tags/reference/</link>
    <description>Recent content in Reference on Mulham Fetna</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>contact@mulhamfetna.com (Mulham Fetna)</managingEditor>
    <webMaster>contact@mulhamfetna.com (Mulham Fetna)</webMaster>
    <copyright>© 2026 Mulham Fetna</copyright>
    <lastBuildDate>Wed, 16 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mulhamfetna.com/tags/reference/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Inside the MuJoCo tendon hand model: bodies, joints, sites and sign conventions</title>
      <link>https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/</link>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate>
      <author>contact@mulhamfetna.com (Mulham Fetna)</author>
      <guid>https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/</guid>
      <description>&lt;div class=&#34;lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl&#34;&gt;&#xA;  A fixed palm, five three-segment digits, five free-spinning servo horns, ten strings through seventy&#xA;points, five motors. Every number here was read from the compiled model with MuJoCo 3.13.0.&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;  &#xA;    &#xA;      &#xA;    &#xA;  &#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;  &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;    &#xA;    &#xA;      &#xA;      &#xA;      &#xA;    &#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;width-patch&#34;&gt;&lt;/div&gt;&#xA;&lt;div&#xA;  id=&#34;carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;  class=&#34;relative&#34;&#xA;  data-twe-carousel-init&#xA;  data-twe-ride=&#34;carousel&#34;&#xA;  data-twe-interval=&#34;2500&#34;&gt;&#xA;  &lt;div&#xA;    class=&#34;absolute right-0 bottom-0 left-0 z-2 mx-[15%] mb-10 flex list-none justify-center p-0&#34;&#xA;    data-twe-carousel-indicators&gt;&#xA;    &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;0&#34;&#xA;        data-twe-carousel-active aria-current=&#34;true&#34;&#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 0&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;1&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 1&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;2&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 2&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;3&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 3&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;4&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 4&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;5&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 5&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;6&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 6&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;      &lt;button&#xA;        type=&#34;button&#34;&#xA;        data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;        data-twe-slide-to=&#34;7&#34;&#xA;        &#xA;        class=&#34;mx-[3px] box-content h-[3px] w-[30px] flex-initial cursor-pointer border-0 border-y-[10px] border-solid border-transparent bg-neutral bg-clip-padding p-0 -indent-[999px] opacity-50 transition-opacity duration-[600ms] ease-[cubic-bezier(0.25,0.1,0.25,1.0)] motion-reduce:transition-none&#34;&#xA;        aria-label=&#34;Slide 7&#34;&gt;&lt;/button&gt;&#xA;      &#xA;    &#xA;  &lt;/div&gt;&#xA;&#xA;  &lt;div&#xA;    class=&#34;relative w-full after:clear-both after:block after:content-[&#39;&#39;]&#34;&#xA;    style=&#34;overflow-x: clip; overflow-y: visible;&#34;&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%]  w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      data-twe-carousel-active&gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/pose_open_front.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 1&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Open (+50 N)&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/pose_neutral_front.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 2&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Neutral (0 N)&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/pose_fist_front.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 3&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Fist (−50 N)&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/isolate_index.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 4&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Index tendon only&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/isolate_middle.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 5&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Middle tendon only&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/isolate_ring.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 6&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Ring tendon only&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/isolate_pinky.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 7&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Pinky tendon only&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &#xA;    &lt;div&#xA;      class=&#34;relative float-left -mr-[100%] hidden w-full transition-transform ease-in-out motion-reduce:transition-none&#34;&#xA;      data-twe-carousel-item&#xA;      style=&#34;transition-duration: 2500ms;&#34;&#xA;      &gt;&#xA;        &lt;div class=&#34;single_hero_background relative overflow-hidden&#34; style=&#34;aspect-ratio: 4 / 3;&#34;&gt;&#xA;          &lt;img&#xA;            src=&#34;https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/isolate_thumb.png&#34;&#xA;            class=&#34;block absolute top-0 object-cover w-full h-full not-prose nozoom&#34;&#xA;            alt=&#34;carousel image 8&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;figcaption&#xA;          class=&#34;absolute left-0 right-0&#34;&#xA;          style=&#34;top: calc(100%);&#34;&#xA;        &gt;Thumb tendon only&lt;/figcaption&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;    &#xA;  &lt;/div&gt;&#xA;&#xA;  &lt;button&#xA;    class=&#34;absolute top-0 bottom-0 left-0 z-2 flex w-[15%] items-center justify-center border-0 bg-none p-0 text-center opacity-50 transition-opacity duration-150 ease-[cubic-bezier(0.25,0.1,0.25,1.0)] hover:no-underline hover:opacity-90 hover:outline-none focus:no-underline focus:opacity-90 focus:outline-none motion-reduce:transition-none&#34;&#xA;    type=&#34;button&#34;&#xA;    data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;    data-twe-slide=&#34;prev&#34;&gt;&#xA;    &lt;span class=&#34;inline-block h-8 w-8&#34;&gt;&#xA;      &lt;svg&#xA;        xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;        fill=&#34;none&#34;&#xA;        viewBox=&#34;0 0 24 24&#34;&#xA;        stroke-width=&#34;4.5&#34;&#xA;        stroke=&#34;currentColor&#34;&#xA;        class=&#34;h-6 w-6&#34;&gt;&#xA;        &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M15.75 19.5L8.25 12l7.5-7.5&#34; /&gt;&#xA;      &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;    &lt;span&#xA;      class=&#34;!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]&#34;&#xA;      &gt;Previous&lt;/span&#xA;    &gt;&#xA;  &lt;/button&gt;&#xA;&#xA;  &lt;button&#xA;    class=&#34;absolute top-0 bottom-0 right-0 z-[1] flex w-[15%] items-center justify-center border-0 bg-none p-0 text-center opacity-50 transition-opacity duration-150 ease-[cubic-bezier(0.25,0.1,0.25,1.0)] hover:no-underline hover:opacity-90 hover:outline-none focus:no-underline focus:opacity-90 focus:outline-none motion-reduce:transition-none&#34;&#xA;    type=&#34;button&#34;&#xA;    data-twe-target=&#34;#carousel-aa5a96a9b087d346b8360ef1519723f8-1789572420471281821&#34;&#xA;    data-twe-slide=&#34;next&#34;&gt;&#xA;    &lt;span class=&#34;inline-block h-8 w-8&#34;&gt;&#xA;      &lt;svg&#xA;        xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;        fill=&#34;none&#34;&#xA;        viewBox=&#34;0 0 24 24&#34;&#xA;        stroke-width=&#34;4.5&#34;&#xA;        stroke=&#34;currentColor&#34;&#xA;        class=&#34;h-6 w-6&#34;&gt;&#xA;        &lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M8.25 4.5l7.5 7.5-7.5 7.5&#34; /&gt;&#xA;      &lt;/svg&gt;&#xA;    &lt;/span&gt;&#xA;    &lt;span&#xA;      class=&#34;!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]&#34;&#xA;      &gt;Next&lt;/span&#xA;    &gt;&#xA;  &lt;/button&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;At a glance&#xA;    &lt;div id=&#34;at-a-glance&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#at-a-glance&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Quantity&lt;/th&gt;&#xA;          &lt;th&gt;Value&lt;/th&gt;&#xA;          &lt;th&gt;Notes&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Bodies&lt;/td&gt;&#xA;          &lt;td&gt;22&lt;/td&gt;&#xA;          &lt;td&gt;world, palm, 15 phalanges, 5 servo horns&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Joints / DoF&lt;/td&gt;&#xA;          &lt;td&gt;20 / 20&lt;/td&gt;&#xA;          &lt;td&gt;all hinges; &lt;strong&gt;no free joint&lt;/strong&gt; — the palm is welded to the world&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Knuckle joints&lt;/td&gt;&#xA;          &lt;td&gt;15&lt;/td&gt;&#xA;          &lt;td&gt;passive, 90° limits&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Servo horn joints&lt;/td&gt;&#xA;          &lt;td&gt;5&lt;/td&gt;&#xA;          &lt;td&gt;unlimited and unactuated&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Geoms&lt;/td&gt;&#xA;          &lt;td&gt;87&lt;/td&gt;&#xA;          &lt;td&gt;43 visual + 43 collision meshes + floor&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Meshes&lt;/td&gt;&#xA;          &lt;td&gt;14&lt;/td&gt;&#xA;          &lt;td&gt;STL&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Sites&lt;/td&gt;&#xA;          &lt;td&gt;70&lt;/td&gt;&#xA;          &lt;td&gt;tendon via-points and anchors&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Tendons&lt;/td&gt;&#xA;          &lt;td&gt;10&lt;/td&gt;&#xA;          &lt;td&gt;5 flexor (actuated) + 5 extensor (passive)&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Actuators&lt;/td&gt;&#xA;          &lt;td&gt;5&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;&amp;lt;motor&amp;gt;&lt;/code&gt; on flexors, ±50 N&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Timestep / integrator&lt;/td&gt;&#xA;          &lt;td&gt;0.002 s / Euler&lt;/td&gt;&#xA;          &lt;td&gt;500 steps per simulated second&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Total mass&lt;/td&gt;&#xA;          &lt;td&gt;0.398 kg&lt;/td&gt;&#xA;          &lt;td&gt;palm block 341.8 g&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;The kinematic tree&#xA;    &lt;div id=&#34;the-kinematic-tree&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#the-kinematic-tree&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;pre class=&#34;not-prose mermaid&#34;&gt;&#xA;flowchart TB&#xA;    W[&#34;world&#34;] --&gt; P[&#34;part_1 · palm + servo block&lt;br&gt;341.8 g · 20 sites&#34;]&#xA;    P --&gt; I1[&#34;part_2_4 · index proximal&lt;br&gt;4.6 g · index_mcp&#34;] --&gt; I2[&#34;part_3_4&lt;br&gt;1.8 g · index_pip&#34;] --&gt; I3[&#34;part_4_4&lt;br&gt;4.6 g · index_dip&#34;]&#xA;    P --&gt; M1[&#34;part_2_3 · middle&lt;br&gt;middle_mcp&#34;] --&gt; M2[&#34;part_3_3&lt;br&gt;middle_pip&#34;] --&gt; M3[&#34;part_4_3&lt;br&gt;middle_dip&#34;]&#xA;    P --&gt; R1[&#34;part_2_2 · ring&lt;br&gt;ring_mcp&#34;] --&gt; R2[&#34;part_3_2&lt;br&gt;ring_pip&#34;] --&gt; R3[&#34;part_4_2&lt;br&gt;ring_dip&#34;]&#xA;    P --&gt; K1[&#34;part_2 · pinky&lt;br&gt;pinky_mcp&#34;] --&gt; K2[&#34;part_3&lt;br&gt;pinky_pip&#34;] --&gt; K3[&#34;part_4&lt;br&gt;pinky_dip&#34;]&#xA;    P --&gt; T1[&#34;part_5 · thumb&lt;br&gt;5.4 g · thumb_cmc&#34;] --&gt; T2[&#34;part_6&lt;br&gt;2.4 g · thumb_mp&#34;] --&gt; T3[&#34;part_7&lt;br&gt;2.5 g · thumb_ip&#34;]&#xA;    P --&gt; H[&#34;servo_horn … servo_horn_5&lt;br&gt;0.3 g each&#34;]&#xA;&lt;/pre&gt;&#xA;&#xA;&#xA;  &#xA;  &#xA;  &#xA;  &#xA;&#xA;&#xA;&#xA;&lt;div&#xA;  &#xA;    class=&#34;flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900&#34;&#xA;  &#xA;  &gt;&#xA;  &lt;span&#xA;    &#xA;      class=&#34;text-primary-400 pe-3 flex items-center&#34;&#xA;    &#xA;    &gt;&#xA;    &lt;span class=&#34;relative block icon&#34;&gt;&lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 512 512&#34;&gt;&lt;path fill=&#34;currentColor&#34; d=&#34;M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z&#34;/&gt;&lt;/svg&gt;&#xA;&lt;/span&gt;&#xA;  &lt;/span&gt;&#xA;&#xA;  &lt;span&#xA;    &#xA;      class=&#34;dark:text-neutral-300&#34;&#xA;    &#xA;    &gt;&lt;strong&gt;Body names are CAD part names, not finger names.&lt;/strong&gt; Repeated instances get &lt;code&gt;_2&lt;/code&gt;, &lt;code&gt;_3&lt;/code&gt;, … appended, so&#xA;the &lt;em&gt;pinky&lt;/em&gt; chain is &lt;code&gt;part_2 → part_3 → part_4&lt;/code&gt; and the &lt;em&gt;index&lt;/em&gt; chain is &lt;code&gt;part_2_4 → part_3_4 → part_4_4&lt;/code&gt;.&#xA;Address &lt;strong&gt;joints, sites, tendons and actuators&lt;/strong&gt; in code — never bodies.&lt;/span&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Joints and their signs&#xA;    &lt;div id=&#34;joints-and-their-signs&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#joints-and-their-signs&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Joint&lt;/th&gt;&#xA;          &lt;th&gt;Range (rad)&lt;/th&gt;&#xA;          &lt;th&gt;Bend direction&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;index_mcp&lt;/code&gt;, &lt;code&gt;index_pip&lt;/code&gt;, &lt;code&gt;index_dip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[−1.571, 0]&lt;/td&gt;&#xA;          &lt;td&gt;negative&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;middle_mcp&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[−1.571, 0]&lt;/td&gt;&#xA;          &lt;td&gt;negative&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;middle_pip&lt;/code&gt;, &lt;code&gt;middle_dip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[0, +1.571]&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;positive&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ring_mcp&lt;/code&gt;, &lt;code&gt;ring_dip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[−1.571, 0]&lt;/td&gt;&#xA;          &lt;td&gt;negative&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;ring_pip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[0, +1.571]&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;positive&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;pinky_mcp&lt;/code&gt;, &lt;code&gt;pinky_dip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[−1.571, 0]&lt;/td&gt;&#xA;          &lt;td&gt;negative&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;pinky_pip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[0, +1.571]&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;positive&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;thumb_cmc&lt;/code&gt;, &lt;code&gt;thumb_mp&lt;/code&gt;, &lt;code&gt;thumb_ip&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;[−1.571, 0]&lt;/td&gt;&#xA;          &lt;td&gt;negative&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;servo_*&lt;/code&gt; × 5&lt;/td&gt;&#xA;          &lt;td&gt;unlimited&lt;/td&gt;&#xA;          &lt;td&gt;—&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;Bend direction is inconsistent&lt;/strong&gt;, because each Onshape mate&amp;rsquo;s axis was exported as-is. Anything that&#xA;reads joint angles must normalize per joint:&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://mulhamfetna.com/projects/ros2-tendon-driven-hand-mujoco-digital-twin-vision-teleoperation/model-anatomy/cover.png" />
    </item>
    
  </channel>
</rss>
