/STM32-Line-Follower-with-PID

This repository contains the implementation of an optimized PID controller for a line follower robot using STM32F103C8 microcontroller and QTR-8RC reflectance sensor array.

Primary LanguageC++MIT LicenseMIT

PID Controller Optimization for Low-cost Line Follower Robots

license DOI

This repository contains the implementation of an optimized PID controller for a line follower robot using STM32F103C8 microcontroller and QTR-8RC reflectance sensor array. For more information about the research, please refer to the paper.

Abstract - In this paper, modification of the classical PID controller and development of open-loop control mechanisms to improve stability and robustness of a differential wheeled robot are discussed. To deploy the algorithm, a test platform has been constructed using low-cost and off-the-shelf components including a microcontroller, reflectance sensor, and motor driver. This paper describes the heuristic approach used in the identification of the system specifications as well as the optimization of the controller. The PID controller is analyzed in detail and the effect of each term is explained in the context of stability. Lastly, the challenges encountered during the development of controller and robot are discussed.

Getting Started

Components

  • STM32F103C8
  • L298N motor driver
  • QTR-8RC reflectance sensor array
  • 6V DC motors x2
  • 12V battery
  • Wheels x2
  • Chassis

Required Software

Build the code

Go to /LineFollower/MDK-ARM directory and open LineFollower.uvprojx project file. You should first build the code and then upload it to the STM32 board.

Authors

License

This project is licensed under the MIT License.