FIELD NOTES / 01
From a flat sketch
to a spatial chain.
The first pass was a five-joint planar arm solved with the law of cosines. It could reach a point in a plane, but it could not represent the orientation changes or redundant motion of a real seven-axis manipulator. This study moves the problem into 3D and uses the Franka Emika Panda’s articulated description.
MODEL SOURCE · VERSION 2026.9.0
GOOGLE DEEPMIND · MUJOCO MENAGERIE / FRANKA EMIKA PANDA ↗
Apache-2.0 · MJCF and visual OBJ assets loaded from the pinned release at runtime
01Six pose coordinates.
Seven joints.
A rigid tool pose has six degrees of freedom: three for position and three for orientation. The Panda has seven revolute joints, so the same tool pose can correspond to a family of arm configurations. That extra degree is redundancy.
02Forward kinematics
is a transform chain.
Each link frame follows from multiplying the rigid transforms along the chain. Joint rotations are interleaved with fixed link offsets and axis twists; joints 2, 4, and 6 introduce 90° twists in this model. The flange pose is the resulting transform at the chain’s end.
03CCD projects,
then rotates.
For each joint, starting at the flange and moving back toward the base, CCD projects the current end-effector and target vectors onto the plane normal to that joint axis. It rotates the joint to reduce their angle, then cycles through the chain again. The reference solver uses about sixty passes.
04One answer from
a redundant family.
This CCD pass finds one configuration that reduces position error. It does not optimize across the full family of solutions for posture, manipulability, or distance from joint limits. Near singular configurations, several joints can lose independent influence over the tool’s local motion.
05Limits shape
the reachable poses.
Joint sliders are bounded by Franka’s published Panda limits. The fourth joint is limited to negative angles; the sixth is bounded from a small negative angle through more than 180°. Targets at the reach-shell edge can still be infeasible under joint limits or a singular posture.
06Mesh cleanup
before reduction.
The mesh-import lesson from this model: weld duplicate vertices first, remove small disconnected fragments, and only then simplify. That sequence preserves the main link surfaces while reducing mesh weight for a browser viewer.