Fuzzy logic system design for motion control of mobile robots
2026-04-06 05:59:45··#1
0 Introduction Classical control theory is very effective for solving control problems of linear time-invariant systems; however, it is less effective for nonlinear time-varying systems. With the application and development of computers, automatic control theory has made leaps and bounds. Modern control theory based on state variable description has been widely and successfully applied to solving control problems of linear or nonlinear, time-invariant or time-varying multi-input and multi-output systems. However, control systems using either classical or modern control theory require prior knowledge of the precise mathematical model of the controlled object (or process). Then, based on the mathematical model and given performance indicators, appropriate control laws are selected for control system design. However, in many cases, it is difficult to establish a precise mathematical model of the controlled object, making automatic control difficult for such objects or processes. In fact, for complex production processes influenced by multiple factors, even without knowing the mathematical model of the process, experienced operators can effectively control it based on long-term observation and operational experience, while the results of traditional automatic control methods are less than ideal. However, is it possible to summarize human operational experience into several control rules and design a device to execute these rules, thereby effectively controlling the system? Fuzzy control theory and methods have emerged to address this. 1. Fuzzy Control Principle The principle block diagram of fuzzy control is shown in Figure 1. Fuzzy logic control systems can be used to replace classical control systems or in conjunction with classical control systems to control robots. By applying fuzzy logic, robots can become more unique, intelligent, and useful. This paper designs a fuzzy logic system for the motion control of a mobile robot based on fuzzy control theory. This enables the mobile robot to autonomously adjust its movement speed according to the terrain slope and terrain type, thereby achieving automatic control of the robot's motion. 2. Design of Fuzzy Logic Controller for Mobile Robot 2.1 Determining the Input and Output Variables of the Fuzzy Controller Based on the purpose of this design, to enable the mobile robot to autonomously adjust its movement speed according to the terrain slope and terrain type, this system can be designed as a dual-input single-output system. The terrain slope and terrain type are used as the two inputs, while the movement speed of the mobile robot is used as the control output. 2.2 Fuzzification Fuzzification is the process of converting input and output values into their membership functions. The result of fuzzification is a set of graphs as shown in Figure 2, which describes the membership degrees of different values in different fuzzy variables. To define the variables for fuzzy terrain slope, fuzzy terrain category, and fuzzy motion speed, the desired terrain slope range is fixed at -45° to +45° and divided into five membership functions: "negative high", "negative", "horizontal", "positive", and "positive high". Slopes less than -45° are considered "negative high", while those greater than +45° are considered "positive high". Similarly, terrain categories are divided into four membership functions: "very rough", "rough", "gentle", and "flat". All roughness values greater than 100% are considered "very rough". The output mobile robot's motion speed (between 0 and 20 mph) is categorized as "very slow", "slow", "medium", "fast", and "very fast". Based on the fuzzification of the input and output variables in Figure 2 (where terrain slope and terrain category are input variables; speed is the output variable), other domains can be selected for each membership function and divided differently to determine the overlapping regions of the membership functions. Then, asymmetric membership functions are set. 2.3 Formation of the Rule Base Since terrain slope has five membership functions and terrain category has four membership functions, there will be a total of 5 × 4 = 20 rules. Based on the system performance requirements of the entire design process and the designer's experience, the model will form a rule base containing 20 rules, as follows: Rule 1: if (terrain slope is LP) and (terrain category is VR) then (speed is VS) Rule 2: if (terrain slope is LP) and (terrain category is R) then (speed is S) Rule 3: if (terrain slope is LP) and (terrain category is Mo) then (speed is Me) Rule 4: if (terrain slope is LP) and (terrain category is S) then (speed is Me) Rule 5: if (terrain slope is P) and (terrain category is VR) then (speed is VS) Rule 6: if (terrain slope is P) and (terrain category is R) then (speed is S) Rule 7: if (terrain slope is LP) and (terrain category is R) then (speed is S) Rule 8: If (terrain slope is P) and (terrain category is S) then (speed is F) Rule 9: If (terrain slope is L) and (terrain category is VR) then (speed is S) Rule 10: If (terrain slope is L) and (terrain category is R) then (speed is Me) Rule 11: If (terrain slope is L) and (terrain category is Mo) then (speed is F) Rule 12: If (terrain slope is L) and (terrain category is S) then (speed is VF) Rule 13: If (terrain slope is N) and (terrain category is VR) then (speed is Vs) Rule 14: If (terrain slope is N) and (terrain category is R) then (speed is S) Rule 15: If (terrain slope is N) and (terrain category is Mo) then (speed is Me) Rule 16: If (terrain slope is P) and (terrain category is S) then (speed is Me) Rule 17: if (terrain slope is LN) and (terrain category is VR) then (speed is VS) Rule 18: if (terrain slope is LN) and (terrain category is R) then (speed is VS) Rule 19: if (terrain slope is LN) and (terrain category is Mo) then (speed is s) Rule 20: if (terrain slope is LN) and (terrain category is S) then (speed is Me) Figure 3 shows the output results of the system's fuzzy inference rule observer. Figure 3 clearly shows the output speed values generated by the fuzzy inference rules when different terrain slopes and terrain categories are input. 3. Sharpening Sharpening is the process of converting fuzzy output values into equivalent sharp values that can be used in practice. That is, matching the fuzzy rules and calculating the corresponding values to obtain a number related to the membership function values of different output fuzzy sets. There are many methods for defuzzification, two commonly used main methods are: the centroid area center method (also known as the centroid method) and the Mamdani inference method. 3.1 Centroid Area Center Method The centroid area center method mainly calculates the centroid of the region enclosed by the membership functions. For a continuous universe of discourse, if U is a fuzzy set of a variable u in the universe of discourse U, then the defuzzification result is: 3.2 Mamdani Inference Method In this method, the membership functions of each set are truncated at their respective membership values, and all the resulting membership functions are added together as an "OR" function. That is, each repeated region is treated as a layer and superimposed on each other, resulting in a new region representing all regions. The centroid of the new region is equivalent to the output. The defuzzification in this paper mainly uses the centroid area center method. This involves using the defuzz function from the MATLAB Fuzzy Logic Toolbox. This function performs output defuzzification, with the format: `output=defuzz(x,mf,type)`. Here, `x` is the domain of the variable; `mf` is the fuzzy set to be defuzzified; and `type` is the defuzzification method, primarily the centroid area center method. 4. Simulation of the Fuzzy Logic Controller Generally, rules designed for fuzzy systems must be simulated to ensure satisfactory results for all input values. This is typically achieved through a fuzzy logic program. The program calculates the outputs from all possible inputs by running a fuzzy inference engine and plots the output values to simulate the fuzzy control system. This plot allows verification of the match between the rules and membership functions. Based on the fuzzification of the input and output variables and the rule base in sections 2.2 and 2.3, the 3D output result shown in Figure 4 can be obtained through the MATLAB fuzzy inference system. Figure 4 shows that the rules and membership functions in this paper match well. 5. Conclusion This paper proposes a solution to the practical problem of motion control for mobile robots under different road conditions. This method applies fuzzy logic reasoning to the behavior control of a mobile robot, using terrain slope and terrain type as inputs to the controller, and the robot's speed as the output, thus achieving behavior control of the mobile robot. Simulation results using the fuzzy logic controller demonstrate that this fuzzy control algorithm exhibits good robustness and real-time performance in the motion control of mobile robots. In recent years, research and applications of theories such as neural networks and fuzzy control have made great strides; further understanding, learning, and applying these theories will be the next goal.