This project implements fuzzy control to adjust the speed of the right and left motors based on position error and change in position error in a line follower robot. This robot is able to follow a predetermined line path by relying on the camera to detect the center of the line (arena) and adjust the motor speed to keep the robot stable and on track. With digital image processing and fuzzy algorithms, the robot will gets the best performance.
- Fuzzy Control: Uses fuzzy control to adjust motor speed based on error and change in error (delta error).
- Line Center Detection: Uses OpenCV to process images from the camera and detect the line center.
- Data Storage: Saved the error, delta error, and motor speed data (LMS and RMS) into a CSV file for further analysis.
- Data Visualization and Analysis: Plot graphs of error, delta error, LMS, and RMS and calculate and display rise time, settling time, average error, delta error, and error mode.
- Robot Movement Map: Display the robot movement map for movement pattern analysis.
- Python 3.6 or higher
- NumPy
- OpenCv
- Matplotlib
- Scikit-Fuzzy
- Webots
- Clone repository
$ git clone https://github.com/frostdev03/LineFollowerRobotWithCamera $ cd LineFollowerRobotWithCamera
- Install dependency
$ pip install -r requirements
- Select the required controller
- Run
- lfr_cam_fuzzy.py: The main script to control the line follower robot.
- robot_readings.csv: CSV file to store error, delta error, and motor speed data.
- olah_data.ipynb: Script to visualize and analyze the collected data.
- README.md: Project description.
- https://www.neliti.com/id/publications/66722/penerapan-logika-fuzzy-dan-pulse-width-modulation-untuk-sistem-kendali-kecepatan
- https://www.youtube.com/watch?v=D0jhvFZJ5Ok
- https://youtu.be/ZiRJDt-Wo8E?si=TYKJqeapcs8LqrDk
- https://youtu.be/fRqwrIbjFTs
- https://youtu.be/UieEEyVY2J4?si=aYjkGU8v1GYzxi4Q
- https://youtu.be/HV6_usN4unc?si=AM7EdT1PBQ4XA-hd
- https://www.youtube.com/watch?v=nLnp0tpZ0ok