Robot Arm Kinematics Lab
Build a deliberately defined 4R serial arm: base yaw rotates about world Z; shoulder, elbow and wrist pitch turn in the same vertical plane. The tool has a 3D x/y/z position and supported yaw/pitch orientation, but no independent roll. Forward kinematics maps joint angles to pose. Closed-form inverse kinematics checks a target pose, both elbow branches, limits and FK-recomputed error. A finite workspace plot illustrates joint-limit samples without replacing the analytic reachability verdict.
Key features
- Edit base height, three link lengths, four angles and separate joint min/max limits
- Compute world-coordinate shoulder, elbow, wrist and tool positions plus yaw/pitch direction
- Solve zero, one or two analytic elbow branches for a target 3D position and supported orientation
- Distinguish orientation mismatch, outer/inner geometric reach, joint-limit rejection and singular underdetermination
- Verify each IK branch by recomputing forward pose and displaying position error
- Inspect top/side SVG and indicative joint-limit workspace samples; download SVG, CSV and versioned JSON
How to use
- Load the two-branch, limited-joint or out-of-reach example, or enter arm dimensions and four angles/limits.
- Enter a target x/y/z in mm and tool yaw/pitch in degrees. Tool yaw is the base-plane direction; no roll or independent yaw is supported.
- Run the analysis to see current forward pose, analytic wrist-center annulus and target reachability reason.
- Compare both elbow IK branches, joint-limit flags, singularity and FK-recomputed target residual; preview an accepted branch.
- Use the top/side plot and exports for explanation, then perform separate collision, load, dynamics and hardware safety validation before any physical use.
Use cases
- Teach the difference between 3D forward and inverse kinematics
- Compare elbow-positive and elbow-negative paths to one target pose
- See how a joint limit rejects an otherwise geometric solution
- Explain why the shown sampled workspace cannot prove continuous reachability
Frequently asked questions
Is this a general 6-DOF robot solver?
No. It is a fixed 4R model with world-Z base yaw and coplanar shoulder, elbow and wrist pitch. It calculates 3D position and yaw/pitch but no tool roll, independent yaw, collision avoidance or redundant joints.
Why can a target have two IK solutions?
The wrist center is reached by a two-link shoulder–elbow triangle. The law of cosines gives positive and negative elbow angles for an interior point. At a stretched or folded boundary the branches merge; when equal links fold exactly to the shoulder, shoulder angle is underdetermined.
Why does an x/y target cause an orientation mismatch?
For this arm, the target's horizontal position must lie in the vertical plane set by its requested tool/base yaw, even if the signed radial coordinate is negative. A lateral component beyond the displayed mm tolerance cannot be reached with the specified yaw.
Does a blue workspace point prove the target is reachable?
No. The side points and x/y/z bounds sample only a finite joint grid. The target verdict uses exact analytic IK for this declared model and its joint intervals; the length-only wrist annulus ignores those limits.
Can I use these angles to control a real robot?
No motor commands are generated. The model omits geometry of links, collisions, torque, payload, speed, backlash, calibration, dynamics, singular velocity behavior and hardware safety. Physical use requires independent engineering validation.
Is my robot design uploaded?
No tool API receives the geometry, angles or target. The calculation runs in this browser tab and exports happen only when you click download.
Privacy
Arm dimensions, target and calculated samples stay in browser memory. No tool API submission or automatic save occurs; downloads are user initiated.
Comments & questions