Skip to content

Set of fuzzy systems to control a right edge following, obstacle avoiding robot.

Notifications You must be signed in to change notification settings

AndresSaldanaRdz/Fuzzy-Systems-Robot-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fuzzy-Systems-Robot-Controller

There are 4 python files found in this repository, all with the purpose of controlling the behavior of a small robot with 2 wheels and a LiDAR Scanner, each code instructs the robot to follows its right edge wall, avoids obstacles or combine both behaviors. There are also videos showcasing the different codes in action, except for "fc_combo" as the video was too heavy.

  • Pid.py, is a a simple Proportional–integral–derivative controller (PID) tuned so the robot followed the wall located on its right edge from various starting positions. The controller can be found in the function “PIDcontroller”

  • fc_ref.py, implements a complete fuzzy system coded manually. Meaning no external libraries outside were used for the controllers development. It goes through the different stages of fuzzy systems from fuzzyfing the input, declaring membership functions, establishing a rule base, etc. This code used two readings from the right part of the LiDAR Scanner to determine the angular and motor speed needed to follow a right wall and not crash into it. It can even turn corners.

  • fc_oa.py, uses the same fuzzy system as fc_ref.py just modifying the membership functions

  • fc_combo.py, combines both behaviors using context blending or subsumption, to create a robot that follows a right edge wall and can avoid obstacles.

About

Set of fuzzy systems to control a right edge following, obstacle avoiding robot.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages