This project implements a robust Event-Triggered Adaptive Control system in MATLAB. It is designed to simulate a robotic system navigating a trajectory while minimizing communication bandwidth between sensors and the controller without sacrificing tracking performance.
Traditional control systems are "Time-Triggered," meaning they send data at fixed intervals (e.g., every 0.01s). In contrast, this Event-Triggered approach only transmits data when a specific error threshold is exceeded. This is particularly useful for remote robotics or IoT devices where saving battery and network bandwidth is critical.
- Adaptive Law: Estimates unknown system parameters (Mass, Friction, and External Disturbances) in real-time.
-
Event-Triggering Condition: Uses a relative threshold (
$\sigma |x|^2 + \delta$ ) to decide when to broadcast state updates. -
Hybrid Simulation: Solves the common
ode45integration tolerance errors by using a segmented hybrid loop. - Stability Enhancements: Implements Parameter Projection (clamping) and a Dead-Zone to prevent numerical singularities and "Zeno" behavior.
MRS_Final_Stable.m: The main entry point. Handles the hybrid simulation loop and manages the event-triggering logic.dynamics_final.m: Contains the physical system dynamics and the adaptive control laws.analyze.m: Independent script to calculate and display Communication Savings and performance metrics.
The system generates a Communication Report comparing the ETAC behavior against a hypothetical 100Hz fixed-rate sensor.
- Tracking: Maintains high precision on a linear trajectory.
-
Efficiency: Typically achieves 80-90% communication savings depending on the sensitivity parameters (
$\sigma, \delta$ ).
- Ensure both
MRS_Final_Stable.manddynamics_final.mare in the same MATLAB directory. - Run
MRS_Final_Stable.m. - View the Command Window for the Communication Savings report and the generated plots for trajectory tracking and trigger instances.
- MATLAB (R2021a or later recommended)
- No additional toolboxes required.