Skip to content

AI-Driven Control Strategy for Differential Drive Wheeled Mobile Robots: Neural Network-Based Parameter Optimization and Real-Time Stabilization for Discretized Path Tracking.

License

Notifications You must be signed in to change notification settings

B-A-IntelliBots/AI-optimized-LQR-Lyapunov-Control-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

License: Apache 2.0 MATLAB Python ROS Arduino

AI-Optimized LQR-Lyapunov Control System

This project presents the design, modeling, simulation, and control of a camera-equipped differential-drive robotic platform for environment mapping and 3D reconstruction.
The robot autonomously navigates a discretized path, stopping at specific points to capture images for mapping.

Discretized Path Tracking

πŸ“– Overview & Methodology

1. Vehicle Modeling

The kinematic and dynamic models of the robot were derived under ideal motion conditions (no slip, slide, or bounce).

2. Control Objectives

The control system was designed to meet the following objectives:

  1. Trajectory adherence
    The path between consecutive reference points should converge to the straight line connecting them.
  2. Arrival heading angle
    Upon reaching a target point, the robot’s heading should align with the inclination angle of the line connecting start and target points, ensuring smooth transitions.
  3. Elapsed time
    The traversal time between two target points should be minimal.

These objectives are combined into a single performance error metric, which facilitates optimal control gain selection.

3. Control System Design

The controller was structured into two loops:

  • High-level control loop
    Generates linear and angular reference velocity profiles that guide the robot to the target.

    • Uses Lyapunov stability criterion for stable velocity profiles (based on position/orientation errors).
    • Incorporates an MLP neural network to adaptively choose optimal control gains.
  • Low-level control loop
    Ensures the dynamic system tracks the reference velocities quickly.

    • Uses LQR method with a full-order observer.

4. Neural Network Training

The MLP neural network selects optimal high-level control gains that balance the three objectives.

Neural Network Architecture

5. MATLAB Simulation

The trained neural network was integrated into MATLAB simulations to evaluate performance on various paths.

The table below shows:

  • Row 1: Neural network-based controller (PNN) outperforming Lyapunov and PID controllers.
  • Row 2: PNN performance on discretized Line, Circle, and Infinity-shaped trajectories.

6. ROS and Gazebo Simulation

The control algorithm was ported to ROS for execution on a Raspberry Pi, with an Arduino acting as an interface for motors and sensors (via serial communication).

  • ROS nodes: src

Gazebo Simulation

Before real-world deployment, the robot was tested in Gazebo under realistic conditions:

---

πŸŽ₯ Demo Video

This video shows the robotic platform achieving the task of tracking a discretized path:

FULL_CONTROL.mp4

πŸš€ Quick Start

Prerequisites

  • OS/Tooling: Python β‰₯ 3.10, ROS Noetic, MATLAB 2014a+

Installation & Usage

# Clone repository
git clone https://github.com/B-A-IntelliBots/AI-optimized-LQR-Lyapunov-Control-System.git

# Build ROS workspace
cd ~/catkin_ws/src
ln -s /path/to/AI-optimized-LQR-Lyapunov-Control-System/DDWMR .
cd ~/catkin_ws
catkin_make
# Make sure that the serial communication betweeb Arduino and Raspbery pi is established via rosserial-noetic-devel package, then run the following command
roslaunch DDWMR start.launch

πŸ“Š Results & Benchmarks

  • The proposed neural network-based controller surpasses the classical control methods such as (PID, fixed_gains Lyapunov) in solving stabilization task.
  • The neural network achieves a better trade-off between all control objectives proposed for this project.
  • The incorporation of LQR method in the low level control loop helped prioritizing energy efficiency.

πŸ› οΈ Technologies Used

  • Programming: MATLAB, Python (with ROS integration)

  • Simulation: MATLAB/Simulink, ROS, Gazebo

  • Hardware: Raspberry Pi, Arduino

πŸ“‚ Project Structure

β”œ DDWMR (main ROS package)
β”‚   β”œβ”€β”€ src          # ROS node files
β”‚   β”œβ”€β”€ srv          # Service definitions
β”‚   β”œβ”€β”€ launch       # Launch files
β”‚   β”œβ”€β”€ CMakeLists.txt
β”‚   β”œβ”€β”€ package.xml
β”œ MLP_training       # Training data & code
β”œ arduino            # Arduino node code
β”œ training_data_generation  # MATLAB scripts for dataset generation
β”œ README.md

πŸ“– Citation

@software{myproject2025,
  author    = {Ali Deeb and Bisher Alsaleh},
  title     = {Autonomous 3D Mapping: AI-Optimized LQR-Lyapunov Control System},
  year      = {2025},
  publisher = {GitHub},
  note      = {Supervised by Prof. Iyad Hatem},
  url       = {https://github.com/B-A-IntelliBots/AI-optimized-LQR-Lyapunov-Control-System}
}

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •