1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật điều khiển và tự động hóa: Optimal path planning and adaptive sliding mode control of hexapod model

89 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Chapter 1. INTRODUCTION (15)
    • 1.1. Hexapod and The Stewart Platform (15)
    • 1.2. Optimal Path Planning & Trajectory Planning algorithms (15)
    • 1.3. Adaptive control algorithms (16)
    • 1.4. The objectives of the thesis (17)
    • 1.5. Thesis organization (18)
  • Chapter 2. LITERATURE REVIEW (19)
    • 2.1. Kinematic Analysis (19)
      • 2.1.1. Inverse Kinematic (19)
      • 2.1.2. Forward Kinematic (23)
    • 2.2. Dynamic Analysis (24)
      • 2.2.1. Velocity And Acceleration Analysis (24)
      • 2.2.2. Dynamic Modelling (28)
  • Chapter 3. MULTI-OBJECTIVE OPTIMAL PATH PLANNING SCHEME (30)
    • 3.1. WORKSPACE ANALYSIS (30)
    • 3.2. MULTI-OBJECTIVE OPTIMAL PATH PLANNING SCHEME (32)
      • 3.2.1. SingularityȂfree path generation process (32)
      • 3.2.2. The path interpolation algorithm using B-spline curve ................................ 18 3.2.3. The Multi-objective path planning using Particle Swarm Optimization 20 (32)
  • Chapter 4. ADAPTIVE SLIDING MODE CONTROLLER (39)
    • 4.1. Conventional Sliding Mode Controller (39)
    • 4.2. Adaptive Sliding Mode Controller (40)
  • Chapter 5. SIMULATION AND RESULT (46)
    • 5.1. Multi-objective Optimal Path Planning Test Plan (47)
    • 5.2. Adaptive Sliding Mode Control Test Plan (52)
    • 5.3. Result of simulation (56)
      • 5.3.1. Result of Multi-objective Optimal Path planning (56)
      • 5.3.2. Result of Adaptive Sliding Mode control (61)
      • 5.3.3. Discussion (81)
  • Chapter 6. CONCLUSION AND FUTURE WORK (82)
    • 6.1. Achievement (82)
    • 6.2. Limitation (82)
    • 6.3. Future work (83)

Nội dung

INTRODUCTION

Hexapod and The Stewart Platform

In this thesis, the Hexapod is designed based on the new structure of the Stewart Platform (SP), invented by Dr Stewart in 1965 [1] The Stewart manipulator consists of top-plate and baseplate connected with the help of six variable-length electromechanical actuators with spherical joints (Spherical Ȃ Prismatic Ȃ Spherical SPS type) that are used for rotation and translation of the top-plate concerning the base-plate In this study, we modify the origin linear actuators mechanism by changing the combination SPS type to Revolute Ȃ Spherical Ȃ Spherical (RSS) type and replacing the current prismatic joints with the new revolute joints The Hexapod attracts many researchers in the current decade due to its precision, rigidity, and the high force-to-load ratio [2] The proper coordination of the actuator's angles enables the top plate to follow the desired trajectory with high accuracy Thus the six inputs to the SP in terms of torque are calculated by the controller and provided by high- speed servo motors The outputs of the Hexapod are the upper plate's translation and angular positions (in the surge, sway, heave, roll, pitch and yaw) usually sensed by highly precise sensors or vision systems.

Optimal Path Planning & Trajectory Planning algorithms

Although parallel manipulators have strong stiffness and high payload, their workspaces are limit and exit many singular zones, which are the points where the platform becomes uncontrollable [3] Therefore, to avoid singular poses in the operations, we need to have a singularity-free path planning algorithm Various projects have been working on these issues B Dasgupta et al proposed an algorithm by using via points and Divide and Conquer strategy in [4] Hao Li et al presented a method to calculate singularity-free task space using Quasi-singularity measures [5] The paper of H Abdellatif and B Heimann used the visibility graph methodology and two heuristic functions to plan singularity-free motions [6] However, the goals of the path planning process are not only to find singularity-free paths but also to seek ways that let the Hexapod to moving as fast as possible while satisfying the constraints of mechanical structure such as the limits in position, velocity, acceleration, and torque output from actuators B Xie et al used Discrete mechanics to generate optimal trajectories [7] For this kind of multi-objective optimization path planning for the complex parallel manipulators, C Dong et all have been researched optimal singularity-free trajectory planning based on B-spline curves and evolutionary algorithms for docking systems in [8], [9] The B-spline curves combined with Evolutionary algorithms are useful for solving multi-objective optimization motion planning because of their flexibility and easy implementation [10].

Adaptive control algorithms

Last decades, many researchers have worked on sliding mode control and adaptive control technics for the Stewart platform C C.Nguyen et al proposed an adaptive control scheme for the Linear SP with the baseplate is above the mobile platform [11]

In [12] Amir Ghobakhloo et al presented an adaptive-robust tracking control design for SP A sliding mode tracking control of the SP was presented by Chin-I Huang in [13] S Iqbal studied the Robust Sliding Ȃ Mode controller design with uncertain dynamics in presence of nonlinearities [14] In [15], E Yime et al detailed the robust adaptive control of the SP based on the task space dynamics equations J Velasco et al took some experimental validations of a sliding mode control for the SP used in aerospace inspection [16] Sung-Hua Chen and Li-Chen Fu chose Output Feedback Sliding Mode with a Nonlinear Observer-Based Forward Kinematics Solution to reduce the computational load in solving forward kinematics solutions when controlling for their SP [17] Ramesh Kumar P proposes the application of a new algorithm for the position control of SP In their research, the existing integral sliding mode control law for systems with matched disturbances is modified by replacing the discontinuous part with a continuous modified twisting control [18] There are various control approaches for the position control problem using sliding mode theories in different perspectives A sliding mode controller is a variable structure control, which has been successfully implemented in many electromechanical systems for improving their performance and achieving robustness against disturbances [19]

In recent years, research has shifted towards combining adaptive and sliding mode control for robot manipulators and spherical platforms (SP) Ayca Gokhan Ak et al proposed a Fuzzy Sliding Mode Controller using a Radial Basis Function (RBF) Neural Network for robotic manipulator trajectory tracking Wu Dongsu et al developed an adaptive sliding controller for a six-DOF flight simulator based on the Newton-Euler dynamic equation Adaptive and fixed sliding mode control using RBFs and fuzzy neural networks has also gained attention for robotic manipulators While numerous studies have focused on adaptive sliding mode control for linear actuators in robot manipulators and SP, limited research has explored rotary actuators This research gap will be addressed in subsequent sections, building upon previous work in this area.

The objectives of the thesis

In this study, first, we propose a method to calculate the kinematics and dynamics of the Hexapod model Then from the result of kinematics models, a workspace analysis process is conducted to find non-singularity zones and the limitations of workspace for the path planning processes Next, we propose optimal path and trajectory generation schemes inspired by B-spline curves and an evolutionary algorithm, the multi-objective Particle Swarm Optimization (MOPSO) An adaptive sliding mode control is developed for tracking the optimal path planning The adaptive controller is based on the conventional sliding surface combined with a proportional Ȃ derivative (PD) controller whose gains are adjusted online to provide high tracking precision with fast finite-time convergence, less chattering, fast transient response, and high robustness.

Thesis organization

The rest of this thesis is organized as follows Chapter 2 reviews the kinematic and dynamic models of the platform, respectively Chapter 3 presents path and trajectory planning with multi-objective optimization methods Chapter 4 establishes the adaptive sliding mode control using sliding surface combined with adaptive proportional Ȃ derivative gain compensation to get the smooth actuators torques on the planned path The adaptive laws of the gain compensations are designed to ensure real-time adjustment Many simulations and evaluations have been conducted in Chapter 5 to prove the optimization results and the fast convergence velocity of tracking errors and the robustness of the adaptive sliding controllers The final chapter 6 of this thesis will be a summary of the work done and conclusions Some additional works that can be done in the future are also explained.

LITERATURE REVIEW

Kinematic Analysis

The inverse kinematics functions are the relations between the positions and orientations of the end-effector of the mobile platform and the lengths/angles of the actuators which are the most important functions in motion planning and control of parallel manipulators [32]

Let define the two coordinate frames: {P} for the end-effector which is attached to the origin of the mobile platform and {O} for the center of the base platform which is the body-fixed frame

In this thesis, we solve the inverse kinematics by finding the functions which describe the relation of the angles of 6 active links (the crank arms) and the translation ܶ ൌ ሾݔ ݕ ݖሿ ் and orientation ȳ ൌ ሾߛߚߙሿ ் which are selected as Euler angles as follows ߛܺ ௉ , ߚܻ ௉ , and ߙܼ ௉ of the mobile platform concerning the base platform: ߣ ௜ ൌ ݂ ௜௡௩ ሺܺ ௉ ሻܺ ௉ ் ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-1) Where ߣ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ are the angles of active links in the joint-space, ݂ ௜௡௩ ሺܺ ௉ ሻሼܺ ௉ ൌ ሾݔݕݖߛߚߙሿ ் ሽ are non-linear functions that describe the inverse kinematics, and ܺ ௉ is the general coordinator of the mobile platform in the task space

Figure 2.1 Model Diagram of Hexapod

The inverse kinematics are constructed based on the vector loop closure equations [33] ܣ ௜ ܤ ௜ ൌ ܱܲ ൅ ܴ ௉ ை ܤ ௜ െ ܣ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-2) ܴ ௉ ை is the rotation matrix which transforms the frame {P} to base frame {O} ܴ ௉ ை ൌ ൥ ܿߙܿߚ െݏߙܿߛ ൅ ܿߙݏߚݏߛ ݏߙݏߛ ൅ ܿߙݏߚܿߛ ݏߙܿߚ ܿߙܿߛ ൅ ݏߙݏߚݏߛ െܿߙݏߛ ൅ ݏߙݏߚܿߛ െݏߚ ܿߚݏߛ ܿߚܿߛ ൩ (2-3)

Where ܿሺήሻ ൌ ሺήሻ and ݏሺήሻ ൌ ሺήሻ However, the Hexapod with the (RSS) type contains an extra link per leg: crank arm Ȃ spherical Joint Ȃ rod arm Ȃ spherical joint ܣ ௜ ܦ ௜ ൌ ܱܲ ൅ ܲܤ ௜ ൅ ܦ ௜ ܤ ௜ െ ܱܣ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-4) ܣ ௜ ܤ ௜ ൌ ܣ ௜ ܦ ௜ ൅ ܦ ௜ ܤ ௜ (2-5) ܣ ௜ ܦ ௜ ൌ ݎሺܿ݋ݏߣ ௜ ܺ ଵ ൅ ݏ݅݊ߣ ௜ ܻ ଵ ሻ (2-6) ܦ ௜ ܤ ௜ ൌ ݌ݏ ௜ (2-7)

It is noted that some notations of those equations are as below: x ݎ is the length of the active link (the crank arm length) x ߣ ௜ is the rotation angle of the active link ith in the Ai frame x ݌ is the length of the vector ܦ ௜ ܤ ௜ (the rod arm length) x ݏ ௜ is the unit vector along the rod arm length

Figure 2.2 The vector loop closure of one active link

Through the tangent half-angle substitution, the quadratic formula: ሺߛ െ ʹݎܺ ଵ Ǥ ܣ ௜ ܤ ௜ ሻݔ ଶ ൅ ሺͶݎܻ ଵ Ǥ ܣ ௜ ܤ ௜ ሻݔ ൅ ሺʹݎܺ ଵ Ǥ ܣ ௜ ܤ ௜ ൅ ߛሻ ൌ Ͳ (2-8) ݔ ൌ ݐܽ݊ ൬ߣ ௜ ʹ൰ (2-9)

The Eq.(2-8) can be solved using the G, E, and F method: ሺܩ െ ܧሻݔ ଶ ൅ ʹܨݔ ൅ ሺܩ ൅ ܧሻ ൌ Ͳ (2-10) Solving the Eq.(2-10), we have: ݐ ଵǡଶ ൌെܨ േ ξܧ ଶ ൅ ܨ ଶ െ ܩ ଶ ܩ െ ܧ

Substitute Eq (2-11) to Eq (2-9), we get the angle of active joints: ߣ ௜ ൌ ʹ ݐܽ݊ ିଵ ሺݐ ଵǡଶ ሻ (2-12) Another way to find the angles of active joints is from Eq.(2-13) and Eq (2-14) [31]: ݈ ௜ ை ் ݈ ௜ ை െ ݏ ௜ ை் ݏ ௜ ை ൅ ܽ ௜ ை் ܽ ௜ ை ൌ ʹߜൣט݈ ௜௫ ݏ݅݊߮ ௜ Ƭ േ ݈ ௜௬ ܿ݋ݏ߮ ௜ ൧ܿ݋ݏߣ ௜ ൅ ʹߜ݈ ௜௭ ݏ݅݊ߣ ௜ (2-13) ݈ ௜ ை் ݈ ௜ ை െ ݏ ௜ ை் ݏ ௜ ை ൅ ܽ ௜ ை் ܽ ௜ ை ൌ ʹ݈ ௜ ை ் ܽ ௜ ை (2-14) Where: ݈ ௜ ை ൌ ܱܲ ൅ ܴ ௉ ை ܲ ௜ ௉ െ ܣ ை ௜ ൌ ሾ݈௜௫ ݈ ௜௬ ݈ ௜௭ ሿ ் ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-15) ܽ ௜ ை ൌ ܴ ஺ ை ೔ ܽ ௜ ஺ ೔ ൌ ߜሾטܿ݋ݏߣ ௜ ݏ݅݊߮ ௜ േܿ݋ݏߣ ௜ ܿ݋ݏ߮ ௜ ݏ݅݊ߣ ௜ ሿ ் (2-16) ܽ ௜ ஺௜ ൌ ߜሾെݏ݅݊ߣ ௜ േܿ݋ݏߣ ௜ Ͳሿ ் (2-17) ܴ ஺ ை ೔ ൌ ܴ ௓ ሺ߮ ௜ ሻܴ ௒ ቀߨ ʹቁ (2-18) ݏ ௜ ஻ ൌ ݈ ௜ ஻ െ ܽ ௜ ஻ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-19) ܣ ௜ ை ൌ ሺݔ஻௜ ݕ ஻௜ ݖ ஻௜ ሻ ் ൌ ሾݎ ௕ ܿ݋ݏሺߤ ௜ ሻ ݎ ௕ ݏ݅݊ሺߤ ௜ ሻ Ͳሿ ் ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-20) ܤ ௜ ௉ ൌ ሺݔ௉௜ ݕ ௉௜ ݖ ௉௜ ሻ ் ൌ ሾݎ ௉ ܿ݋ݏሺߞ ௜ ሻ ݎ ௉ ݏ݅݊ሺߞ ௜ ሻ Ͳሿ ் ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-21)

Figure 2.3 The coordinates of joints Ai & Bi ߤ ௜ ൌ ଶగ ଷ ሺ݆ െ ͳሻ െ ఓାగ ଶ for the odd legs (i = 1, 3, 5; j=1, 2, 3) ߤ ௜ ൌ ଶగ ଷ ሺ݆ െ ͳሻ ൅ ఓିగ ଶ for the even legs (i = 2, 4, 6; j=1, 2, 3) (2-22) ߞ ௜ ൌ ଶగ ଷ ሺ݆ െ ͳሻ െ ఍ାగ ଶ for the odd legs (i = 1, 3, 5; j=1, 2, 3) ߞ ௜ ൌ ଶగ ଷ ሺ݆ െ ͳሻ ൅ ఍ିగ ଶ for the even legs (i = 2,4,6; j=1, 2, 3) (2-23) Let: ቐ ݉ ௜ ൌ ʹߜ݈ ௜௭ ݊ ௜ ൌ ʹߜሾט݈ ௜௫ ݏ݅݊߮ ௜ േ ݈ ௜௬ ܿ݋ݏ ߮ ௜ ሿ ߂ ௜ ൌ ݈ ௜ ஻் ݈ ௜ ஻ െ ݏ ௜ ஻் ݏ ௜ ஻ ൅ ܽ ௜ ஻் ܽ ௜ ஻

Then the angle of each active link is as follows: ߣ ௜ ൌ ܽݏ݅݊ ቆേ ߂ ௜ ඥ݉ ௜ ଶ ൅ ݊ ௜ ଶ ቇ െ ܽݐܽ݊ ൬݊ ௜ ݉ ௜ ൰ሼ݅ ൌ ͳǡ ʹǡ ǥ ǡ ͸ሽ (2-26)

In Eq (2-26), the condition to satisfy the inverse kinematic model will be: െͳ ൑ ߂ ௜ ඥ݉ ௜ ଶ ൅ ݊ ௜ ଶ ൑ ͳሼ݅ ൌ ͳǡ ʹǡ ǥ ǡ ͸ሽ (2-27)

Formula (2-27) will be used as constraints functions in checking singular poses of the path planning process

In contrary with serial robots, the forward kinematic functions of parallel manipulators are very hard to obtain mathematically Instead, many studies have been conducted using numerical computation efforts or machine learning to approximate the end-effector positions and orientations from the given lengths/angles of the actuators [17]

In this thesis, the planning and controlling problems are no need to use the forward kinematic model However, we still need it to evaluate the performance of the controller

The forward kinematic used in this thesis is derived from the Simscape Simulink model imported from mechanical design CAD Solidwork The test plan is showed in the following Figure 2.4 which the inputs are the feedbacks of active link angles from the real model and the output is the 6-DOF position of the mobile platform end- effector taken from the 6-DOF body sensor attached to the Base_ref and PL_ref port, respectively, in Figure 2.5

Figure 2.4 The forward kinematic model using Simscape Simulink

Figure 2.5 The 6-DOF body sensor is used for tracking position, velocity, and acceleration of the end-effector of the mobile platform

Dynamic Analysis

To determine the torques and forces exerted on actuators, it is essential to analyze the inverse dynamics of the Hexapod This analysis has significant implications for energy consumption during path planning.

From the inverse kinematics section, the vector loop closure equation is started with: ܣ ௜ ܤ ௜ ൌ ܣܤ ൅ ܤܤ ௜ െ ܣܣ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-28)

It is noted that vector ܣ ௜ ܤ ௜ is now a virtual link represented by the equation below: ܣ ௜ ܤ ௜ ൌ ܣ ௜ ܣ ௢௜ ൅ ܣ ௢௜ ܤ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-29) Then vector loop closure equations would be transformed as follows: ܣ ௜ ܣ ௢௜ ൅ ܣ ௢௜ ܤ ௜ ൌ ܣܤ ൅ ܤܤ ௜ െ ܣܣ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (2-30)

From the inverse kinematics section, the position of the active rotary link and passive link: ܣ ௜ ܤ ௜ ൌ ݎሺܿ݋ݏߚܺ ଵ ൅ ݏ݅݊ߚܻ ଵ ሻ ൅ ݌ܰ (2-31) Where: ܣ ௜ ܣ ௢௜ ൌ ݎሺܿ݋ݏߚܺ ଵ ൅ ݏ݅݊ߚܻ ଵ ሻ ܣ ௢௜ ܤ ௜ ൌ ݌ܰ (2-32)

Because the active rotary link ܣ ௜ ܣ ௢௜ , can only rotate and ݎ remains constant so its differentiation does not create extra variables The passive link ܣ ௢௜ ܤ ௜ , can rotate and translate The position kinematics are solved through the unit vectors si multiplied by the passive link length ݌ In the velocity kinematics, the differentiation of these vectors means the translation velocity of the COM of the links, and the angular velocity is unknown Because the lower spherical joint which connects to the active link and the upper joint could be moved in any direction, so we cannot make a relationship to calculate one of these passive links unknowns without knowing the others: ݀ ݀ݐܣ ௜ ܣ ௢௜ ൌ ݎሺെ߱ݏ݅݊ߚܺ ଵ ൅ ߱ܿ݋ݏߚܻ ଵ ሻ ݀ ݀ݐܣ ௢௜ ܤ ௜ ൌ ݌ ݀ ݀ݐܰ ൅ ݌ܰ ൈ ߱ ே

It is noted that both vectors are needed to calculate the ܣ ௜ ܤ ௜ vector but the angular velocity of the active rotary link cannot be solved mathematically Therefore, we can only calculate the numerical differentiation of its vector by the change in the defining angle ߣ ௜ concerning time ߣ ௜ ൌ ܽݐܽ݊ ቆܣ ௜ ܣ ௢௜௭ ܣ ௜ ܣ ௢௜௫௬ ቇ (2-34)

Where: ܣ ௜ ܣ ௢௜௫௬ ൌ ටܣ ௜ ܣ ௢௜௫ ଶ ൅ ܣ ௜ ܣ ௢௜௬ ଶ (2-35) During the full range of motion of the Hexapod moving platform, each incremental change in the end-effector has a matching incremental change in the actuator angles They are repeated in a loop from the desired start position to the desired end position with a time step vector that is related to every iteration The angle velocity of the active link can be calculated by a numerical derivative: ߱ ఒ ೔ ൌߣ ௜ െ ߣ ௜ ௣௥௘௩ ݀ݐ

(2-36) The same method was used to calculate the angular acceleration of the rotary link: ߙ ఒ ೔ ൌ߱ ఒ ೔ െ ߱ ఒ ೔೛ೝ೐ೡ ݀ݐ (2-37)

Taking from the original SP design, the UPS type, the dynamics equations are being derived for the RUS platform With the upper joints connected to the mobile platform are the same and the same for the fixed base joints, the plan is to modify how the reaction forces found at the upper joint locations are translated down through the passive link to the active link and rotate onto the active link axis This way the necessary forces and torques required for the motors can also be known The reaction forces at the upper joint locations can be calculated employing the angular acceleration and linear acceleration of the passive link Because there is no mathematical solution, a similar numerical differentiation method is to be utilized First, we define the differential angle of the passive link to use as the means to get the description of its position From the inverse kinematic model, two Euler angels can be derived from the components of vector si, ߠ ௜ேு ൌ ܽݐܽ݊ ൬ݏ ௜௬ ݏ ௜௫ ൰ ߠ ௜ே௏ ൌ ܽݐܽ݊ ቆݏ ௜௭ ݏ ௜௫௬ ቇ

The variable ߠ ௜ேு represents the horizontal rotation between the global x-axis and the z-axis of the vector si and ߠ ௜ே௏ represents the vertical rotation along the z-axis ߱ ௜ேு ൌߠ ௜ேு െ ߠ ௜ேு௣௥௘௩ ݀ݐ ߙ ௜ேு ൌ߱ ௜ேு െ ߱ ௜ேு ௣௥௘௩ ݀ݐ ߱ ௜ே௏ ൌߠ ௜ே௏ െ ߠ ௜ே௏௣௥௘௩ ݀ݐ ߙ ௜ே௏ ൌ߱ ௜ே௏ െ ߱ ௜ே௏௣௥௘௩ ݀ݐ

The above angular velocities are to be implemented into the dynamics equations as components of the link angular velocity: ݅ ఠ௜ ൌ ሾ߱ ௜ேு ݏ݅݊ߠ ௜ே௏ ߱ ௜ே௏ Ͳሿ ் (2-41) ݅ ఠሶ௜ ൌ ሾߙ ௜ேு ݏ݅݊ߠ ௜ே௏ ߙ ௜ே௏ Ͳሿ ் (2-42)

The translational velocity of the passive link can be determined from the upper joint velocity, the angular velocity of the active link, and the angular velocity of the passive link Since the COM velocities of both links are known, the forces can be calculated using Newton-Euler formulas from the UPS platform type dynamics These formulas involve matrices that transform the forces and velocities from one coordinate system to another.

This rotation matrix combination takes the forces calculated from the {Bi} frame and brings them back to the {OAi} frame also known as the actuator base frame From there it rotates to the {Ai} frame which is the frame of rotation about the global z-axis within the {Ai} frame to align with the angle of the active link parallel to the ground Once the forces are rotated to align with the active link, they are rotated about the y- axis by an ɉ to align with the pose of the active link throughout its motion

Therefore, the angular torque of the revolute joint can be calculated by multiplying ݂ ௕௜௭ by the length of that active link r [33]

Based on the virtual work approach, the inverse dynamics model can be formulated in terms of the Cartesian space coordinates as follows [10]: ܬ ெ ் ߬ ௔௖௧ ൅ ߬ ௗ ൌ ܯ ௧ ܺሷ ൅ ܥ ௧ ܺሶ ൅ ܩ ௧ (2-47) ܯ ௧ ൌ ܯ ெ ൅ ෍ ܬ ௜ ் ܯ ௜ ܬ ௜ ଺ ௜ୀଵ

Where ܬ ெ is the Jacobian matrix transform the mobile platform velocities to actuator velocities ߬ ௔௖௧ are the output torques and forces provided by the active links ߬ ௗ are the external force and torque which are also known as disturbances ܯ ௧ refers to the inertial matrix, which includes the mass matrix of the mobile platform ܯ ெ and the ݅ ௧௛ link mass matrix ܯ ௜ ܬ ௜ is the Jacobian of ݅ ௧௛ link, and ܬሶ ௜ is the first derivative of ܬ ௜ ܲሶ and ܲሷ are the velocity and acceleration vectors of the mobile platform, respectively ܥ ௧ ǡ ܥ ெ ǡ ܥ ௜ are Coriolis matrices of the general coordinate, the mobile platform, and the links ܩ ௧ is the total gravity vectors, which includes the gravity vectors of the mobile platform ܩ ெ and each link ܩ ௜

With similar expression formats, ܯ ௫ ǡ ܥ ௫ ǡ ܩ ௫ with subscripts ݔ א ሼܯǡ ݅ሺ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሻሽ are used to represent the mass matrices, Coriolis matrices and the gravity matrices of the mobile platform and the ݅ ௧௛ link, respectively ܯ ௫ ൌ ൤݉ ௫ ܧ ଷ Ͳ ଷൈଷ Ͳ ଷൈଷ ܫ ௫ ൨ (2-51) ܥ ௫ ൌ ൤Ͳ Ͳ Ͳ ܵሺ߱ሻܫ ௫ ൨ (2-52) ܩ ௫ ൌ ቂെ݃ Ͳ ଷൈଵ ቃ (2-53)

Where ܧ ଷ is a three order identity matrix, ݉ ௫ and ܫ ௫ are the mass and inertia matrices, respectively, and ܵሺ߱ሻ is a skew-symmetric matrix representing the cross product ɘ: ܵሺ߱ሻ ൌ ቎ Ͳ െ߱ ௭ ߱ ௬ ߱ ௭ Ͳ െ߱ ௫ െ߱ ௬ ߱ ௫ Ͳ ቏ (2-54)

MULTI-OBJECTIVE OPTIMAL PATH PLANNING SCHEME

WORKSPACE ANALYSIS

ǯ strain of the spherical joints in the mechanic structure the most proper workspace of the Hexapod can be figured out by using the inverse kinematic formula Eq (2-1)

The scheme of workspace analysis is described in Figure 3.1

W ork sp ac e A na ly si s

Scan through one of 6-DOF Axis X Y Z ɀȾȽ and Remain the others

Check Bound of 6-DOF Axis?

Figure 3.1 The process of workspace analysis The result of the process:

Figure 3.2 The result of the workspace analysis process in 3D View XYZ

Figure 3.3 The result of the workspace analysis process in 2D View XY

From Figure 3.2 and Figure 3.3 we have the limited workspace of the proposed Hexapod model: െʹͲͲ ൏ ݔ ൏ ʹͲͲ݉݉ െʹͲͲ ൏ ݕ ൏ ʹͲͲ݉݉ െͷͲ ൏ ݖ ൏ ͳͶͲ݉݉ െͳͷι ൏ ߛ ൏ ͳͷι െͳͷι ൏ ߚ ൏ ͳͷι െͳͷι ൏ ߙ ൏ ͳͷι

These results are defined to be the boundary of reachable points which satisfy almost all constraints in the inverse kinematic model They will be used as upper and lower bound in the random search of control points in the next path planning section.

MULTI-OBJECTIVE OPTIMAL PATH PLANNING SCHEME

From the result of the kinematic and dynamic model, we can derive to calculate the constraint parameter of the generated paths like velocity, acceleration, and actuator torque required to check the feasible optimal solutions: ߣ ௜ ൌ ݂ ௜௡௩ ሺݔǡ ݕǡ ݖǡ ߙǡ ߚǡ ߛሻሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ ݒ ௜ ή ݏƸ ௜ ൌ ݂ሶ ௜௡௩ ൌ ܴሶ ெ ௌ ܤ ௜ ൅ ܶሶ ெ ௌ ܽ ௜ ݏƸ ௜ ൌ ݂ሷ ௜௡௩ ൌ ܴሷ ெ ௌ ܤ ௜ ൅ ܶሷ ெ ௌ ߬ ܽܿݐ ൌ ܬ ܯ െܶ ቀܯ ݐ ܺ ሷ ൅ ܥ ݐ ܺሶ ൅ܩ ݐ ቁ

Where finv is the inverse kinematics functions model ɉi, vi, aiǡɒact ȋǡǡǡɀǡȾǡȽȌ not only the kinematic condition (2-27) but also the upper and lower bound of mechanical actuators: ȁߣ ௜ ȁ ൑ ߣ ௠௔௫ ȁݒȁ ൑ ߣሶ ௠௔௫ ȁܽȁ ൑ ߣሷ ௠௔௫ ห߬ ௔௖௧ǡ௜ ሺܺǡ ܺሶǡ ܺሷሻห ൑ ߬ ௠௔௫

3.2.2 The path interpolation algorithm using B-spline curve

To interpolate a path from the initial pose to the final pose, we can use a k-degree B-spline curve whose shape is controlled by knot vector and n+1 control points: ݌ሺݑሻ ൌ ෍ ݀ ௜ ܰ ௜ǡ௞ ሺݑሻሼ݅ ൌ Ͳǡͳǡ ǥ ǡ ݊ሽ ௡ ௜ୀ଴

(3-4) ܰ ௜ǡ௞ ሺݑሻ is the ݅ ௧௛ basis function of degree k, and it satisfies the following Cox- DeBoor formula [8]: ܰ ௜ǡ଴ ሺݑሻ ൌ ൜ͳǡ ݑ ௜ ൑ ݑ ൏ ݑ ௜ାଵ Ͳǡ ݋ݐ݄݁ݎݓ݅ݏ݁ (3-5) ܰ ௜ǡ௞ ሺݑሻ ൌ ݑ െ ݑ ௜ ݑ ௜ା௞ െ ݑ ௜ ܰ ௜ǡ௞ିଵ ሺݑሻ ൅ ݑ ௜ା௞ାଵ െ ݑ ݑ ௜ା௞ାଵ െ ݑ ௜ାଵ ܰ ௜ାଵǡ௞ିଵ ሺݑሻ (3-6)

For a smooth path, the B-spline curve should be at least two orders differentiable The endpoints of the path should be identical to the initial and the final poses of the manipulator The motion path of the end-effector of the mobile platform can be formulated using B-spline curve [10]: ݌ሺݐሻ ൌ ෍ ݀ ௜ ܰ ௜ǡହ ሺݐሻ ଵ଴ ௜ୀ଴ ሼ݅ ൌ Ͳǡͳǡ ǥ ǡͳͲሽ (3-7)

Where ܰ ௜ǡହ ሺݐሻሼ݅ ൌ Ͳǡͳǡ ǥ ǡͳͲሽ is the ݅ ௧௛ basis function of degree five, ݀ ௜ ሼ݅ ൌ Ͳǡͳǡ ǥ ǡͳͲሽ is the generalized coordinate of the ݅ ௧௛ control point and t is the time node vector ݀ ௜ ௉ ൌ ൣ݀ ௜௫ ௉ ǡ ݀ ௜௬ ௉ ǡ ݀ ௜௭ ௉ ǡ ݀ ௜ఊ ௉ ǡ ݀ ௜ఉ ௉ ǡ ݀ ௜ఈ ௉ ൧ ் (3-8) The end-effector is required to start its motion from an initial pose ܲ ଴ and stop at a target pose ܲ ௘ with zero initial and final velocity and acceleration in the assembly task Therefore, the first three and last three control points of the B-spline curve should be duplicated, and their generalized coordinate values should be set equal to the initial and final pose vectors, respectively [9] ݀ ଴ ௉ ൌ ݀ ଵ ௉ ൌ ݀ ଶ ௉ ൌ ൣܲ ଴ ௫ ǡ ܲ ଴ ௬ ǡ ܲ ଴ ௭ ǡ ܲ ଴ ఊ ǡ ܲ ଴ ఉ ǡ ܲ ଴ ఈ ൧ ் (3-9) ݀ ଼ ௉ ൌ ݀ ଽ ௉ ൌ ݀ ଵ଴ ௉ ൌ ൣܲ ௘ ௫ ǡ ܲ ௘ ௬ ǡ ܲ ௘ ௭ ǡ ܲ ௘ ఊ ǡ ܲ ௘ ఉ ǡ ܲ ௘ ఈ ൧ ் (3-10) With a fixed time interval, the node vector ݑ ௜ ௉ can be interpolated as the form of the time nodes ݐ ௜ ௉ ݐ ௜ ௉ ൌ ሼͲǡ Ͳǡ Ͳǡ Ͳǡ Ͳǡ Ͳǡ ݐ ଵ ǡ ݐ ଶ ǡ ݐ ଷ ǡ ݐ ସ ǡ ݐ ହ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ሽ (3-11) The node vector will satisfy the following constraint: ߂ݐ ௜ ൌ ݐ ௜ െ ݐ ௜ିଵ ሼ݅ ൌ ͳǡ ʹǡ ǥ ǡ͸ሽ Ͳ ൏ ݐ ଵ ൑ ݐ ଶ ൑ ݐ ଷ ൑ ݐ ସ ൑ ݐ ହ ൏ ݐ ଺ (3-12)

To avoid retrogression in the motion trajectory, the coordinates of origin control points are calculated based on the summation method ܦ ௜ ௉ is expressed as: ܦ ௜ ௉ ൌ ෍ ܥ ௡ ௉ ௜ ௡ୀଷ ሼ݅ ൌ ͵ǡ Ͷǡ ǥ ǡ ͹ሽ (3-13)

Where ܥ ௡ ௉ is randomly generated The ordering coordinate of new control point ith ݀ ௜ ௉ can be calculated according to the proportional relation between the interval of control points and pose vectors: ݀ ௜ ௉ ൌ ܲ ଴ ൅ ቆܦ ௜ ௉ ܦ ଻ ௉ ቇ ሺܲ ௘ െ ܲ ଴ ሻሼ݅ ൌ ͵ǡ Ͷǡ ǥ ǡ͹ሽ ݀ ଷ ௉ ൑ ݀ ସ ௉ ൑ ݀ ହ ௉ ൑ ݀ ଺ ௉ ൑ ݀ ଻ ௉

To determine the velocity and acceleration of the end-effector, time derivatives of the B-spline curve could be calculated as: ܸሺݐሻ ൌ ෍ ݀ ௜ ௏ ܰ ௜ǡସ ሺݐሻ ଽ ௜ୀ଴ ሼ݅ ൌ Ͳǡ ͳǡ ǥ ǡ ͻሽ ܣሺݐሻ ൌ ෍ ݀ ௜ ஺ ܰ ௜ǡଷ ሺݐሻሼ݅ ൌ Ͳǡ ͳǡ ǥ ǡ ͺሽ ଼ ௜ୀ଴

And the corresponding knot vectors of the velocity, acceleration are defined as ݐ ௜ ௏ ൌ ሼͲǡ Ͳǡ Ͳǡ Ͳǡ Ͳǡ ݐ ଵ ǡ ݐ ଶ ǡ ݐ ଷ ǡ ݐ ସ ǡ ݐ ହ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ሽ ݐ ௜ ஺ ൌ ሼͲǡ Ͳǡ Ͳǡ Ͳǡ ݐ ଵ ǡ ݐ ଶ ǡ ݐ ଷ ǡ ݐ ସ ǡ ݐ ହ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ǡ ݐ ଺ ሽ (3-17) Based on the planned trajectories of the end-effector, the rotation, velocity, and acceleration curves of each actuator link can also be derived using the inverse kinematic model

3.2.3 The Multi-objective path planning using Particle Swarm Optimization

When interpolating paths using B-spline curves, optimal variables should be considered In this thesis, we work on the three objective problems: the total motion time, the total path length, and the mean torque control required We establish the three objective functions as follow: x The motion time: ݂ ଵ ൌ ݐ ௧௢௧௔௟ ൌ න ݀ݐ ௧ ల ଴

(3-18) x The path length from the initial pose and the final pose: ݂ ଶ ൌ ܮ ௧௢௧௔௟ ൌ σ݀ܮ ௜ ሼ݅ ൌ ݔǡ ݕǡ ݖǡ ߛǡ ߚǡ ߙሽ (3-19) x Energy consumed in all the domains of motion: ݂ ଷ ൌ ܧ ൌ ݉݁ܽ݊ሺ߬ ௔௖௧ ሻ (3-20)

According to [34], Particle Swarm Optimization can deal with multiobjective optimization because it is an intelligent algorithm with high accuracy, fast convergence, and easy implementation The process of implementation of the Multi- objective Particle Swarm Optimization algorithm in optimal path planning is depicted in Figure 3.4 Each particle is given a random initial velocity which is dynamically ǯ like the bird flocks The velocity and position of each particle are constantly updated until the result meets the iteration termination condition [10]

Follow [34], the update formula of particles can be given as: ݒ ௜ௗ ൌ ߱ ή ݒ ௜ௗ ൅ ܿ ଵ ή ݎܽ݊݀ ଵ ή ሺܲ ௕௜ௗ െ ݔ ௜ௗ ሻ ൅ ܿ ଶ ή ݎܽ݊݀ ଶ ή ሺ݃ ௕௜ௗ െ ݔ ௜ௗ ሻ ݔ ௜ௗ ൌ ݔ ௜ௗ ൅ ݒ ௜ௗ (3-21)

Parameterization of the trajectory with B-spline curves

The multi-objective trajectory optimization modeling

Calculation of the mathematical model with the Particle

The optimized parameters of B-spline curve and the Pareto optimal front of the objective functions

The method of average optimal solution

Optimal path planning of the end- effector

Optimal trajectory of the actuators Inverse

Figure 3.4 The Multi-objective optimal Path planning

In this thesis, we improve the traditional PSO which is a single-objective optimization algorithm to solve the multi-objective optimal path planning with the strategy of Pareto archive evolution based on the concept of a non-dominant solution set These repositories are used by the particles to identify a leader that will guide the search Each particle may choose a different guide

The algorithm of MOPSO is as follow [34]:

Step 1: Problem Definition a) Init model of B-spline curves and parameter bounds of the decision variables and MOPSO parameters (max iteration, population size, repository ǡǥȌ b) Define the three cost functions @(x) as Eq (3-18) to Eq (3-20)

Step 2: Initial the Population a) Initial position b) Initial velocity c) Evaluate each particle with the cost functions @(x) d) Update the personal best solution

Step 3: Determine the dominated particle and store the non-dominant to the repository Create and calculate repository mechanics: Grid and Gird index

Step 4: MOPSO main loop a) Search through the population a Select a leader b Update the particle velocity based on its current position & velocity ǮƬǤ(3-21) c Update the particle position with its current position and the calculated velocity above d Evaluate the updated particle with the cost function @(x) e Apply the mutation solution and check domination between current particle with mutation solution, update particle position if mutation solution is non-dominated, else do nothing f Check domination between current particle with its best solution, Ǯ particle is non-dominated, else do nothing b) Add non-dominated particles to the repository c) Determine and keep only non-dominated members in the repository d) Update grid of the repository e) Update grid indices of the grid of the repository f) If the repository is full, eliminate one random member g) Damping inertia weight

When the MOPSO algorithm is done, we have the Pareto front that represents the set cost values of three objective functions There is no absolute solution that satisfies all the objective issues because of the conflicts between optimal solutions on the global problems, i.e, the less motion time, the faster velocity and acceleration that lead to the more torque required in the planning path Thus, we need a method to neutralize the three objective problems In this thesis, we use the weighting method which combines multiple objective functions into one overall objective function Z, as follows: ൫݂൯ൌ ൫݂ ͳ ǡ ݂ ʹ ǡ ݂ ͵ ൯ൌ ൫ܼ൯ൌ ݉݅݊෍߱ ݅ ݂ ݅ ൫ܺ൯ ͵ ݅ൌͳ

Where ݂ ௜ ሺܺሻ is the cost function of the optimal problem ith, ߱ ௜ is the weight vector, and X is the feasible solution In this situation, a solution obtained with equal weights to all objectives may offer the least objective conflict

Multi-objective optimal path planning involves finding the optimal parameters for B-spline curves that construct a path while satisfying multiple objective functions, kinematic constraints, and the dynamic model of a hexapod This process utilizes the MOPSO algorithm and the weighting method derived from the Pareto front distribution of repositories to determine the optimal solutions.

ADAPTIVE SLIDING MODE CONTROLLER

Conventional Sliding Mode Controller

In joint-space coordinate, the dynamic model of the Hexapod can be described as follow: ܯሺݍሻݍሷ ൅ ܥሺݍǡ ݍሶሻݍሶ ൅ ܩሺݍሻ ൌ ߬ െ ܨሺݍሶሻ െ ߬ ௗ (4-1) Where: ܯሺݍሻ א ܴ ௡ൈ௡ is inertia mass matrix, positive-definitely ܥሺǡ ሶሻ א ܴ ௡ൈ௡ is centrifugal and Coriolis matrix ሺሻ א ܴ ௡ൈଵ is gravity matrix ܨሺݍሶሻ is friction force in the mechanical joint ߬ and ߬ ௗ is actuator input torque and disturbance input torque respectively In the control design schemes, we can ignore the friction torque component in Eq (4-1) The tracking error is: ݍ ௘ ሺݐሻ ൌ ݍ ௗ ሺݐሻ െ ݍሺݐሻ (4-2) Choosing sliding surface as: ݏ ൌ ݍሶ ௘ ൅ ߉ݍ ௘ (4-3)

The sliding mode controller is designed to drive the Hexapod motion tracking errors asymptotically converge to zero, ensuring that the actual errors converge to the desired errors as time approaches infinity This is achieved by satisfying Huzwit criteria and designing the sliding surface as the difference between the actual and desired errors The sliding mode controller drives the system towards the sliding surface and maintains it there, ensuring that the errors converge to zero asymptotically.

The Lyapunov candidate is chosen as follow: ܮ ൌͳ ʹݏ ή ݏ ் (4-5)

The time derivative of Eq (4-5): ܮሶ ൌ ݏ ் ݏሶ ൌ ݏ ் ሾ߉݁ ൅ ܯ ିଵ ሺ߬ െ ܥ݁ െ ܩሻሿ (4-6) Choose the control law: ߬ ൌ ߬ ௘௤ െ ܭݏ݅݃݊ሺݏሻ (4-7)

Where: ߬ ௘௤ is the equivalent torque calculated from the estimated dynamic model of the Hexapod as Figure 4.1, ܭ ൐ Ͳ is switching gain of sliding mode control Then the Eq.(4-6) becomes ܮሶ ൌ െݏ ் ܭݏ݅݃݊ሺݏሻ (4-8)

Because ܭ ൐ Ͳ so ܮሶ ൑ Ͳ׊ݏ therefore the system is asymptotically stable

Figure 4.1 The conventional sliding mode controller

Adaptive Sliding Mode Controller

Controller Adaptive Controller Adaptive Law q d

Adaptive Sliding Mode Control (SMC) enhances tracking accuracy and convergence speed to the control system's sliding phase However, it also amplifies chattering To mitigate this, SMC can be combined with a PD gain compensator The PD controller generates torque to drive tracking errors to zero, while the SMC guides the system along the sliding manifold The torque generated by Adaptive PD control is given by ߬ ஺ௗ௔௣ ሺݐሻ ൌ ܭ ௣ ሺݐሻݍ ௘ ሺݐሻ ൅ ܭ ௗ ሺݐሻݍሶ ௘ ሺݐሻ, where ݍ ௘ ሺݐሻ represents the error vector between the actual and desired angle vectors of the rotary actuators, and ܭ ௣ ሺݐሻ & ܭ ௗ ሺݐሻ are the matrices of the PD gains.

Substituting Eq (4-9) to Eq (4-1), we have: ܯݍሷ ௘ ൅ ሺܥ ൅ ܭ ௗ ሻݍሶ ௘ ൅ ൫ܩ ൅ ܭ ௣ ൯ݍ ௘ ൌ ܯݍሷ ௗ ൅ ܸݍሶ ௗ ൅ ܩݍ ௗ (4-11) Where the dependent variables of the matrices and vectors were dropped for simplicity To transform Eq (4-11) into a state-space form, we proceed to define a ሺͳʹ ൈ ͳሻ state vector ݖሺݐሻ such that: ݖሺݐሻ ൌ ሾݍ ௘ ் ሺݐሻ ݍሶ ௘ ் ሺݐሻሿ ் (4-12) Which converts (4-11) into: ݖሶሺݐሻ ൌ ൤ Ͳ ଺ ܫ ଺ െܣ ଵ െܣ ଶ ൨ ݖሺݐሻ ൅ ൤Ͳ ଺ Ͳ ଺ Ͳ ଺ ܣ ଷ ܣ ସ ܫ ଺ ൨ ݑሺݐሻ (4-13) Where: ܣ ଵ ൌ ܯ ିଵ ൫ܩ ൅ ܭ ௣ ൯ ܣ ଶ ൌ ܯ ିଵ ሺܥ ൅ ܭ ௗ ሻ ܣ ଷ ൌ ܯ ିଵ ܩ ܣ ସ ൌ ܯ ିଵ ܥ

In the design scheme of Model Reference Adaptive Control (MRAC), Eq (4-13) represents the adjustable state system The desired performance of the Hexapod motion can be specified by a reference model in terms of the tracking error vector ݍ ௘ ሺݐሻ ൌ ሾݍ ௘ଵ ሺݐሻݍ ௘ଶ ሺݐሻ ǥ ݍ ௘଺ ሺݐሻሿ ் [35] Suppose the tracking errors ݍ ௘௜ ሺݐሻሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ, are decoupled from each other and satisfy: ݍሷ ௘௜ ሺݐሻ ൅ ʹߦ ௜ ߱ ௜ ݍሶ ௘௜ ሺݐሻ ൅ ߱ ௜ ଶ ݍ ௘௜ ሺݐሻ ൌ Ͳሼ݅ ൌ ͳǡʹǡ ǥ ǡ͸ሽ (4-16) ߦ ௜ and ߱ ௜ are the damping ratio and the natural frequency of ݍ ௘௜ , respectively Then, the dynamics of the reference model can be represented by: ݖሶ ௠ ሺݐሻ ൌ ܦݖ ௠ ሺݐሻ ൌ ൤ Ͳ ଺ ܫ ଺ െܦ ଵ െܦ ଶ ൨ ݖ ௠ ሺݐሻ (4-17)

We note from Eq (4-21) that if ݖ ௠ ሺͲሻ ൌ Ͳǡ the initial values of the actual and reference angles vectors are identical, then ݖ ௠ ሺݐሻ ൌ Ͳ [11] Now, if ݁ሺݐሻ, the adaptation error vector, is defined as: ݁ሺݐሻ ൌ ݖ ௠ ሺݐሻ െ ݖሺݐሻ (4-22)

Then from (4-13) and (4-17), we obtain the error system follows: ݁ሶሺݐሻ ൌ ൤ Ͳ ଺ ܫ ଺ െܦ ଵ െܦ ଶ ൨ ݁ሺݐሻ ൅ ൤ Ͳ ଺ Ͳ ଺ ܣ ଵ െ ܦ ଵ ܣ ଶ െ ܦ ଶ ൨ ݖሺݐሻ ൅ ൤ Ͳ ଺ Ͳ ଺ Ͳ ଺ െܣ ଷ െܣ ସ െܫ ଺ ൨ ݑሺݐሻ

Where ݐݎሺήሻ is the trace of the matrix ሺήሻ P and ܹ ௜ ሼ݅ ൌ ͳǡ ǥ ǡͶሽ are positive-definite matrices Taking the time derivative of Eq (4-24), we obtain: ܮሶሺݐሻ ൌ ݁ ் ሺܲܦ ൅ ܦ ் ܲሻ݁ ൅ ʹݐݎൣሺܣ ଵ െ ܦ ଵ ሻ ் ൫ܱݍ ௘ ் ൅ ܹ ଵ ܣሶ ଵ ൯൧ ൅ ʹݐݎൣሺܣ ଶ െ ܦ ଶ ሻ ் ൫ܱݍሶ ௘ ் ൅ ܹ ଶ ܣሶ ଶ ൯൧ െ ʹݐݎൣܣ ் ଷ ൫ܱݍ ௗ ் െ ܹ ଷ ܣሶ ଷ ൯൧ െ ʹݐݎሾܣ ் ସ ሺܱݍሶ ௗ ் െ ܹ ସ ܣሶ ସ ሻሿ

Where: ܱ ൌ ሾܲ ଶ ܲ ଷ ሿ݁ሺݐሻ ൌ െሾܲଶ ܲ ଷ ሿݖሺݐሻ ൌ െܲ ଶ ݍ ௘ െ ܲ ଷ ݍሶ ௘ (4-26) And P is given by: ܲ ൌ ൤ܲ ଵ ܲ ଶ ܲ ଶ ܲ ଷ ൨ (4-27)

We can have ݁ሺݐሻ ൌ െݖሺݐሻ because ݖ ௠ ሺݐሻ ൌ Ͳ In Eq (4-16), we select ߦ ௜ and ߱ ௜ such that D is a matrix which has stable eigenvalues D is also called a Hurwitz matrix According to the Lyapunov criteria, for any given positive-definite symmetric matrix

Q there exits a positive-definite symmetric matrix P that satisfies the Lyapunov equation [11]: ܲܦ ൅ ܦܲ ் ൌ െܳ (4-28)

The submatrices of P can be derived as follows: ܲ ଵ ൌ ܳ ଵ ܦ ଶ ିଵ ൅ ܳ ଵ ܦ ଵ ିଵ ܦ ଶ ൅ ܳ ଶ ܦ ଶ ିଵ ܦ ଵ ܲ ଶ ൌ ܳ ଵ ܦ ଵ ିଵ ܲ ଷ ൌ ܳ ଶ ܦ ଶ ିଵ ൅ ܳ ଵ ܦ ଵ ିଵ ܦ ଶ ିଵ

In Eq (4-25) if we set: ܱݍ ௘ ் ൅ ܹ ଵ ܣሶ ଵ ൌ ܱݍሶ ௘ ் ൅ ܹ ଶ ܣሶ ଶ ൌ Ͳ ܱݍ ௗ ் െ ܹ ଷ ܣሶ ଷ ൌ ܱݍሶ ௗ ் െ ܹ ସ ܣሶ ସ ൌ Ͳ

(4-31) Then Eq (4-25) becomes: ܮሶሺݐሻ ൌ െ݁ ் ܳ݁ (4-32) ܮሶሺݐሻ is the negative-definite function of ݁ሺݐሻ Further, from Eq (4-31) we obtain: ܣሶ ଵ ൌ െܹ ଵ ିଵ ܱݍ ௘ ் ܣሶ ଶ ൌ െܹ ଶ ିଵ ܱݍሶ ௘ ் ܣሶ ଷ ൌ ܹ ଷ ିଵ ܱݍ ௗ ் ܣሶ ସ ൌ ܹ ସ ିଵ ܱݍሶ ௗ ்

Since P is positive-definite, proving that ܹ ௜ ሼ݅ ൌ ͳǡʹǡ ǥ ǡͶሽ are positive-definite matrices implies that the error system described in Eq (4-23) is asymptotically stable This means that as time approaches infinity, the error signal ݁ሺݐሻ will converge to zero, or ݖሺݐሻ will converge to a constant value ݖ ௠.

Assuming that the Hexapod model performs slowly varying motion, M, N, and G are slowly time-varying matrices that can be considered as nearly constant matrices From Eq (4-14), we have: ܣሶ ଵ ൎ ܯ ିଵ ܭሶ ௣ ܣሶ ଶ ൎ ܯ ିଵ ܭሶ ௗ ܣሶ ଷ ൎ Ͳ ܣሶ ସ ൎ Ͳ

Next, substituting Eq (4-34) into Eq (4-33) yields ܯ ିଵ ܭሶ ௣ ൌ െܹ ଵ ିଵ ܱݍ ௘ ் ܯ ିଵ ܭሶ ௗ ൌ െܹ ଶ ିଵ ܱݍሶ ௘ ் Ͳ ൎ ܹ ଷ ିଵ ܱݍ ௗ ் Ͳ ൎ ܹ ସ ିଵ ܱݍሶ ௗ ்

Where ߙ ଵ and ߙ ଶ are arbitrary positive scalars, and solving for ܭሶ ௣ and ܭሶ ௗ , we obtain from Eq (4-35) The adaptation law of PD controller gain will be: ܭሶ ௣ ൌ െߙ ଵ ܱݍ ௘ ் ܭሶ ௗ ൌ െߙ ଶ ܱݍሶ ௘ ்

In Eq (4-36), we note that ܹ ଵ and ܹ ଶ are positive-definite matrices that can be considered as nearly constant because the Hexapod mass matrix M is positive definite and slowly time-varying To satisfy Eq (4-35), ܹ ଵ and ܹ ଶ should be chosen such that their determinants approach λ in addition to the positive-definite property To achieve this, we can select ܹ ଵ and ܹ ଶ to be diagonal matrices whose main diagonal elements assume large positive values

Now, integrating both sides of Eq (4-37) and using Eq (4-26) result in: ܭ ௣ ሺݐሻ ൌ ܭ ௣ ሺͲሻ ൅ ߙ ଵ න ሺܲ ଶ ݍ ௘ ൅ ܲ ଷ ݍሶ ௘ ሻݍ ௘ ் ݀ݐ ௧ ଴ ܭ ௗ ሺݐሻ ൌ ܭ ௗ ሺͲሻ ൅ ߙ ଶ න ሺܲ ଶ ݍ ௘ ൅ ܲ ଷ ݍሶ ௘ ் ሻݍሶ ௘ ் ݀ݐ ௧ ଴

Where ܭ ௣ ሺͲሻand ܭ ௗ ሺͲሻare initial conditions of ܭ ௣ ሺݐሻand ܭ ௗ ሺݐሻ, respectively, and can be set arbitrarily Eq (4-38) represents the formula for the PD compensation controller gain of the joint-space adaptive control scheme, mainly based on the errors of the actuator angles of the Hexapod The computation time required to calculate the adaptive control law given in Eq (4-9) is relatively small because P is a constant matrix and ݍ ௘ can be easily computed from the desired and actual angles Therefore, the adaptive control scheme is computationally efficient, it can be implemented using an embedded system with a high sample rate The implementation of the adaptive control scheme does not require the online calculation of the Hexapod dynamics model, which reduces computation efforts Finally, the controller will be: ߬ ൌ ߬ ௌெ஼ ൅ ߬ ஺ௗ௔௣ ൅ ߬ ௗ (4-39) ɒsmc is Eq (4-7)ǡɒAdap from Eq (4-9)ǡɒd is external disturbance torque

The adaptive law of compensation PD gain relies solely on the ǯ parameter, overlooking the pronounced nonlinearity of the dynamic model and force/torque constraints within the mechanism structures This oversight can lead to suboptimal performance and potential system instabilities.

SIMULATION AND RESULT

Multi-objective Optimal Path Planning Test Plan

In this test, we conduct the test plan to generate a multi-objective optimal path that guides the end-effector of the mobile platform from the initial pose ܲ ଴ ൌ ሾͲǡ Ͳǡ Ͳǡ Ͳǡ Ͳǡ Ͳሿ ் to the end pose ܲ ௘ ൌ ሾെͷͲǡ ͷͲǡ െʹͲǡ-4, -6, -5] using MOPSO with Pareto set average uniform weight scheme as mentioned above The algorithms are implemented in the MATLAB scripting and the result solutions are tested in the Simulink model

Table 5-2 Parameter used for B-spline interpolation

Number of different time interval ȟݐ ௜ 6

Time step sample of B- spline tstep 0.001 s

Table 5-3 Parameters of MOPSO process

Inertia Weight Damping rate ɘd 0.99

Number of grids per dimension nGrid 7

Figure 5.2 Optimal path planning test plan

Figure 5.3ǤDzdz Dzdzplanning generated from the MATLAB scripting workspace to the Simulink model

Figure 5.5ǤDz͸- dz The 6-DOF controller is used to guide the platform to follow the planned path taken DzdzǤDzActuatordz are the position, velocity, acceleration, and torque calculated from the dynamic model

Adaptive Sliding Mode Control Test Plan

Path planning to test the motion of the mobile platform will be: ݔ ൌ ͳͲͲݏ݅݊ሺߜሻ݉݉ ߛ ൌ Ͳι ݕ ൌ ͳͲͲݏ݅݊ሺߜሻ݉݉ ߚ ൌ Ͳι ݖ ൌ ͶͲ ݏ݅݊ሺߜሻ ݉݉ ߙ ൌ Ͳι

In this test, ߜ ௙ ൌ Ͷߨ, ݐ ௙ ൌ ͳͲݏ The simulation is done on Simulink with fixed step

= 0.001s, end time = 10s, and solver: ode4 (Runge-Kutta)

There are four test cases in this section: Case 1 is done by add-in the disturbance torque to the output of the ASMC controller Case 2 is changing the mass of the upper platform Case 3 is testing with conventional SMC And case 4 is conducted with the result of the optimal path planning process with and without disturbances

Figure 5.9 Adaptive Sliding Mode Control Test Plans

Table 5-4 Simulation Data Of Adaptive Sliding Mode Controllers

Kp adjust rate Ƚ1 diag(0.1eye(6))

Kd adjust rate Ƚ2 diag(0.01*eye(6))

Initial Gain Kp Kp0 diag(5*eye(6))

Initial Gain Kd Kd0 diag(0.005*eye(6)) qe natural freq ɘ diag(5*eye(6)) qe damping ratio Ƀ diag(2*eye(6))

Sim Disturbance Torque ɒd ȋʹɎȌȋȌ

Result of simulation

5.3.1 Result of Multi-objective Optimal Path planning

Figure 5.15 The Pareto distribution of the three objective function costs

The right picture in Figure 5.15 showed that the Pareto front of non-dominated particles which satisfies the kinematic-dynamic models, the mechanical constraints conditions are voted in the MOPSO process Here, by using the weighting method, we can obtain the average best solution which is the best minimum cost in three objective problems: motion time, path length, and mean torque control required

Figure 5.16 The average best solution in the task space coordinate

Figure 5.16 shows that the optimal B-spline curves are smooth and tangent to the endpoints: Initial Point and End Point

Figure 5.17 The average best solution in the joint space coordinate

Figure 5.18 The average best solution in the joint space coordinate with constraint checking Figure 5.17 and Figure 5.18 depict that the optimal trajectories in joint-space generated from the optimal path planning are also smooth and satisfy the limitation conditions in position, velocity, acceleration, and torque required (the green line)

Figure 5.19 The 3D view of the simulation model of the Initial pose

Figure 5.20 The 3D view of the simulation model of the Final pose

5.3.2 Result of Adaptive Sliding Mode control

Figure 5.21 Space view of the platform position and orientation in the disturbance- free test

Figure 5.22 Space view of the platform position and orientation in the disturbance test From the results above, we found that there are small errors in the orientation of the platform when testing the controller in a disturbance affect environment

Figure 5.23 The sensitive response of the system with external disturbance (X-Y-Z axis) The position of the platform remains the planned path when the system served in the disturbances

Figure 5.24 ȋɀ-Ⱦ-Ƚ angles) The orientation of the platform oscillates in small amplitude when the system served in the disturbances The small bias error in the roll angle is affected by the non-linear approximation of the kinematic and dynamic of the simulation model with the interpolation programming

Figure 5.25 The joint-space coordinate response in the disturbance-free test

Figure 5.26 The joint-space coordinate response in the disturbance test

Figure 5.27 The performance of Servo 1 in the disturbance-free test

Figure 5.28 The performance of Servo 1 in the disturbance test

In the disturbance test, the torque output of the ASMC controller remains the smooth shapes However, it has some small oscillations that lead to some interference in velocity and acceleration

From the figure, we can derive that the adaptive gains are highly sensitive with high disturbance effects They automatically adjust their value to overcome the external interference and remains the system stable

Table 5-5 Task space error compare for Case 1

Tracking Error Disturb-free Disturb

From Table 5-5, we found that the main tracking errors are from position displacements in X-Y-Z The maximum RMSE is 0.4319 mm along Y-axis, and also for the MAX E = 1.0644 mm for the Disturb-free test case This is similar to the Disturb test case with RMSE Y = 0.4331 mm and Max E Y = 1.0656 mm These errors appear in the high-Ȁǯ states change rapidly that made the controller slow adaptably The adaptive controllers need to recalculate their parameter gains to compensate for the chattering and also the change in torque disturbances

Case 2: Testing with the change of the mass of the mobile platform MP

Figure 5.30 Space view of the platform position and orientation with Mp = 2.2639 kg

Figure 5.31 Space view of the platform position and orientation with Mp =5*2.2639 kg

Changing the mass of the moving platform to five times its original value caused minimal alterations in its position and only minor orientation errors These modest errors can be attributed to external interference.

Figure 5.32 The sensitive response of the system with the change of platform mass

Figure 5.33 The sensitive response of the system with the change of platform mass ȋɀ-Ⱦ-ȽȌȂ Mp = 2.2639 (kg) There are small oscillates that occur in the orientation tracking because of the effect of disturbances

Figure 5.34 The joint-space coordinate response in the Mp test

Figure 5.35 The joint-space coordinate response in the 5Mp test

Figure 5.36 The performance of Servo 1 in the Mp test

Figure 5.37 The performance of Servo 1 in the 5Mp test

Table 5-6 Task space error compare for Case 2

The effect of mass change on the model is insignificant because the error between the Mp test case and the 5 Mp test case is very small The increase is about 0.001 in both position and orientation tracking

Case 3: Comparation between testing with Conventional SMC and Adaptive SMC

Figure 5.38 The comparison of the performance between SMC and ASMC in servo 1 The SMC and ASMC can reach the desired trajectory position for the actuator, but the SMC uses the very high-speed switching torque that leads to chattering in the responses of the actuator with the high oscillate in velocity and acceleration While the ASMC uses smooth torque which helps the system well tracking the desired trajectory in both position, velocity, and acceleration

Case 4: Testing with results of the optimal path planning with disturbance

Figure 5.39 Space view of the platform position and orientation with disturbance- free

The testing results of the controller in a disturbance-affected environment revealed minor errors in the platform's position and orientation, as shown in Figure 5.40 This platform position and orientation space view provides valuable insights into the system's behavior under the influence of external disturbances.

Figure 5.41 The sensitive response of the system with the disturbance-free (X-Y-Z axis) The position of the platform remains the planned path when the system served in the disturbances

Figure 5.42 The sensitive response of the system with the disturbance-free ȋɀ-Ⱦ-Ƚ angles) Some small oscillates occur from the beginning and end of the simulation in the yaw orientation tracking

Figure 5.43 The joint-space coordinate response in the disturbance-free test

Figure 5.44 The joint-space coordinate response in the disturbance test

Figure 5.45 The performance of Servo 1 in the disturbance-free test

Figure 5.46 The performance of Servo 1 in the disturbance test

The ASMC controller exhibited smooth torque output during the disturbance test Nonetheless, minor oscillations were observed, resulting in minor disruptions in velocity and acceleration These oscillations require further investigation to minimize their impact on the system's overall performance.

Table 5-7 Task space error compare for Case 4

Tracking Error Disturbance-free Disturbance

In this test, we reduce the switching gain of the SMC by 10 times control, and the result is the tracking errors are smaller in the Disturbance-free test case in comparison with Case 1 but there are more oscillates in the Disturbance test case The system is less sensitive to disturbances

CONCLUSION AND FUTURE WORK

Achievement

This thesis achieved some new things: x A new structure of the Hexapod based on the Stewart mechanism was designed and implemented in real-time x Improvement of single objective Particle Swarm Optimization to deal with Multi-objective optimal path planning in many degrees of freedom parallel robot x The new ASMC algorithms showed that the performance quality control can be maintained in the system with large disturbance and upper bound uncertainty x Comparing with the conventional SMC method, the torque control of the new ASMC controllers is smoother and more efficient with the lower maximum values in all the domain controls x Besides, with the new control method, the current chattering phenomenons generated by traditional switching functions are reduced significantly which makes the system more stables and saves the mechanical structure from overload or damage.

Limitation

Because of the limitation of project time in a short period of the academic year, the ǯǣ x Simulate all the workspace zones of the parallel robots x Finding the optimal parameter in interpolating the kinematic and dynamic model used in motion planning and controller design, so there will be some small errors in the tracking x Establish an evaluation system that can measure the position and orientation of the platform in real-time of the real model x The MOPSO works quite slow with a computation time of nearly hours.

Future work

This work is not terminated in just this thesis, some works continue then such that: x Upgrade the MOPSO algorithms to faster computing x Study and implement new evolutionary algorithms in optimal path planning Dz dzǡDzdzthm x Design a new redundant structure that can reduce singularity points in the workspace of the rotary parallel manipulator x Design a measurement system that can track errors motion in all 6-DOF based on the high accurate inertial sensors or high-resolution vision systems

1 Le Ha Anh Khoa, and ǡDz Parallel Manipulator Hexapod,dz in The 6 th Vietnam International Conference and Exhibition on Control and Automation (VCCA), Ho Chi Minh City, Vietnam,

[1] Ǥ ǡ Dz ǡdz Aircr Eng Aerosp Technol., vol 38, no 4, pp 30Ȃ35, 1965

[2] Ǥ Ǥ Ǥ ǡ Dz -mode controller design for a 6DOF ǡdz 10th IEEE International Multitopic Conference 2006, INMIC, 2006, pp 421Ȃ426, doi: 10.1109/INMIC.2006.358204

[3] T Charters, R Enguiỗa, and P Freitas, Dz ǡdzInd Case Stud J., vol 1, pp 66Ȃ80, 2009

[4] Ǥ Ǥ Ǥ ǡ Dz-free path planning for the ǡdzMech Mach Theory, vol 33, no 6, pp 711Ȃ725,

[5] ǤǡǤǡǤǡDz-Free Taskspace Optimization of 6-RSS ǡdz ASME 2009 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, 2009, no 86, pp 1237Ȃ1244, doi: 10.1115/DETC2009-87260

[6] Ǥ Ǥ ǡ Dz -heuristic approach for singularity-ǡdzRobotica, vol

[7] Ǥ Ǥ ǡ Dz ǡdzProc 13th IEEE Conf Ind Electron Appl ICIEA 2018, pp 980Ȃ985, 2018, doi: 10.1109/ICIEA.2018.8397854

[8] ǤǡǤǡǤǡǤ ǡǤǡDz-objective trajectory planning scheme for parallel assembly mechanism with B-ǡdzICNSC 2018 -

15th IEEE Int Conf Networking, Sens Control, pp 1Ȃ6, 2018, doi:

Robot Comput Integr Manuf., vol 59, no April, pp 431Ȃ442, 2019, doi:

[10] ǤǡǤǡǤǡDz-free motion planning method for a 6- ǡdzInd Rob., no October, 2020, doi: 10.1108/IR- 04-2020-0079

[11] ǤǤǡǤǤǡǤǦǡǤǤǡDz ǦǡdzJ Robot Syst., vol 10, no 5, pp 657Ȃ687,

Stewart-Gough platform as a six DOF ǡdz2006 World Autom Congr ǯͶͼ, 2006, doi: 10.1109/WAC.2006.375990

[13] ǤǤǡǤ ǤǡǤǤǡǤǤ ǡDz-mode tracking control of ǡdz2004 5th Asian Control Conf., vol 1, no May, pp 562Ȃ569,

[14] ǤǤǤǡDz-mode controller design for a Stewart ǡdzProc Int Bhurban Conf Appl Sci Technol IBCAST, no May 2014, pp 155Ȃ160, 2007, doi: 10.1109/IBCAST.2007.4379924

[15] ǤǡǤǡǤǡDz-Gough ǡdzProc 2010 Am Control Conf ACC 2010, no June 2015, pp 5248Ȃ5253, 2010, doi: 10.1109/acc.2010.5530463

[16] J Velasco, I Calvo, O Baramboneǡ Ǥ ǡ Ǥ ǡ Dz validation of a sliding mode control for a stewart platform used in aerospace ǡdz Mathematics, vol 8, no 11, pp 1Ȃ15, 2020, doi:

[17] ǤǤ ǡDz ack Sliding Mode Control for a Stewart Platform With a Nonlinear Observer- ǡdzIEEE Trans Control Syst Technol., vol 21, no 1, pp 176Ȃ185, 2013, doi:

[18] R Kumar P., A Chalanga, and B BandyopaǡDz ǡdzISA Trans., vol 58, pp 543Ȃ551, 2015, doi: 10.1016/j.isatra.2015.06.003

[19] J Liu, Sliding mode control using MATLAB Elsevier: Academic Press, 2017

[20] Ǥ Ǥ Ǥ ǡ Dz ǡdzLect Notes Control Inf Sci., vol 344, pp 527Ȃ532, 2006, doi: 10.1007/11816492_64

[21] ǤǤǡDz-DOF flight simulator ǡdzChinese J Aeronaut., vol 20, no 5, pp 425Ȃ433, 2007, doi:

[22] ǤǡǤǡǤǡDzaptive neural ǡdz3rd Int Work Adv

Comput Intell IWACI 2010, pp 40Ȃ45, 2010, doi: 10.1109/IWACI.2010.5585195

[23] Ǥ ǡ Ǥ ǡ Ǥ ǡ Dz -based fuzzy controller for a novel 6- ǡdz

IEEE/ASME Int Conf Adv Intell Mechatronics, AIM, pp 1034Ȃ1039, 2011, doi:

[24] Ǥ ǤǡDzng RBF ǡdzNonlinear Dyn., vol 70, no 2, pp 1563Ȃ1573, 2012, doi:

[25] ǤǡǤǡǤǡDz ǡdzTelkomnika, vol 11, no 3, pp 521Ȃ528, 2013, doi: 10.12928/TELKOMNIKA.v11i3.1093

[26] ǤǡǤǡǤǡDz-fuzzy adaptive control of ǡdzRobotica, vol 33, no 9, pp 2001Ȃ2024, 2015, doi: 10.1017/S0263574714001222

[27] ǤǡǤǡǤǡǤǡǤǡDz tracking control of robot manipulator based on RBF neural network and fuzzy ǡdz Cluster Comput., vol 22, pp 5799Ȃ5809, 2019, doi:

[28] Ǥ Ǥ Ǥ ǡ Ǥ Ǥ ǡ Ǥ Ǥ ǡ Ǥ Ǥ ǡ Ǥ ǡ Dz backstepping sliding mode control for a 3-DOF hydraulic manipulator with ǡdzAppl Sci., vol 9, no

[29] ǤǡǤǡǤǡǤǡDz a novel 6- ǡdz2011 16th Int Conf Methods Model Autom Robot MMAR 2011, pp 218Ȃ223, 2011, doi:

[30] ǤǡDz ǡdzICAICTA 2018 - 5th Int Conf Adv Informatics Concepts Theory Appl., pp 170Ȃ175, 2018, doi: 10.1109/ICAICTA.2018.8541349

[31] T Van Nguyen and C Ha, RBF Neural Network Adaptive Sliding Mode Control of

Rotary Stewart Platform, vol 10956 LNAI Springer International Publishing,

[32] ǤǤǡǤǤǡǤǤǡDzalysis of a ǡdzJ Mach Manuf Reliab., vol 44, no 7, pp 626Ȃ632, 2015, doi: 10.3103/S1052618815070122

[33] ǤǤǡDzǡ and G ǡdz PhD Dissertation, Ohio University, United States,

[34] ǤǤǤǤǡDzǣ ǡdzProc 2002 Congr Evol Comput CEC 2002, vol 2, pp 1051Ȃ1056, 2002, doi: 10.1109/CEC.2002.1004388

[35] ǤǤǡDz ǡdzRobotica, vol 36, no 4, pp 588Ȃ606, 2018, doi:

Ngày đăng: 31/07/2024, 10:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w