Skip to content

Open-source digital twin for a line-follower robot, integrating MATLAB controller, Unity 3D virtual model, and ESP32 physical robot. Features PID control, UDP/TCP sync, and HTTP dashboard. For university students to modify hardware and external users to simulate or build their own robot. MIT License.

License

Notifications You must be signed in to change notification settings

mins271/Design-and-Implementation-of-Digital-Twin-for-a-Line-Follower-Robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Design and Implementation of Digital Twin for a Line Follower Robot 🤖

Line Follower Robot

Welcome to the Design and Implementation of Digital Twin for a Line Follower Robot repository! This project offers an open-source digital twin for a line-follower robot, merging a MATLAB controller, a Unity 3D virtual model, and an ESP32 physical robot. It is designed for university students and external users who want to modify hardware or simulate their own robots.

Table of Contents

Introduction

Digital twins create a virtual representation of physical systems. In this project, we use a digital twin to model a line-follower robot. The robot can follow a line on the ground using sensors. This repository integrates various technologies to provide a comprehensive learning experience.

Features

  • PID Control: The robot uses Proportional-Integral-Derivative control for precise movement.
  • UDP/TCP Synchronization: The system supports both UDP and TCP protocols for data transmission.
  • HTTP Dashboard: Users can monitor and control the robot through a web-based dashboard.
  • Unity 3D Virtual Model: The virtual model allows users to simulate the robot's behavior in a controlled environment.
  • ESP32 Integration: The project utilizes the ESP32 microcontroller for real-time processing.
  • Modular Design: Users can modify hardware components easily.
  • Educational Focus: Ideal for university students and robotics enthusiasts.

Installation

To get started, clone the repository to your local machine:

git clone https://github.com/mins271/Design-and-Implementation-of-Digital-Twin-for-a-Line-Follower-Robot.git
cd Design-and-Implementation-of-Digital-Twin-for-a-Line-Follower-Robot

Prerequisites

Ensure you have the following installed:

  • MATLAB
  • Unity 3D
  • ESP32 Development Environment
  • Any necessary libraries for MATLAB and Unity

Download and Execute

You can download the latest release from the Releases section. Follow the instructions in the release notes to execute the files.

Usage

After setting up the project, follow these steps to use the digital twin:

  1. Connect the ESP32: Make sure your ESP32 is connected to your computer.
  2. Run the MATLAB Controller: Open MATLAB and run the controller script. This will initiate communication with the ESP32.
  3. Launch Unity: Open the Unity project and run the simulation. You will see the virtual model of the robot.
  4. Monitor via HTTP Dashboard: Access the dashboard through your web browser to control and monitor the robot's movements.

Example

Here’s a simple example of how to control the robot:

% MATLAB script to control the robot
robotSpeed = 5; % Speed of the robot
robotDirection = 'forward'; % Direction

sendCommand(robotSpeed, robotDirection); % Function to send command to ESP32

Contributing

We welcome contributions! If you would like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your branch to your fork.
  5. Open a pull request.

Please ensure your code follows the existing style and includes appropriate tests.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or feedback, please reach out:

Releases

You can find the latest releases of this project here. Download and execute the files to get started.

Topics

This repository covers various topics relevant to robotics and digital twins. Here are some key areas:

  • Design: Focus on the architecture and design of the digital twin.
  • Digital Twins: Explore the concept and implementation of digital twins in robotics.
  • ESP32: Understand how to integrate ESP32 for real-time processing.
  • Implementation: Learn about the implementation details of the project.
  • Integrated Development Environment: Use IDEs effectively for development.
  • Line Follower Robot: Study the mechanics and programming of line-follower robots.
  • MATLAB: Utilize MATLAB for control algorithms.
  • Real-Time Database: Implement real-time data storage and retrieval.
  • Robotics: Gain insights into the field of robotics.
  • TCP/UDP Server: Understand the differences and applications of TCP and UDP protocols.
  • Unity3D: Use Unity3D for simulation and visualization.

Acknowledgments

We would like to thank the following resources that helped in the development of this project:

  • MATLAB Documentation
  • Unity3D Tutorials
  • ESP32 Community Forum

Feel free to explore and contribute to the project. Happy coding!

About

Open-source digital twin for a line-follower robot, integrating MATLAB controller, Unity 3D virtual model, and ESP32 physical robot. Features PID control, UDP/TCP sync, and HTTP dashboard. For university students to modify hardware and external users to simulate or build their own robot. MIT License.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages