Skip to content

Graduation-Project-Team-Manara-Uni/Autonomous-Carlike-Robot-for-Real-Time-Target-Following

Repository files navigation

Autonomous Car-like Robot for Real-Time Target Following

An autonomous car-like robot capable of following a moving target in real-time. Powered by an NVIDIA Jetson Nano and an Intel RealSense D435i depth camera with an integrated IMU, the system combines Deep Learning, Computer Vision and Control Theory to achieve robust performance.

  • Object detection: MobileNetV2-SSD for real-time tracking
  • Control: Lyapunov optimization & Robust Sliding Mode Control
  • Simulation: MATLAB/Simulink and ROS (RViz visualization)
  • Applications: object-following (leader-following) robots, autonomous ground vehicles, research & teaching

📑 Table of Contents

  1. Overview
  2. Features
  3. Project Structure
  4. Installation & Usage
  5. Robot Design
  6. Simulations & Results
  7. Team Members
  8. License

🚘 Overview

The goal of this project is to design and implement an autonomous car-like robot that can:

  • Follow a moving target in real-time
  • Maintain a desired distance between robot and target
  • Handle car-like (non-holonomic) kinematics

The project has been tested through:

  • MATLAB/Simulink simulations (control & system identification)
  • ROS & RViz visualization
  • Experimental validation on a real robot following a human (person) in a multi-object environment

⚠️ Note: Obstacle avoidance is not included. The environment should contain only one object of the "object" class.


✨ Features

  • ✅ Real-time target detection with MobileNetV2 SSD
  • ✅ Car-like kinematics (Anti-Ackermann steering)
  • ✅ Differential mechanism driving force
  • ✅ MATLAB/Simulink simulations of control algorithms
  • ✅ ROS/RViz simulation environment
  • ✅ System identification for DC motor parameters
  • ✅ Steering angle curve fitting (MATLAB)
  • ✅ Python main control & vision codes

📂 Project Structure

Autonomous-Carlike-Robot-for-Real-Time-Target-Following/
│
├── python_codes/
│   ├── controller.py
│   ├── vision.py
│   └── IMU.py
│
├── matlab_simulation/
│   ├── Simulink.slx
│   ├── Animation.m
│   └── Parameters.m
│
├── system_identification/
│   ├── DC_motor_data.m
│   └── DC_motor_system_identification_tool.sid
│
├── curve_fitting/
│   ├── steering_angle_data.m
│   └── steering_curve_fitting_tool.sfit
│
├── ros_simulation/
│   ├── launch/
│   ├── worlds/
│   ├── src/
│   └── README.md
│
├── LICENSE
└── README.md

Installation & Usage

  1. Clone the repository: git clone https://github.com/Graduation-Project-team-manara-uni/Autonomous-Carlike-Robot-for-Real-Time-Target-Following.git cd Autonomous-Carlike-Robot-for-Real-Time-Target-Following
  2. Install Jetpack and Python dependencies in this repository: https://github.com/Qengineering/Jetson-Nano-Ubuntu-20-image
  3. MATLAB simulation: open and run Parameters.m open and run Simulink.slx open and run Animation.m
  4. ros_simulation: Ensure you have ROS Noetic installed. write roslaunch carlike robot.launch on the terminal.
  5. How to run the project. write python3 IMU.py & vision.py & controller.py on terminal

Robot Design

Assembled Robot:

image image image image

Fabricated Parts:

image image image image image

Simulations & Results

object detection and computer vision rsults: image

steering angle curve fitting results: image

image

Dc parameters estmiation: image matlab simulation results for static object: image matlab simulation results for moving object: image

Experemental Results: image image image


Team Members:

karam alhawat Ali Ali Saleh Rabea


License:

This project is licensed under the License.


About

An autonomous car-like robot for real-time target following. The system, powered by an NVIDIA Jetson Nano, uses an Intel RealSense D435 camera with an integrated IMU for 3D perception and state estimation. MobileNet SSD handles object tracking, while precise and stable motion is achieved using Lyapunov optimization and Robust Sliding Mode Control.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors