Theoretical Background: Navigation Fundamentals
Module 4 Theory: Navigation Fundamentals
4.4 Control Theory Background
4.4.1 Feedback Control Systems
Classic Control Loop:
Reference --> Controller --> Plant --> Output
^ |
<-------- Sensor <-- Error <---------
PID Controller:
Script Implementation (P-Controller):
// Proportional control only: u = Kp * error
angularVel = angleError * 2.0; // Kp = 2.0
4.4.2 Stability Theory
Lyapunov Stability: A system is stable if there exists a Lyapunov function such that:
- for all
- for all
For Navigation: An energy-like function decreases monotonically toward the goal, guaranteeing convergence.
4.5 Robot Kinematics Theory
4.5.1 Differential Drive Kinematics
Kinematic Model:
Constraints:
- Nonholonomic: Cannot move sideways (lateral velocity is always zero)
- Velocity constraints: ,
4.5.2 Configuration Space
C-Space: The space of all possible robot configurations, partitioned as:
- Free space : collision-free configurations
- Obstacle space : configurations causing collision
Minkowski Sum:, where the obstacle is inflated by the robot geometry, reducing planning to a point-robot problem.
4.6 Behaviour-Based Robotics Theory
4.6.1 Subsumption Architecture
Layered Approach:
Level 3: Plan changes to world
Level 2: Identify objects
Level 1: Explore world
Level 0: Avoid obstacles <-- highest priority
Key Principles:
- Lower levels can subsume (override) higher levels
- No central world model is required
- Complex behaviour emerges from simple layered rules
4.6.2 Behaviour Fusion vs. Arbitration
Fusion (Weighted Combination):
Arbitration (Winner-Takes-All):
Script Implementation (Arbitration):
if (obstacleAvoidance.needsAvoidance) {
// Obstacle avoidance wins
} else {
// Goal-seeking behaviour
}
4.7 Potential Field Theory
4.7.1 Artificial Potential Fields
Attractive Potential (toward goal):
Repulsive Potential (away from obstacles):
Total Potential:
Force (negative gradient of potential):
4.7.2 Script Implementation Analysis
Attractive Force (Proportional Control):
// Proportional to angle error
angularVel = angleError * 2.0;
Repulsive Force (Obstacle Avoidance):
// Inverse relationship with distance
repulsiveForce = 1.0 - minDistance / obstacleThreshold;
angularVel = avoidanceDirection * repulsiveForce;
4.8 Path Planning Theory
4.8.1 Configuration Space Planning
Roadmap Methods:
- Sample configurations in C-space
- Connect samples with simple, collision-free paths
- Search the resulting graph (A*, Dijkstra)
Cell Decomposition:
- Decompose free space into convex cells
- Plan a path through the cell sequence
4.8.2 Reactive vs. Deliberative Planning
Deliberative (Global Planning):
World Model --> Plan --> Execute
Reactive (Local Planning):
Sensors --> Action (no explicit world model)
Hybrid Approach (Script Implementation):
Global Goal + Local Reactive Avoidance
4.9 Obstacle Avoidance Theory
4.9.1 Vector Field Histogram (VFH)
Polar Histogram:
- Divide the sensor range into angular sectors
- Calculate obstacle density per sector from range data
- Choose the movement direction with the lowest obstacle density
4.9.2 Dynamic Window Approach (DWA)
Velocity Space Search:
- Generate velocity candidates within the dynamic window
- Predict the forward trajectory for each candidate
- Evaluate each trajectory with the cost function
- Select the velocity pair with minimum cost
Cost Function:
where , , are weighting coefficients balancing goal alignment, obstacle clearance, and forward progress respectively.
4.10 Motion Control Theory
4.10.1 Trajectory Tracking
Reference Trajectory: , ,
Error Dynamics:
Control Law (trajectory tracking):
4.10.2 Point Stabilization
Goal: Drive the robot to a target point .
Polar Coordinates:
where is the distance to the goal, is the bearing angle, and is the heading angle.
Control Law:
4.11 Real-Time Systems Theory
4.11.1 Control System Timing
Sample Rate Selection:
- Shannon–Nyquist criterion: (sample at least twice the highest signal frequency)
- Rule of thumb: 10–20 faster than the system dynamics
- Script: 10 Hz for navigation — a reasonable rate for a mobile robot
4.11.2 Computational Complexity
Real-Time Constraint:
Algorithm Complexity:
- Sensor processing: , where is the number of laser points
- Obstacle avoidance: linear scan over sensor data
- Goal seeking: proportional control
4.12 Sensor-Based Navigation Theory
4.12.1 Reactive Navigation
Bug Algorithms:
- Bug 0: Follow the obstacle boundary until closer to the goal, then leave the boundary.
- Bug 1: Circumnavigate the entire obstacle; depart from the point closest to the goal.
- Bug 2: Follow the -line (straight line from start to goal); leave the boundary when the -line is re-encountered closer to the goal.
4.12.2 Sensor Fusion
Multiple Sensor Modalities:
- Laser: Accurate range measurements, limited field of view
- Sonar: Wide beam angle, susceptible to multiple reflections
- Vision: Rich semantic information, computationally expensive
Sensor Model (independence assumption):
where is the set of sensor measurements, is the robot state, and is the map.
4.13 Performance Analysis Theory
4.13.1 Stability Analysis
Convergence Conditions:
- The goal is an attractive fixed point of the system
- No local minima exist in the potential field (or are handled by escape strategies)
- System energy decreases monotonically:
4.13.2 Robustness Analysis
Perturbation Bounds:
- Sensor noise tolerance: Maximum noise level before navigation degrades
- Actuator uncertainty: Wheel slip and model parameter variations
- Model parameter variations: Robustness to calibration error
Safety Guarantees:
- Collision avoidance: as , creating an impenetrable repulsive barrier
- Velocity limits: Control saturation enforces ,
- Emergency stops: Highest-priority behaviour overrides all others
Integration: Theory to Practice
How Theory Connects to Script Implementation
SLAM Theory --> Script Practice:
Bayesian Inference --> ROS backend (slam_toolbox)
Coordinate Transforms --> updateLaserVisualization()
Occupancy Grids --> drawOccupancyGrid()
State Estimation --> updateOdometry()
Navigation Theory --> Script Practice:
Proportional Control --> updateNavigation()
Potential Fields --> calculateObstacleAvoidance()
Behaviour Arbitration --> navigationMode switching
Real-Time Control --> 10 Hz navigation loop
Theoretical Design Choices
Why Proportional Control? Simple, stable, and real-time capable. No integral windup issues. Sufficient for demonstration and teleoperation scenarios where the disturbance environment is benign.
Why Potential Fields? Reactive navigation requires no path planning step, making it computationally efficient and suitable for dynamic environments. Natural behaviour emergence means obstacle avoidance and goal seeking combine seamlessly through superposition.
Why Behaviour-Based Architecture? Modular design makes the system easy to understand, debug, and extend. Adding a new behaviour requires only defining its priority level relative to existing layers. The architecture is inherently robust to sensor failures: if one sensor-driven behaviour fails, lower-priority layers continue to operate.
This theoretical foundation explains why the algorithms in the demonstration script work, when they might fail, and how they could be improved with more sophisticated techniques.