Like Canadarm2 on the ISS truss, this arm has an identical gripper at both ends and no fixed base. To travel it walks: one end stays latched to a lattice node while the other end swings free, reaches the next node along your chosen path, and latches — then the roles swap. Each cycle leapfrogs the trailing gripper past the anchored one, one node further along the path.
The free end is a real 3-link planar chain (shoulder–elbow–wrist, lengths L1, L2, L3). The end-effector orientation is fixed along the travel direction, which reduces the redundant 3-link problem to a solvable 2-link sub-problem for the wrist center:
wrist = target − L3·(cosθ, sinθ), θ = atan2(target − base)
cos(θ_elbow) = (d² − L1² − L2²) / (2 L1 L2)
θ_shoulder = atan2(wrist − base) − atan2(L2 sinθe, L1 + L2 cosθe)
Forward kinematics is then re-applied to the solved joint angles to find where the gripper tip actually lands — the "IK residual" readout is the real gap between that computed tip and the intended node, not a snapped value. A step is only offered as clickable when the node-to-node distance falls inside the arm's total reach envelope, |L1−L2|+L3 to L1+L2+L3.
As with a real lightly-damped space structure, the tip doesn't stop instantly when a joint reaches its target — it rings down as a damped harmonic oscillator, x(t) = A·e^(−ζωn t)·cos(ωd t) with ωn = √(k/m_eff). Heavier payloads lower ωn, so the tip wobbles longer before it's safe to latch.