Chapter 3: Robot Taxonomy and Classification

Lesson 3: Rigid, Flexible, and Continuum Robots (high-level only)

This lesson classifies robots by how their bodies deform during motion: (i) rigid-link robots, (ii) flexible (compliant) robots, and (iii) continuum robots. We emphasize the modeling assumptions behind each class, formal stiffness/compliance measures, and why these categories matter for control and design. Only high-level modeling is used; detailed kinematics and Jacobians are deferred to later courses.

1. Conceptual Overview

Let the robot body occupy a reference domain \( \Omega \subset \mathbb{R}^3 \). A motion is a mapping \( \boldsymbol{\varphi}:\Omega \times [0,T] \to \mathbb{R}^3 \). The taxonomy in this lesson is based on the regularity and dimensionality of deformation in \( \boldsymbol{\varphi} \).

  • Rigid robots: the body decomposes into links that are (approximately) undeformable. Each link is described by a rigid transformation in \( SE(3) \); deformation is neglected.
  • Flexible robots: links deform slightly under load. Deformation is modeled as small elastic strain about a rigid backbone.
  • Continuum robots: deformation is large and distributed; there is no natural link–joint separation. The configuration is a space curve (and possibly a cross-section frame) with effectively infinite DOF.
flowchart TD
  A["Robot body deformation model"] --> B["Negligible deformation"]
  A --> C["Small elastic deformation"]
  A --> D["Large distributed deformation"]
  B --> R["Rigid-link robots"]
  C --> F["Flexible-link robots"]
  D --> K["Continuum robots"]
  R --> R1["Finite DOF; joint coordinates"]
  F --> F1["Finite + elastic DOF; modes"]
  K --> K1["Infinite DOF; curve/rod models"]
        

A unifying idea is the relationship between applied generalized forces \( \mathbf{f} \) and generalized displacements \( \mathbf{q} \). When deformation is linear-elastic,

\[ \mathbf{f} = \mathbf{K}\mathbf{q}, \qquad \mathbf{q} = \mathbf{C}\mathbf{f}, \quad \mathbf{C}=\mathbf{K}^{-1}, \]

where \( \mathbf{K} \) is a stiffness matrix and \( \mathbf{C} \) the compliance matrix. Rigid robots assume \( \|\mathbf{C}\| \approx 0 \); continuum robots require distributed counterparts of these operators.

2. Rigid Robots

A rigid robot is modeled as piecewise rigid bodies connected by ideal joints. Each link \( i \) has a pose \( \mathbf{T}_i \in SE(3) \). The key assumption is that internal strains are negligible in operating conditions:

\[ \boldsymbol{\varepsilon}(\mathbf{x},t) \approx \mathbf{0} \quad \forall \mathbf{x}\in\Omega_i, \]

and any displacement is explained by joint coordinates \( \mathbf{q} \in \mathbb{R}^n \). High-level dynamics (without deriving full rigid-body equations) are typically represented as:

\[ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} +\mathbf{B}(\mathbf{q},\dot{\mathbf{q}}) +\mathbf{g}(\mathbf{q}) =\mathbf{u}, \]

where \( \mathbf{u} \) are joint control inputs. In rigid taxonomy, we treat \( \mathbf{M},\mathbf{B},\mathbf{g} \) as coming from rigid-body mechanics. This class dominates industrial manipulators because high stiffness yields accurate positioning.

Stiffness idealization: If the end-effector small displacement is \( \delta\mathbf{x} \) under an external wrench \( \mathbf{w} \), then rigid robots assume:

\[ \|\delta\mathbf{x}\| \le \epsilon \|\mathbf{w}\|, \quad \epsilon \to 0. \]

This is an approximation: effectively, the operational compliance is small enough to ignore in planning and control.

3. Flexible Robots

Flexible robots allow small but non-negligible deformation of links. A common abstraction is a rigid skeleton plus elastic deflection \( \mathbf{u}(\mathbf{x},t) \):

\[ \boldsymbol{\varphi}(\mathbf{x},t) = \boldsymbol{\varphi}_{\text{rigid}}(\mathbf{x},\mathbf{q}(t)) + \mathbf{u}(\mathbf{x},t), \qquad \|\nabla \mathbf{u}\| \ll 1. \]

For a slender link modeled as an Euler–Bernoulli beam of length \( L \), transverse deflection \( y(s,t) \), arc-length coordinate \( s\in[0,L] \), Young’s modulus \( E \), and area moment \( I \), the static equation under load distribution \( p(s) \) is:

\[ E I \frac{d^4 y}{ds^4} = p(s). \]

Energy proof of positive stiffness: The strain energy stored in bending is

\[ U[y] = \frac{1}{2}\int_{0}^{L} E I \left(\frac{d^2 y}{ds^2}\right)^2 ds. \]

Since \( E>0 \) and \( I>0 \), the integrand is nonnegative. Hence \( U[y]\ge 0 \) with equality iff \( d^2y/ds^2 = 0 \) a.e., i.e., \( y \) is at most linear (pure rigid translation/rotation). Therefore the bending stiffness operator is positive semidefinite and becomes positive definite once boundary conditions remove rigid modes. This is why compliant links still “restore” to shape.

Modal finite-DOF reduction (high-level): Choose basis functions \( \phi_k(s) \) and write \( y(s,t)=\sum_{k=1}^{m} \eta_k(t)\phi_k(s) \). Substituting into the beam model and projecting yields:

\[ \mathbf{M}_\eta \ddot{\boldsymbol{\eta}} + \mathbf{D}_\eta \dot{\boldsymbol{\eta}} + \mathbf{K}_\eta \boldsymbol{\eta} = \mathbf{r}(t), \]

where the reduced stiffness usually has entries

\[ (\mathbf{K}_\eta)_{ij} = \int_{0}^{L} E I \, \phi_i''(s)\phi_j''(s)\, ds. \]

Flexible robots appear in lightweight arms, space robots, and soft grippers, where stiffness–mass tradeoffs dominate.

4. Continuum Robots

Continuum robots are effectively elastic bodies without discrete joints. Their configuration is a curve \( \mathbf{r}(s,t)\in\mathbb{R}^3 \) and possibly a rotation \( \mathbf{R}(s,t)\in SO(3) \) along the backbone. The ideal model has infinite DOF, similar to rods in mechanics.

Cosserat rod form (high-level): Let internal force \( \mathbf{n}(s) \) and moment \( \mathbf{m}(s) \). Static balance is:

\[ \frac{d\mathbf{n}}{ds} + \mathbf{f}_{\text{ext}}(s) = \mathbf{0}, \qquad \frac{d\mathbf{m}}{ds} + \mathbf{r}'(s)\times \mathbf{n}(s) + \mathbf{l}_{\text{ext}}(s)=\mathbf{0}. \]

Constitutive laws relate curvature and twist to moments. For isotropic bending,

\[ \mathbf{m}(s) = \mathbf{K}_b \boldsymbol{\kappa}(s), \quad \mathbf{K}_b = \operatorname{diag}(E I_1, E I_2, G J). \]

Here \( \boldsymbol{\kappa}(s) \) is curvature–twist vector and \( GJ \) torsional stiffness. Unlike flexible robots, deformation is not assumed small; \( \boldsymbol{\kappa} \) may vary strongly.

Constant-curvature approximation: Many continuum arms are modeled with piecewise constant curvature to obtain a finite parameterization. For a single section: curvature magnitude \( \kappa \), bending plane angle \( \phi \), and length \( L \). The tip position relative to base is

\[ \mathbf{p}(\kappa,\phi) = \begin{bmatrix} \frac{1}{\kappa}(1-\cos(\kappa L))\cos\phi \\ \frac{1}{\kappa}(1-\cos(\kappa L))\sin\phi \\ \frac{1}{\kappa}\sin(\kappa L) \end{bmatrix}, \quad \kappa \ne 0, \]

and the limit \( \kappa \to 0 \) gives straight extension:

\[ \lim_{\kappa\to 0}\mathbf{p}(\kappa,\phi)= \begin{bmatrix}0\\0\\L\end{bmatrix}. \]

Proof of the limit: using Taylor series \( \sin x = x + O(x^3) \) and \( 1-\cos x = x^2/2 + O(x^4) \) for \( x=\kappa L \):

\[ \frac{1}{\kappa}(1-\cos(\kappa L)) = \frac{1}{\kappa}\left(\frac{\kappa^2 L^2}{2}+O(\kappa^4)\right) = \frac{\kappa L^2}{2}+O(\kappa^3)\to 0, \]

\[ \frac{1}{\kappa}\sin(\kappa L) = \frac{1}{\kappa}\left(\kappa L + O(\kappa^3)\right) = L + O(\kappa^2)\to L. \]

Continuum robots include tendon-driven “snake” robots, pneumatic soft arms, and concentric-tube robots. They excel in safe interaction and maneuvering in confined spaces.

5. Comparison Metrics and Design Trade-offs

Even at a high level, we can formalize distinctions using stiffness, DOF, and energy storage.

Effective DOF: rigid robots have finite DOF \( n \); flexible robots have \( n+m \) after modal truncation; continuum robots are idealized as \( n=\infty \) and approximated by piecewise parameters.

Stiffness-to-mass ratio: For a beam-like link of mass density \( \rho \) and area \( A \), bending stiffness per mass scales as:

\[ \frac{E I}{\rho A L^2}. \]

Larger values indicate near-rigid behavior; smaller values indicate significant compliance under load.

Tip deflection sensitivity: For a cantilever under tip force \( F \), Euler–Bernoulli gives:

\[ \delta_{\text{tip}} = \frac{F L^3}{3 E I}. \]

Rigid taxonomy corresponds to \( \delta_{\text{tip}}/L \ll 1 \), flexible taxonomy to \( \delta_{\text{tip}}/L \lesssim 10^{-2}\text{–}10^{-1} \), and continuum behavior when deformation is intentionally large.

6. Minimal Multi-language Demonstrations

These snippets compute (i) cantilever tip deflection for a flexible link, and (ii) constant-curvature tip position for a continuum section. They are small, self-contained examples aligned with the high-level nature of this lesson.

6.1 Python (NumPy)


import numpy as np

def cantilever_tip_deflection(F, L, E, I):
    # delta = F L^3 / (3 E I)
    return F * L**3 / (3.0 * E * I)

def continuum_tip_position(kappa, phi, L):
    # constant-curvature section
    if abs(kappa) < 1e-9:
        return np.array([0.0, 0.0, L])
    x = (1.0/kappa) * (1 - np.cos(kappa*L)) * np.cos(phi)
    y = (1.0/kappa) * (1 - np.cos(kappa*L)) * np.sin(phi)
    z = (1.0/kappa) * np.sin(kappa*L)
    return np.array([x, y, z])

F, L, E, I = 10.0, 0.5, 70e9, 2.0e-10  # SI units
print("Flexible-link tip deflection (m):", cantilever_tip_deflection(F, L, E, I))

kappa, phi = 4.0, np.pi/6
print("Continuum tip position (m):", continuum_tip_position(kappa, phi, L))
      

6.2 C++ (Eigen)


#include <iostream>
#include <cmath>
#include <Eigen/Dense>

double cantileverTipDeflection(double F, double L, double E, double I){
    return F * std::pow(L,3) / (3.0 * E * I);
}

Eigen::Vector3d continuumTipPosition(double kappa, double phi, double L){
    if (std::abs(kappa) < 1e-9){
        return Eigen::Vector3d(0,0,L);
    }
    double x = (1.0/kappa) * (1 - std::cos(kappa*L)) * std::cos(phi);
    double y = (1.0/kappa) * (1 - std::cos(kappa*L)) * std::sin(phi);
    double z = (1.0/kappa) * std::sin(kappa*L);
    return Eigen::Vector3d(x,y,z);
}

int main(){
    double F=10.0, L=0.5, E=70e9, I=2e-10;
    std::cout << "Deflection: " << cantileverTipDeflection(F,L,E,I) << std::endl;

    double kappa=4.0, phi=M_PI/6;
    Eigen::Vector3d p = continuumTipPosition(kappa,phi,L);
    std::cout << "Continuum tip: " << p.transpose() << std::endl;
    return 0;
}
      

6.3 Java


public class HighLevelDeformationDemo {

    static double cantileverTipDeflection(double F, double L, double E, double I){
        return F * Math.pow(L,3) / (3.0 * E * I);
    }

    static double[] continuumTipPosition(double kappa, double phi, double L){
        if (Math.abs(kappa) < 1e-9){
            return new double[]{0.0, 0.0, L};
        }
        double x = (1.0/kappa) * (1 - Math.cos(kappa*L)) * Math.cos(phi);
        double y = (1.0/kappa) * (1 - Math.cos(kappa*L)) * Math.sin(phi);
        double z = (1.0/kappa) * Math.sin(kappa*L);
        return new double[]{x, y, z};
    }

    public static void main(String[] args){
        double F=10.0, L=0.5, E=70e9, I=2e-10;
        System.out.println("Deflection: " + cantileverTipDeflection(F,L,E,I));

        double kappa=4.0, phi=Math.PI/6;
        double[] p = continuumTipPosition(kappa,phi,L);
        System.out.printf("Continuum tip: [%.5f, %.5f, %.5f]%n", p[0], p[1], p[2]);
    }
}
      

6.4 Matlab / Simulink-ready functions


function delta = cantilever_tip_deflection(F,L,E,I)
% delta = F L^3 / (3 E I)
delta = F * L^3 / (3*E*I);
end

function p = continuum_tip_position(kappa,phi,L)
% constant curvature tip position
if abs(kappa) < 1e-9
    p = [0;0;L];
else
    p = (1/kappa) * [ (1-cos(kappa*L))*cos(phi);
                      (1-cos(kappa*L))*sin(phi);
                       sin(kappa*L) ];
end
end
      

In later courses, these ideas become building blocks for elastic dynamics, control of soft robots, and simulation.

7. Problems and Solutions

Problem 1 (Rigid vs. Flexible Criterion): A robot link of length \( L \) behaves as a cantilever with tip force \( F \). Using \( \delta_{\text{tip}} = \frac{F L^3}{3 E I} \), derive a condition (in terms of a small tolerance \( \alpha \)) under which the link can be treated as rigid.

Solution:

Treat the link as rigid if relative deflection is tiny: \( \delta_{\text{tip}}/L \le \alpha \) with \( \alpha \ll 1 \). Substituting,

\[ \frac{F L^3}{3 E I}\cdot\frac{1}{L} \le \alpha \quad \Longleftrightarrow \quad \frac{F L^2}{3 E I} \le \alpha. \]

Thus high stiffness \( EI \) or small loads \( F \) justify rigid modeling.

Problem 2 (Energy Positivity): For the beam strain energy \( U[y] = \frac{1}{2}\int_0^L E I (y''(s))^2 ds \), show that the associated stiffness operator is positive semidefinite.

Solution:

Since \( E>0 \), \( I>0 \), and squaring yields \( (y'')^2 \ge 0 \), the integrand is nonnegative for all admissible \( y \). Therefore \( U[y]\ge 0 \). Equality implies \( y''(s)=0 \) a.e., i.e., rigid modes only. Hence the operator is positive semidefinite and becomes positive definite with boundary constraints that remove rigid modes.

Problem 3 (Continuum Straight-Limit): Using the constant-curvature tip model, prove that \( \mathbf{p}(\kappa,\phi)\to [0,0,L]^T \) as \( \kappa\to 0 \).

Solution:

Use Taylor expansions near zero: \( \sin x = x + O(x^3) \), \( 1-\cos x = x^2/2 + O(x^4) \). With \( x=\kappa L \), the transverse terms scale as \( (1/\kappa)(x^2/2)=\kappa L^2/2 \to 0 \), while the axial term is \( (1/\kappa)x = L + O(\kappa^2)\to L \). Hence the limit is a straight section.

Problem 4 (Mode Truncation Idea): Suppose a flexible link is expanded as \( y(s,t)=\sum_{k=1}^{m}\eta_k(t)\phi_k(s) \). Explain why increasing \( m \) moves the model toward continuum behavior.

Solution:

Each mode adds an independent deformation DOF. As \( m \) increases, the span of the basis \( \{\phi_k\} \) can represent finer spatial variations, approximating a fully distributed field. In the limit \( m\to\infty \), the discrete model converges to the continuum PDE.

8. Summary

We classified robots by deformation: rigid-link robots assume negligible strain and finite DOF; flexible robots incorporate small elastic deflections and are often reduced by modal methods; continuum robots model large distributed deformation through rod/curve frameworks and are approximated by constant-curvature segments. These categories shape design and control choices even before detailed kinematics are introduced.

9. References

  1. Truesdell, C., & Noll, W. (1965). The Non-Linear Field Theories of Mechanics. Springer. (Foundational continuum/rod mechanics for robots.)
  2. Antman, S.S. (1995). Nonlinear Problems of Elasticity. Springer. (Rod and beam theory underpinning flexible/continuum modeling.)
  3. Siciliano, B., & Book, W.J. (1988). A singular perturbation approach to control of lightweight flexible manipulators. International Journal of Robotics Research, 7(4), 79–90.
  4. Picken, J., & Bayo, E. (1990). Dynamics of flexible manipulators using assumed modes. IEEE Transactions on Robotics and Automation, 6(2), 186–195.
  5. Chirikjian, G.S. (1994). Kinematics of hyper-redundant robotic locomotion with applications to grasping. Journal of Robotic Systems, 11(8), 747–760.
  6. Webster, R.J., & Jones, B.A. (2010). Design and kinematic modeling of constant curvature continuum robots. International Journal of Robotics Research, 29(13), 1661–1683.
  7. Renda, F., et al. (2018). A unified approach for continuum robots modeling based on Cosserat theory. IEEE Robotics and Automation Letters, 3(4), 3273–3280.