Chapter 3: Robot Taxonomy and Classification
Lesson 4: Field Robots: Aerial, Underwater, Space, Agricultural
This lesson extends robot taxonomy beyond factory and indoor settings to field robots—systems operating in large, unstructured, or harsh environments. We classify aerial, underwater, space, and agricultural robots by their operating medium, mobility constraints, energy/communication limits, and typical autonomy levels. Using your background in Linear Control, we introduce compact dynamical models (linearized where appropriate) that reveal why each field class has distinctive design and control signatures.
1. What Are Field Robots?
A field robot is a robot designed to work outside structured industrial spaces. The environment is typically high-dimensional, time-varying, and only partially observable. In taxonomy, field robots are commonly grouped by the physical medium they traverse: air (aerial), water (underwater), vacuum/microgravity (space), and soil/plant canopies (agricultural).
We describe a robot class by a feature vector \( \mathbf{f} \in \mathbb{R}^d \), e.g.
\[ \mathbf{f} = \begin{bmatrix} m \\ d_{\text{med}} \\ g_{\text{eff}} \\ \rho_{\text{med}} \\ \ell_{\text{com}} \\ P_{\text{avail}} \\ \kappa_{\text{terrain}} \\ a_{\text{aut}} \end{bmatrix} \]
where \( m \) is mass, \( d_{\text{med}} \) encodes medium type, \( g_{\text{eff}} \) effective gravity, \( \rho_{\text{med}} \) medium density, \( \ell_{\text{com}} \) communication latency/range, \( P_{\text{avail}} \) available power, \( \kappa_{\text{terrain}} \) terrain/flow roughness index, and \( a_{\text{aut}} \) autonomy level. Classification can be posed as distance-based clustering or rule-based labeling.
flowchart LR
A["Field Robots"] --> B["Aerial"]
A --> C["Underwater"]
A --> D["Space"]
A --> E["Agricultural"]
B --> B1["Fixed-wing UAV"]
B --> B2["Rotorcraft UAV"]
B --> B3["Hybrid VTOL"]
C --> C1["ROV (tethered)"]
C --> C2["AUV (autonomous)"]
C --> C3["Glider"]
D --> D1["Orbital / free-flyer"]
D --> D2["Planetary rover"]
D --> D3["On-orbit manipulator"]
E --> E1["Ground UGV"]
E --> E2["Aerial sprayer"]
E --> E3["Swarm / multi-robot"]
2. Aerial Field Robots (UAVs)
Aerial robots operate in a low-density medium with significant gravity and aerodynamic drag. Their taxonomy is driven by lift generation: fixed-wing, rotorcraft, and hybrid VTOL. The medium enables fast 3D motion but demands continuous energy to oppose gravity.
2.1 Linearized Hover Dynamics (Rotorcraft)
Around hover, small-angle approximations yield a linear time-invariant model. Let the state be \( \mathbf{x}=[x,y,z,\dot{x},\dot{y},\dot{z},\phi,\theta,\psi,p,q,r]^T \), where \( \phi,\theta,\psi \) are roll, pitch, yaw. With thrust perturbation \( u_T \) and body torque inputs \( \boldsymbol{\tau}=[\tau_\phi,\tau_\theta,\tau_\psi]^T \), the translational linearization gives:
\[ \begin{aligned} \ddot{x} &\approx g\,\theta, \\ \ddot{y} &\approx -g\,\phi, \\ \ddot{z} &\approx \frac{1}{m}u_T, \end{aligned} \qquad \dot{\boldsymbol{\eta}} = \begin{bmatrix} \dot{\phi}\\\dot{\theta}\\\dot{\psi} \end{bmatrix} \approx \begin{bmatrix} p\\q\\r \end{bmatrix} \]
Rotational dynamics near hover are:
\[ \mathbf{J}\dot{\boldsymbol{\omega}} = \boldsymbol{\tau}, \quad \boldsymbol{\omega}=[p,q,r]^T \]
Combining yields a block-triangular state-space model \( \dot{\mathbf{x}}=\mathbf{A}\mathbf{x}+\mathbf{B}\mathbf{u} \). Since translational accelerations depend on angles, attitude control is a prerequisite for position regulation—this coupling is a defining feature in aerial robot taxonomy.
2.2 Controllability Sketch
Consider the reduced hover subsystem \( \mathbf{x}_r=[x,\dot{x},\theta,q]^T \) with input \( u_\theta=\tau_\theta \):
\[ \dot{\mathbf{x}}_r = \begin{bmatrix} 0 & 1 & 0 & 0\\ 0 & 0 & g & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\mathbf{x}_r + \begin{bmatrix} 0\\0\\0\\ J_\theta^{-1} \end{bmatrix}u_\theta \]
The controllability matrix \( \mathcal{C}=[\mathbf{B},\mathbf{A}\mathbf{B},\mathbf{A}^2\mathbf{B},\mathbf{A}^3\mathbf{B}] \) has rank 4 because \( J_\theta^{-1} \neq 0 \) and \( g \neq 0 \), so the chain \( u_\theta \rightarrow q \rightarrow \theta \rightarrow \ddot{x} \rightarrow x \) spans all states. Thus, hover position is controllable through attitude.
3. Underwater Field Robots (ROVs & AUVs)
Underwater robots operate in a dense, viscous medium with buoyancy and strong drag. Their taxonomy focuses on tethering and autonomy: ROVs (Remotely Operated Vehicles, tethered) vs. AUVs (Autonomous Underwater Vehicles, untethered), plus gliders that exploit buoyancy changes for transport.
3.1 Buoyancy and Neutral Balance
Let displaced volume be \( V \). Buoyant force is \( B = \rho_w g V \), weight is \( W = mg \). Neutral buoyancy (common in AUVs) requires:
\[ B=W \;\;\Longleftrightarrow\;\; \rho_w V = m \]
This constraint shapes the platform class: gliders choose \( B-W \) as a controllable variable to trade speed for endurance.
3.2 Linearized Depth–Pitch Model
A minimal depth controller uses heave velocity \( w \), depth \( z \) (positive downward), pitch \( \theta \), and pitch rate \( q \). Small-perturbation hydrodynamics yield:
\[ \begin{aligned} \dot{z} &= w,\\ (m+m_a)\dot{w} &= -d_w w + (B-W)\theta + u_z,\\ \dot{\theta} &= q,\\ (J_y+J_a)\dot{q} &= -d_q q + u_\theta, \end{aligned} \]
where \( m_a,J_a \) are added mass/inertia, and \( d_w,d_q > 0 \) are drag coefficients. High drag makes underwater dynamics “naturally damped,” contrasting aerial robots.
4. Space Field Robots
Space robots include free-flying orbital robots (inspection, servicing), on-orbit manipulators, and planetary/asteroid rovers. Their medium is microgravity and vacuum, so aerodynamic drag is negligible, but communication latency and energy constraints dominate.
4.1 Two-Body Orbital Dynamics
The baseline motion of an orbital robot relative to a central body is:
\[ \ddot{\mathbf{r}} = -\mu \frac{\mathbf{r}}{\|\mathbf{r}\|^3} + \mathbf{u}, \quad \mu = GM \]
where \( \mathbf{u} \) is thrust acceleration. This embeds field robotics into celestial mechanics.
4.2 Linearized Relative Motion (Hill/Clohessy–Wiltshire)
For two nearby spacecraft in circular orbit of mean motion \( n \), the deputy’s relative state \( (x,y,z) \) satisfies:
\[ \begin{aligned} \ddot{x} - 2n\dot{y} - 3n^2 x &= u_x,\\ \ddot{y} + 2n\dot{x} &= u_y,\\ \ddot{z} + n^2 z &= u_z. \end{aligned} \]
Taxonomic meaning: orbital robots are governed by linear time-invariant relative dynamics around a moving reference, unlike aerial/underwater robots constrained by a fixed gravity frame.
5. Agricultural Field Robots
Agricultural robots work on farms, orchards, or greenhouses. They are typically ground mobile robots (UGVs), sometimes complemented by aerial sprayers. The taxonomy is driven by task structure (row-following, harvesting, weeding, scouting) and by terrain interaction.
5.1 Kinematic Bicycle Model for Row Navigation
Many agri-UGVs approximate to a bicycle model with wheelbase \( L \), speed \( v \), steering \( \delta \):
\[ \begin{aligned} \dot{x} &= v\cos\psi,\\ \dot{y} &= v\sin\psi,\\ \dot{\psi} &= \frac{v}{L}\tan\delta. \end{aligned} \]
Linearizing about straight motion \( \psi\approx 0, \delta\approx 0 \) yields:
\[ \dot{y} \approx v \psi, \qquad \dot{\psi} \approx \frac{v}{L}\delta. \]
Hence lateral error \( y \) is a double integrator in steering input, making classical PD/LQR row controllers natural—again leveraging linear control expertise.
flowchart LR
M["Medium"] --> A1["Air: low density, gravity dominated"]
M --> W1["Water: high density, buoyancy+drag"]
M --> S1["Space: microgravity, vacuum"]
M --> G1["Soil/canopy: contact+terrain"]
A1 --> C1["High speed, high power draw"]
W1 --> C2["Slow, damped, long endurance"]
S1 --> C3["Low drag, high latency"]
G1 --> C4["Contact limits, slip, structured rows"]
6. Cross-Class Comparison and Classification Metrics
With feature vectors \( \mathbf{f} \), we can define similarity between robot platforms. A principled metric is the Mahalanobis distance:
\[ d_M(\mathbf{f}_1,\mathbf{f}_2) = \sqrt{(\mathbf{f}_1-\mathbf{f}_2)^T \mathbf{\Sigma}^{-1} (\mathbf{f}_1-\mathbf{f}_2)} \]
where \( \mathbf{\Sigma} \) is a covariance model capturing how features co-vary within a taxonomy dataset. If \( d_M \) is small, platforms are taxonomically similar.
A simple classifier assigns class label \( c^\star \) by nearest centroid:
\[ c^\star = \arg\min_{c \in \mathcal{C}} d_M(\mathbf{f}, \bar{\mathbf{f}}_c) \]
This formalizes “environment-driven” classification used throughout field robotics.
7. Computational Illustrations (Python, C++, Java, Matlab/Simulink)
Field-robot taxonomy benefits from simple simulations that expose medium-specific dynamics. Below we provide compact examples. (We avoid ROS here because ROS concepts appear in Chapter 12.)
7.1 Python: Linear Hover Model Simulation (Quadrotor)
import numpy as np
from scipy.linalg import expm
g = 9.81
Jtheta = 0.02 # pitch inertia (kg*m^2)
dt = 0.01
# Reduced hover subsystem: [x, xdot, theta, q]
A = np.array([[0, 1, 0, 0],
[0, 0, g, 0],
[0, 0, 0, 1],
[0, 0, 0, 0]])
B = np.array([[0],
[0],
[0],
[1.0/Jtheta]])
# Discretize exactly
Ad = expm(A*dt)
Bd = np.linalg.solve(A, (Ad - np.eye(4))) @ B
# Simple PD on theta for position regulation
Kx = np.array([0.8, 1.2, 6.0, 2.5]) # hand-tuned gains
x = np.zeros((4,1))
x[0,0] = 1.0 # 1 m initial error
traj = []
for k in range(2000):
u = -Kx @ x
x = Ad @ x + Bd @ u.reshape(1,1)
traj.append(x.flatten())
traj = np.array(traj)
print("final state:", traj[-1])
Common field-robot Python libraries include: NumPy/SciPy for modeling;
the control package for LTI analysis; and domain-specific
simulators (e.g., AirSim, PyBullet) used later in the course.
7.2 C++: Same Subsystem with Eigen
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main(){
double g = 9.81, Jtheta = 0.02, dt = 0.01;
Matrix4d A; A << 0,1,0,0,
0,0,g,0,
0,0,0,1,
0,0,0,0;
Vector4d B; B << 0,0,0,1.0/Jtheta;
Matrix4d Ad = (A*dt).exp(); // Eigen matrix exponential
Vector4d Bd = A.fullPivLu().solve((Ad-Matrix4d::Identity())*B);
RowVector4d Kx; Kx << 0.8, 1.2, 6.0, 2.5;
Vector4d x; x.setZero(); x(0)=1.0;
for(int k=0;k<2000;k++){
double u = -(Kx*x)(0);
x = Ad*x + Bd*u;
}
std::cout << "final state:\n" << x << std::endl;
}
C++ field-robot stacks frequently rely on Eigen for math, and simulation engines such as Gazebo or Isaac (introduced in Chapter 13).
7.3 Java: Nearest-Centroid Taxonomy Classifier
import java.util.*;
public class FieldRobotClassifier {
static double mahalanobis(double[] f, double[] mu, double[][] SigmaInv){
double[] d = new double[f.length];
for(int i=0;i<f.length;i++) d[i]=f[i]-mu[i];
double sum=0;
for(int i=0;i<f.length;i++)
for(int j=0;j<f.length;j++)
sum += d[i]*SigmaInv[i][j]*d[j];
return Math.sqrt(sum);
}
public static void main(String[] args){
// Example with 3 features: density, gravity, latency
double[] f = {1.2, 9.81, 0.05}; // candidate robot
Map<String,double[]> centroids = new HashMap<>();
centroids.put("Aerial", new double[]{1.2, 9.81, 0.01});
centroids.put("Underwater", new double[]{1000, 9.81, 0.2});
centroids.put("Space", new double[]{0.0, 0.0, 1.0});
double[][] SigmaInv = {
{1.0,0,0},
{0,1.0,0},
{0,0,1.0}
};
String best=null; double bestD=1e9;
for(String c: centroids.keySet()){
double d = mahalanobis(f, centroids.get(c), SigmaInv);
if(d < bestD){ bestD=d; best=c; }
}
System.out.println("classified as: " + best);
}
}
Java is less common in low-level robotics but useful for high-level autonomy tools and classification dashboards.
7.4 Matlab/Simulink: State-Space and LQR for Hover
g = 9.81; Jtheta = 0.02;
A = [0 1 0 0;
0 0 g 0;
0 0 0 1;
0 0 0 0];
B = [0;0;0;1/Jtheta];
Q = diag([10, 2, 50, 5]); % penalize position+attitude
R = 0.1; % control effort
K = lqr(A,B,Q,R);
Acl = A - B*K;
sys_cl = ss(Acl, B, eye(4), 0);
step(sys_cl(1,1)); grid on;
title('Closed-loop step response for x with LQR hover control');
Simulink sketch: use a State-Space block with (A,B,C,D), feed back output through a Gain block implementing \( K \), and close the loop. This mirrors typical UAV and AUV controller prototyping workflows.
8. Problems and Solutions
Problem 1 (Neutral Buoyancy): An AUV of mass \( m=120 \) kg operates in seawater with density \( \rho_w=1025 \) kg/m3. Compute the displaced volume \( V \) needed for neutral buoyancy.
Solution: Neutral buoyancy requires \( \rho_w V = m \), so
\[ V = \frac{m}{\rho_w} = \frac{120}{1025} \approx 1.1707\times 10^{-1}\ \text{m}^3. \]
Problem 2 (Hover Subsystem Eigenvalues): For the reduced aerial hover model in Section 2.2, find eigenvalues of \( \mathbf{A} \). Interpret in terms of open-loop stability.
Solution: \( \mathbf{A} \) is nilpotent upper-triangular with all diagonal entries zero, therefore all eigenvalues are zero:
\[ \lambda_i(\mathbf{A}) = 0,\quad i=1,\dots,4. \]
This indicates marginal (integrator-chain) dynamics—hover needs feedback for stability and performance, typical for rotorcraft UAVs.
Problem 3 (Hill Equation Decoupling): Show that the \( z \)-axis in the Hill/CW equations is a stable oscillator when \( u_z=0 \).
Solution: With \( u_z=0 \), \( \ddot{z} + n^2 z = 0 \). Characteristic polynomial is \( s^2 + n^2 = 0 \) with roots \( s=\pm jn \). Hence
\[ z(t)=A\cos(nt)+B\sin(nt), \]
bounded for all time. Relative motion out of plane is neutrally stable oscillation—important for orbital robot rendezvous taxonomy.
Problem 4 (Row-Following Linearization): Starting from the bicycle model, linearize about \( \psi=0,\delta=0 \) and derive a second-order ODE from steering input to lateral error.
Solution: From Section 5.1: \( \dot{y} \approx v\psi \) and \( \dot{\psi} \approx \frac{v}{L}\delta \). Differentiate the first equation:
\[ \ddot{y} \approx v\dot{\psi} \approx v\frac{v}{L}\delta = \frac{v^2}{L}\delta. \]
Thus the row error is a double integrator scaled by \( v^2/L \), explaining why PD/LQR designs are standard in agricultural UGVs.
Problem 5 (Feature-Vector Classification): Two robots have features \( \mathbf{f}_1=[m,\rho_{\text{med}},g_{\text{eff}}]^T=[5,1.2,9.81]^T \) and \( \mathbf{f}_2=[5,1000,9.81]^T \). Using Euclidean distance, which is more similar to an aerial centroid \( \bar{\mathbf{f}}_A=[4,1.2,9.81]^T \)?
Solution:
\[ \|\mathbf{f}_1-\bar{\mathbf{f}}_A\| = \sqrt{(5-4)^2+(1.2-1.2)^2+(9.81-9.81)^2}=1. \]
\[ \|\mathbf{f}_2-\bar{\mathbf{f}}_A\| = \sqrt{(5-4)^2+(1000-1.2)^2+0^2}\approx 998.8. \]
So \( \mathbf{f}_1 \) is far more aerial-like than \( \mathbf{f}_2 \).
9. Summary
Field robots are classified primarily by the medium in which they operate. Aerial robots exhibit gravity-dominated, weakly damped dynamics; underwater robots show buoyancy constraints and strong drag; space robots are governed by orbital mechanics and communication latency; agricultural robots are terrain-contact systems often modeled by ground-vehicle kinematics. Simple linearized models reveal why each field class demands different hardware, power, and autonomy trade-offs, forming a principled taxonomy beyond application labels.
10. References
- Mahony, R., Kumar, V., & Corke, P. (2012). Multirotor aerial vehicles: Modeling, estimation, and control. IEEE Robotics & Automation Magazine, 19(3), 20–32.
- Fossen, T.I. (1994). Guidance and control of ocean vehicles. Wiley Series in Systems and Control (foundational theory).
- Leonard, N.E., & Graver, J.G. (2001). Model-based feedback control of autonomous underwater vehicles. IEEE Journal of Oceanic Engineering, 26(4), 633–645.
- Clohessy, W.H., & Wiltshire, R.S. (1960). Terminal guidance system for satellite rendezvous. Journal of the Aerospace Sciences, 27(9), 653–658.
- Wie, B. (1998). Space vehicle dynamics and control: state of the art. Journal of Guidance, Control, and Dynamics, 21(4), 748–756.
- Astolfi, A., & Dalla Mora, M. (2006). A tutorial on vehicle lateral control for path tracking. European Journal of Control, 12(5), 420–439.
- Burgard, W., et al. (1998). Coordinated multi-robot exploration. IEEE Transactions on Robotics, 14(3), 376–386.
- Thrun, S. (2004). Toward a framework for human-robot interaction. Human–Computer Interaction, 19(1–2), 9–24. (theoretical autonomy context for field robots)