# Fuzzy Logic-Based Controller for Bipedal Robot
## 1 Introduction  
A bipedal robot has a structure with many degrees of freedom. An important feature of bipedal robots is poor stability because the robot is supported by only two feet on the ground. Bipedal robots are capable of performing a variety of tasks to replace humans, serve humans, or coordinate operations with humans. Because of such structural characteristics and applicability, bipedal robots are of wide research interest [1, 2, 3, 4, 5, 6, 7, 8]. The first important problem is the dynamics of bipedal robots. Although there have been many studies on the problem of dynamics [8, 9, 10, 11, 12, 13, 14, 15, 16], because the structure is very diverse for each field of application, this is still an open problem. Normally, Newton-Euler equations and Lagrange equations of the 2 nd kind are widely applied when investigating the dynamics of bipedal robots. As shown in the following section, the research applied Lagrange equations of the 2 nd kind. An important feature of the dynamics problem is the relationship between motion and the applied force, which ensures the robot's manipulative motion and at the same time ensures that the robot is in balance, i.e., maintaining the desired posture and state without falling. This is closely related to the problem of designing the robot's motion trajectory and controlling the robot. There are many studies on motion trajectory planning for bipedal robots based on different approaches [17; 18; 19; 20; 21; 22], but due to the robot structure being positioned only by two feet on the ground with poor stability, a class of motion trajectory design problems was implemented taking into account the dynamic characteristics. Accordingly, the motion trajectory was designed with dynamic characteristics following the principle of ZMP point (Zero Moment Point) [23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33]. Basing the design of the motion trajectory and the control a bipedal robot on the principle of the ZMP point has been widely applied. However, ensuring that the ZMP point is always within the support polygon limits the flexibility of the robot and increases the complexity and computational load when controlling the robot. Actual observation of human activity shows that there are many times or periods when the ZMP point is outside the support polygon, but human activity is still stable and ensures dynamic balance. This is explained first of all by the process of falling, which will have to take place over a period of time. When the time to change the position of the robot is small enough compared with the time of falling, the robot will not fall; the posture and equilibrium will change insignificantly. A second point is that humans have the ability to adjust the interaction to ensure operation while maintaining a state of balance. In order for a robot to mimic human-like interaction, the robot's structure must first have a form close to that of a human. In addition, the ability to adjust the interaction flexibly thanks to the motors that drive at the joints must be based on the same rules as humans. Crisp controllers based on dynamical models with closed equations will find it difficult to meet this requirement. Meanwhile, controllers based on fuzzy logic imitating human natural reasoning have been studied and applied in many control problems in general and in the control of bipedal robots--for example, a fuzzy logic-based controller for robot in mechanical processing [34; 35], a fuzzy-based-admittance controller for safe natural human-robot interaction [36], and a fuzzy logic-based bipedal robot control [37; 38; 39]. Moreover, the integration of fuzzy logic with intelligent algorithms is also a research direction that is being applied to control bipedal robots [40; 41; 42]. With robots applied in mechanical processing requiring high accuracy, the research [34; 35] has shown that in the construction of a fuzzy rule system as well as in the determination of an appropriate physical value domain, a fuzzy controller gives accurate and reliable results.