Cuspidal Robots: A True Double-edged Sword

A cuspidal robot changing posture without going through a singularity

Analyzing a simple cuspidal robot

Simple 3R robot with orthogonal joints and an offset on the second joint
The entire singularity surface can be plotted in 2D. The surfaces divide the joint space into two aspects.
Singularity surfaces in the robot’s cartesian workspace with a cutout of the outer shell.
Singularity surfaces in workspace parameters and number of IK solutions. Instead of solving for ρ and z explicitly, the quartic discriminant is plotted, which is equivalent.
A point with 4 IK solutions. Left: the 4 solutions visualized on the robot. Middle: the point expressed in ρ and z. Right: Each of the solutions plotted along the singularity surfaces — in the joint space of the robot.

Where cuspidality got its name

What a nonsingular posture change looks like. The cusps are the 4 sharp points on the internal boundary in the middle figure

A set of feasible paths

Singularity surfaces (black) and characteristic surfaces (gray) form reduced aspects. The dotted space represents the reduced aspects for the region with 4 IK solutions. The green line represents the singularity-avoiding move from before. Adapted from Wenger
The uniqueness domains in the workspace, cut along its folds and shown in its two aspects. Source: Wenger et al.

Feasible paths → infeasible paths

The starting configuration determines whether the end-effector can transition into the internal boundary without a joint jump. That also means that it’s impossible to cross both internal boundaries in one continuous path without a joint jump (with any motion planner). Starting from the other configuration causes a joint jump on the first internal boundary.

You probably want to know if your robot is cuspidal

  • For a 3R manipulator, if either the first or last two joint axes are parallel or if they intersect, then the robot is not cuspidal. When the first two axes are parallel, this corresponds to your elbow up and down case.
  • For a 3R manipulator, the first two joint axes are orthogonal and there are no joint offsets or all joint axes are mutually orthogonal and the middle joint has no offset.
  • If you have a 6DOF robot arm with a non-spherical wrist (3 last joint axes don’t intersect at one point), there’s a good chance that it’s cuspidal
  • 6DOF with spherical wrist: if the first 3DOF aren’t cuspidal, then the robot is not cuspidal
  • 6DOF where the polynomial can be reduced to a quartic, see Mavroidis & Roth for an overview.
Link lengths are extremely important: Modifying the second link to be shorter (left)or the third link to be longer (right) creates non-cuspidal robots.


  • Selig, J. (2013). Geometrical Methods in Robotics. United States: Springer New York.
  • Wenger, P. (2007). Cuspidal and noncuspidal robot manipulators. Robotica, 25(06). doi:10.1017/s0263574707003761
  • Zein, M., Wenger, P., & Chablat, D. (2006). An exhaustive study of the workspace topologies of all 3R orthogonal manipulators with geometric simplifications. Mechanism and Machine Theory, 41(8), 971–986. doi:10.1016/j.mechmachtheory.2006.03.013
  • Corvez, Solen & Rouillier, Fabrice. (2002). Using Computer Algebra Tools to Classify Serial Manipulators. 31–43. 10.1007/978–3–540–24616–9_3
  • Kohli, D., & Spanos, J. (1985). Workspace Analysis of Mechanical Manipulators Using Polynomial Discriminants. Journal of Mechanisms Transmissions and Automation in Design, 107(2), 209. doi:10.1115/1.3258710
  • Mavroidis, C., & Roth, B. (1994). Structural Parameters Which Reduce the Number of Manipulator Configurations. Journal of Mechanical Design, 116(1), 3. doi:10.1115/1.2919373

Roboticist, geometer, plant-person, Belgian living in the Bay Area

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Optimizing Elixir Phoenix Performance

Advanced Python: How To Implement Caching In Python Application

Is There Any Point To Certifications? — Balanced Analysis

$ZEP — Momentum today, to the skies tomorrow!

Inbuild User Authentication with Django — SignUp, and Password Reset

Pull-Request is NOT Best Practice

Setting Up Apache Allura in Ubuntu

SOLID Principle in Object-Oriented Design

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Achille Verheye

Achille Verheye

Roboticist, geometer, plant-person, Belgian living in the Bay Area

More from Medium

The Sweetest Taboo Part V:

The UK has its upper House of Lords in the Parliament, where the membership is either hereditary…

Miami’s Pastel Paradise- Susan Gale

Unearthed early portrait shines new light on Monmouth College’s first president