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
- Truesdell, C., & Noll, W. (1965). The Non-Linear Field Theories of Mechanics. Springer. (Foundational continuum/rod mechanics for robots.)
- Antman, S.S. (1995). Nonlinear Problems of Elasticity. Springer. (Rod and beam theory underpinning flexible/continuum modeling.)
- 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.
- Picken, J., & Bayo, E. (1990). Dynamics of flexible manipulators using assumed modes. IEEE Transactions on Robotics and Automation, 6(2), 186–195.
- Chirikjian, G.S. (1994). Kinematics of hyper-redundant robotic locomotion with applications to grasping. Journal of Robotic Systems, 11(8), 747–760.
- 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.
- 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.
Help keep these engineering tutorials free and growing
If these lessons, examples, and project pages help you, a small donation supports the continued creation and improvement of free control, robotics, software, and engineering education resources.
Created and maintained by Abolfazl Mohammadijoo.