← All modules

4.4 Navigation Fundamentals

Draft — not verified

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)

  1. Generate velocity candidates within the dynamic window
  2. Predict the forward trajectory for each candidate
  3. Evaluate each trajectory with the cost function
  4. 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.