Most robots have a car like design which means, they are operating on 4 wheels. A more complicated to realize idea is, to use only 2 wheels and balance the system in realtime. The resulting robot isn't stabilized as default but the wheels have to adapt to the environment otherwise the system will fall. If additionally some kind of push recovery should be implemented the overall control system will become complex.

A naive approach in dealing with uncertainty is a Fuzzy logic controller.[1] On the first look the linguistic variables and the rules are able to stabilize the system. It seems to be a reasonable plan use such a system for controlling a Lego Mindstorms EV3 robot.[2] The problem is, that a normal python dictionary which contains the string,value pairs would solve the stabilizing problem as well and there is no need for a dedicated fuzzy inference system. Not the problem of push recovery was solved in both papers, but the idea was to promote a certain philosophy which is based on non-classical logic.

In general, Fuzzy control is overestimated. The bottleneck in robotics is not, if an abstract member is part of a set or not, but robotics is about computer programming. A carefully designed Python script is able to control a system autonomously, and the way in doing so is trial and error. Powerful techniques like neural networks and graph search can help to solve this task more easily. There is no need for Fuzzy logic.


  1. Chouhan, Abhijeet Singh, Dayal R. Parhi, and Animesh Chhotray. "Control and Balancing of Two-Wheeled Mobile Robots using Sugeno Fuzzy Logic in the domain of AI Techniques." Emerging trends in Engineering, Science and Manufacturing,(ETESM-2018), IGIT, Sarang, India (2018).
  2. Maharuddin, M. F., NM Abdul Ghani, and N. F. Jamin. "Two-Wheeled LEGO EV3 Robot Stabilisation Control Using Fuzzy Logic Based PSO Algorithm." Journal of Telecommunication, Electronic and Computer Engineering (JTEC) 10.2-5 (2018): 149-153.
Community content is available under CC-BY-SA unless otherwise noted.