Vol. 5(16) Jul. 015, PP. 000-000 Depth Control of the ROV with Fuzzy and PID Smoother Controller Mohamad Hosein Salimi, Moosa Ayati Khaje Nassir University, Tehran University Phone Number: +98-901-701308 *Corresponding Author's E-mail: mhsalimi9@yahoo.com Abstract O ne of the main problems in Remotely Operated Vehicles (ROV) is depth control. In this paper, the ROV robot is designed and controlled to desire point. The robot has three motors that control four degrees of freedom. The robot can be used for inspection at inshore zone. Dimensions of the robot are small, so it searches areas which are very difficult access. First the robot and its components are introduced. Then the design and construction of the robot is explained. After that, Robot dynamic equations were constructed. These equations describe the movement and turning in six directions. By these equations, parameters that help us to have better control are obtained. For control of the robot, three types of controllers are introduced. Indeed, these controllers are modified PID controller and fuzzy controller that improve the depth control. For achieve to better response the fuzzy and PID controllers are mixed together. Finally, the three controllers were simulated and evaluated.. Keywords: Remotely Operated Vehicle, Modified PID controller, Fuzzy Controller, implementation, simulation 1. Introduction Today, robots can help the man in many tasks. Underwater environment is also one of the environments which humans use it for various reasons. The underwater robot can used to perform missions such as inspection, exploration and transportation objects to goals. The first ROV was built in 1970 at the University of Massachusetts, America.[1] Then various ROV was designed and built in laboratory-scale []. Russia for the first time used ROV for military purposes [3]. With the growth of technology, operational depth of these robots increased. Nowadays, ROVs can operate in 10 thousand feet depth. [1,4] By increasing use of marine resources, the shortage for such robots can be felt more than ever. Therefore, research in this area can make a significant contribution to the maritime industry. [8] In this project a prototype of a ROV has designed and built. It is used for coastal missions. The robots are controlled in two types, automatically and manually. An important advantage of the robot is ability to move in different directions, and standing in the desired position, which helps the robot to perform various missions. One of the issues considered in building these robots, is navigation, regard to the obstacles in the water. Another challenge is the robot stability during operation. For these problems, many different methods and algorithm have been proposed which each methods have their own performance.[5,6,7] Article History: IJMEC DOI: 0000 Received Date: 000 Accepted Date: 0000 Available Online: 0000 1
The PID controllers can be used to control the set-point in the heave motion. Implementation of These controllers is simpler and also the parameters can adjust for better control. So, two PID controllers will be introduced. In addition, the PID controller can combine with the fuzzy controller for better performance. This controller is designed and compared with the other PID controller.. Mechanic of the robot ROVs generally are used in environments under high hydrostatic pressure condition [9]. Thus the structure of the ROV should be properly designed for high pressure environment, in addition, should be produced a low drag force. To carry the required equipment, the structure needs to have enough space design, and also have accessible part for repairing. According to mentioned points, truss structures are the best choice. The body of the robot is made by PVC plastic tubes. These tubes have enough mechanical strength and low weight. The PVC tube forms easily by heat and connects together with adhesive. In the aquatic environment, chemical reactions not occur, So PVC has not problems such as corrosion and rust. Therefor the PVC plastic is an ideal material for the robot structure. The properties of the PVC are listed in table1. Table 1 Properties of PVC Property Value Unit Density 1380 Kg/m 3 Young modulus Tensile strength Glass temperature Melting point Water absorption 900-3300 MPa 50-80 MPa 87 1 0.04-0.4 - o C o C.1 Thruster To generate the necessary torque, the thrusters are used. Thrusters consist of the direct current motor, the power transmission system and the propeller. Thruster should be sealed dynamically and statically. The transmission system consists of the reducer gearbox and the shaft coupling. The parts of the thruster are shown in figures 1,, 3.
Figure 1 Used propeller Figure Parts of the thruster Figure 3 A view of complete thruster The following experimental setup in figure 4 can be used to calculate the generated force by the thruster. In this setup, thruster connects to one of flip flap arm. Then the propeller is submerged in water. The applied thruster voltage increases from 0 to 1 volts and the propulsion force is measured by load cells which are installed on the other arm. Finally by using statics laws and the two arms ratio, the generated thrusters force in terms of the applied voltage is calculated. The results of the test are shown in figure5. 3
Figure 4 Schematic of the test-bed. Designing and implementation Figure 5 Measured RPM of the motor with various voltage That dimensions of the robot are small, so the robot can do missions in environments that are inaccessible for humans. Three thrusters are considered for the robot. The two motors on either side of the robot are installed parallel and they provide horizontal force to move the robot. By changing the motor rotation speed, robot can turn around its center of mass. The third motor is installed vertically and changes the depth of the robot. Two foam cylinders are also intended in the structure to generate Buoyancy force. The figure 6 and 7 show the stages of the building process. After designing and implementation steps, the robot was drowned in pond. The robot balanced with lead pieces. For inherent stability, the center of mass is set 5 centimeters under the center of volume. Figure 6 Design of the robot by software 4
Figure 7 Structure of the robot 3. Dynamics of the robot The robot has three active degrees of freedom. These degrees of freedom consist of a linear degree in X direction or horizontal direction, a linear degree in Y direction or vertical direction and a rotational degree θ around vertical axis through the center of mass. There is another rotational degree of freedom around Z direction, because it has a small rotation, can be ignored. The physical parameters of the robot should be calculated to obtain the constants of the equations. The physical parameters are listed in the table. Table Physical parameters of the robot Parameter Value Unit Width 113 Centimeter Height 5 Centimeter Length 40 Centimeter Total mass 1.9 Kilogram Thruster mass.5 Kilogram Battery mass 4 kilogram To simulate the propeller, simplification is used. The propeller is considered as a propeller with 45 degrees twist angle in laminar flow. The specifications of the propeller are listed in table3. Table 3 Physical properties of the propeller Parameter Value Unit Twist angle 45 Degree Propeller diameter 1 Centimeter Average width of each Centimeter 5
blade thickness 0.5 Centimeter Figure 8 Global direction The coordination is selected as Fig8. Newton's law for rotation around the Y-axis is as follows: M I Where I term is the mass inertia momentum of Y axis. Because the robot is mostly horizontal, then local and global Y axis directions is the same and only rotate relative to each other. The inertia momentum for the robot is I=.565 kg.m. To calculate the applied torque to Y axis, the propulsion force should be calculated. Free body diagram of one of blades is drawn in Fig 9. 1 Figure 9 Body diagram of a balde Drag force which is exerted on a blade, is calculated as follows: F D 1 c D A Sin45 The term ρ is the density of water, c d is dragging constant, A is area of the each blades and v f is the fluid velocity. To calculate the drag force, fluid velocity must be calculated. Fluid velocity is calculated from the equation3: o V f T 4 R V 4 f V f R 3 3 3 6
The above formula is the relationship between torque T and angular velocity of the propeller ω and linear velocity of the fluid v f. This relationship can be arranged according to the fluid velocity to get a quadratic equation. Delta method is used to solve it. Delta is as follows in equation4: 9R T 16 R 6 If the value of the delta is positive, the equation has two answers. If the delta is considered zero and angular velocity is constant, the relationship between torque and angular velocity is fixed. In this case, the linear velocity of the fluid or the robot is: 3 4 V f 3R 8 Given that the propeller radius R is 6 cm, the linear velocity of the fluid is 0.05ω and sum of drag of the four-blade is: 5 F D 4 4 0.44 (0.05 ) 8.5610 Assuming that the propulsion forces apply exactly to the center of the propeller, the torque that turns the robot is: 6 T 4 F X 0.49 8.4110 Note that F x is drag on local direction, so it is always perpendicular to the center of the propeller. The torques applies to the body of the robot as below: 7 Figure 10 Illustration of the applied forces The drag forces which exert to the robot body, act in the opposite direction of rotation. Drag forces apply to the body in local X direction. To simplify the equations, the coefficient is defined as follows in equaton8: 1 ex c D A And the drag force which exerts to the body of the robot is as follows: x 8 f e dx x v x 9 7
According to the above equations, to get the overall equation, e coefficient should be calculated for all components of the robot. By combining the torque in Equation (7) and the resistant drag in Equation (9) and the total inertia momentum in Equation (1), we have: T 4 3 3 3 8.4110 y ( r1 e1x r3 e3x r6 e6x ). 565 In the equation10, ω is the angular velocity of the propeller and is rotational velocity of the robot around Y axis. The parameter r which appears in some terms, is distance of the center of mass of each part to the robot's center of mass. These terms actually create linear speed terms and also they are assumed as torque s arm. After inserting variables of rotation in the nonlinear differential equations, we get to the equation11: 4.565 1.68 8.4110 0 11 The equation is solved with zero initial condition and 10 radians per second constant angular velocity: 10 ( t) 1 90 565 1 406 t Ln( e 168 58 ( 185 406t ) In the figure 11the values of θ is plotted in the first ten seconds. 1 ) 1 Figure 11 Values of the turning around the Y direction As seen in the above figure, the graph increases approximately with constant slope, and after 5 seconds, reaches to velocity 0.33 radians per second. 3.1 Braking Equation According to the intended algorithm, the robot should be able to stand at the desired angle relative to north global coordinates. To find the point where the robot must initiate braking, differential equations such as equation 10 should be solved. The reverse torque applies to the robot and initial conditions are not zero. 4.565 1.68 8.4110 0 13 In the equation13the term a is value of the initial rotation and the term c is angular velocity. The term c can be considered the maximum velocity or 0.33 radians per second. The solution of the braking equation is as follows: 565 1 9 9 b a ln( (90Sin( 406t b ) c Cos( 406t b ) 406t b ) ) 3364 406 185 185 14 8
Where term θ b is the amount of rotation in braking mode and term t b is the braking time. To find the robot angular velocity during braking, term θ b is derived: 1.54(4.57Cos(0.146t b ) c 9.510Sin(0.146t b )) b 90Sin(0.146t ) c 64.85Cos(0.146t ) b The zero angular velocity is the root of the equation. This root is calculated as: t s 6.819 tan 1 (4.471c) Indeed in equation16, ts time is dwelling time for the robot. It can be seen that this time is dependent on the angular velocity of the robot. Given that the robot has a velocity limitation, so there is a limit for time. In This paper, limitation of the angular velocity is 0.33 radians per second, so dwelling time is 5.34 seconds. The diagram of rotation during braking should be checked to obtain the amount of rotation. For example, if the robot reaches to maximum rotational speed (0.33 radians per second) at 1.97 radians, the diagram is plotted in figure1. The maximum amount of rotation for stopping is shown with θ b, in the equation 1 this amount is 5.34 seconds. b 16 15 Figure 1 Values of turning in braking mode The amount of rotation to stop completely is: s ( 5.34) b (5.34) a 0.56 17 So to find the online distance which requires for braking, the equation18 should be solved: ( t ) ( t ) a s s b s Where term a is the value of distance that the robot travels it, term t s is the stopping time, θ s is stopping rotation. So to get desired angle, first the robot should rotates radians, and then began to stop. 18 3. The forward moving equations Since the robot moves in the local X direction, so it is better that is written Newton s second equation in this direction. Then the applied forces which include propulsion and drag forces are found. Finally the differential movement equation is generated. The value of the propulsion force was obtained for one motor previously. The value of both motors is achieved by doubling it. The default of angular velocity of propellers is 15 radians per second. The differential equation for local X direction is as obtained as before stages: 9
0.3785 51.57 x 1. 91x The answer of the equation19 with the initial zero conditions for velocity and displacement is as follows: x( t) 0.086t 0.43Ln(0.5e (0.408 t) 0.5) Regard to the equation0, the maximum linear speed of the robot is calculated 8.6 cm/s. In reality, because of all of conditions are not ideal, the robot should be moved slowly near the target to avoid sudden braking momentum. Originally it is better that speed decreases in multistages. 3.3 The depth moving equation One of the most important features that the ROV should has it, is standing ability in pleasure depth. Pressure sensors are used to control the robot depth. By this sensor, applied pressure from water can be calculated and according to it, the depth can be achieved. To control the depth the robot, PID controller can be used. One of the advantages of this controller is ability to prevent overshoot during control of depth. In the depth direction, there are motor forces, drag forces and the robot weight force and the Buoyancy force. Since the robot comes to the surface in naturally. For upward and downward movement, the angular velocity of the motor should be changed. 19 0 Figure 13 Body diagram of applied forces in the depth direction For an accurate control, a non-linear model should be generated. For construction the system equations, Newtonian or a Lagrangian formalism can be used. The robot is considered as rigid body with six degrees of freedom. The translational velocity vector and angular velocity vector are defined in equation 1 and : T v 1 [ u v w] 1 T v [ p q r] The linear and orientation parameters of the robot are expressed in equation 3 and 4: [x T 1 y z ] 3 10
[ ] T The general coordinate and general velocities of the system are defined as two matrixes: T T T [ 1 ] 5 4 v ] T T T [ v1 v 6 The kinematic equations of the system are written as: J ( )v J1( ) J ( ) 0 66 0 66 J ( ) Global velocity and relative velocity between the robot and the fluid are denoted as below, Which U c is the linear velocity of the fluid: v ] v T c [ u c 01 3 v r v c T The dynamic model of the robot can be written as follows: 7 8 9 30 M v C( vr ) vr D( vr ) vr g( ) 31 In the equation31 M is a combination of robot inertia (as rigid body) and added inertia (because of acceleration of the liquid) to the system. Categories include C (v) terms, state Coriolis and Centripetal effect. The D (v) relates to hydrodynamic damping and g function related to gravity and Buoyancy forces that applied to the volume. The term σ relates to forces and torques that exerted by external factors. The term σ can be expanded as follows: 3 In the equation3, where τ related to inputs control (the force and the torque generated by the thruster) and δ related to disturbances which caused by other factors such as cable tension. To simplify the equation3, it can be assumed that the robot has three planes of symmetry. It can also be assumed that the robot has not rotation around the vertical axis because this rotation has no effect on depth. So, three degrees of rotational freedom can be fixed. With these assumptions, the equation 31 can be summarized as follows M yz y Dy ( y) y BG The term Y in the equation 33 shows the vaslue of depth. The term BG equals to the restoring force. It can be expanded as follows: BG ( W B) ( mg g) 34 The equation34 is derived from the difference between the weight and the buoyancy forces. In the equation34, m related to time, and g is equal to the acceleration of gravity, ρ is the density of the fluid that the robot immerges at it and V is equal to volume of the robot. 33 11
Given that the robot displacement is intended to depth direction and it linearly moves, and also there are not high speed and acceleration in this movement, thus, centripetal and Coriolis terms can be ignored. Considering that equation 33 D y is a derived function of Y, so the equation becomes non-linear. To simplify the equation, quadratic effect of hydrodynamic damping can be ignored. With the assumption the equation 33 can be simplified as follows: M z y Dlz y BG 35 The differential equation from Newton's second law in the Y direction by inserting the physical value, is: 1.9 y 68.61y 0.40 0 36 The figure14 shows the robot path before complete stopping. Initial velocity and imbalance forces cause vibration. For damping vibrations, when the velocity becomes zero, the generated motor s force should be increased a little. Figure 14 Movement in Depth of the robot and standing for a short while For calculating the proper time (t sd second) for start to braking from distance Y s meter before the goal, the equation37 should be solved: t sd 4.163tan 1 (13.03v) In the equation37, term is the robot velocity in the depth direction. In this section, stopping and moving equations for the robot in all direction are specified. To achieve the goals, the robot should be controlled. Be using these equations, a proper controller could be designed. The control of the depth is presented in the following. 37 4. Depth control According to the obtained equations, the controller can be designed. At this stage it is important that response of the controller does not lead to an overshoot. So it is necessary that the response slows down, but this should not be so low that agitate the efficiency of the robot. The robot controller block diagram is shown in figure 15. The controller (that is designed based on PID controller) consists of the robot block and the supervisor block. The supervisor block adjusts PID input values the desired characteristics. 1
Figure 15 Block diagram of the PID cotroller with Supervisor According to the equation35, classical methods can be used to check the system performance for different configurations. Specifically, the PID integral part cannot be eliminated for system which is unstable to disturbances. To reduce overshoot, the controller can be modified as follows: u( t) K(( by sp 1 y) T i t 0 ( y sp y) T d d dt ( cy sp y)) This controller has two weighted coefficient. One of them operates on the proportional factor (parameter b) and the other operates on the derivative factor (parameter c). These parameters, affect the transmit signal by modifying zero transfer function. These zeroes have a great impact on system response and change the overshoot of system. So, regarding physical conditions and equations of the system, best settings are adjusted. 4.1 Continuous input smoother (CIS) One possibility for limit the overshoot is the pre-filtration input signals [10,11]. By analyze the system with a step input that abrupt changes in the references, can lead to severe response in the initial phase and the overshoot. Likewise if the behavior of the input signal is more smoothly, the controller will be more accurately. Given these assumptions, we can define new block diagrams that smooth the input continuously. The block diagram is shown in Figure16. 38 Figure 16 The block diagram of the CIS controller The controller is more able to control the overshoot. However, the parameters of the controller must be set offline and this reduces the efficiency of the system, especially when new environmental conditions vary considerably. So to make sure that the controller has good performance in different environments, we should trace the dynamic signal slowly. 4. Discrete fuzzy smother (DFS) For accurate control, fuzzy and PID controller can mixed together. A Fuzzy-PID controller has not the drawbacks of the previous controller. Specifically, the controller based on a discrete fuzzy smoother (DFS) can adapt its actions to the robot behavior. The block diagram of the DFS controller is shown in figure17. 13
Figure 17 The block diagram of the DFS controller This adaptable controller can decrease the overshoot. In compare to the CIS, the DFS controller has shorter rising time. Inputs to the DFS are: The set-point error (which is defined as SE=Y 0 Y 0s where Y 0 is the goal depth and Y 0s is the response of the DFS) The error E=Y 0s Y (Y is the depth of the vehicle at the water) The variation if the actual depth of the robot DY For the inputs classification, coding method could be used. This code s elements are as follow: P=positive N=negative B=big VB=very big M=medium S=small Z=zero The discrete variation DZ0S of the set-point should be evaluated. Possible rules can be constructed in the form, e.g.: If (dy is PB) and (es is PB) and (E is PB) then DY0S is PB If (dy is PM) and (es is PB) and (E is PB) then DY0S is Z If (dy is PS) and (es is PB) and (E is PB) then DY0S is Z... If (dy is Z) and (es is Z) and (E is Z) then DY0S is Z. 5. Simulation The performance of proposed controllers is determined by simulation. In this simulation, both modes are considered. (The general mode or nonlinear and the simplified mode or linear) 14
For comparison these two controllers, conventional PID controller is intended as proof. The three modes is considered to determine the response of controller systems. In these three modes, different weighted coefficients are set to the controller. In the a case, the standard PID controller is set (parameter b is equal to one). In case c the reference has not proportional terms (b parameter is zero). In the case of b, a middle value between the two modes is selected. Then, the weighted PID controller with linear and nonlinear cases is studied. For step input, the Response of these controllers is determined. According to the three modes, Figure 18 shows the system response. Figure 18 Step response for different PID settings for the linear model After this, the linear mode is studied. The response of the linear mode with three specified conditions is as follows in figure 19: Figure 19 Step response for different PID settings for the non-linear model It is clear that as raising speed increases overshoot increases. In other words to reduce overshoot, raising speed should reduce. After this, the controller with input smoother is studied. Three previous conditions are considered for this mode and response is plotted for step input. The following diagram in figure0 shows the system response for the linear mode: 15
Figure 0 Step response of CIS control scheme for the linear model. Cases (a) and (b): overshoot is reduced but not eliminated. Case (c): overshoot is eliminated The figure1 is system response with nonlinear equations: Figure 1 Step response of CIS control scheme for the non-linear model. Cases (a) and (b): overshoot is reduced but not eliminated. Case (c): overshoot is eliminated. It can be seen that with this controller, overshoot eliminates completely, but raising speed is slow. The responses of the linear and non-linear mode of the DFS controller are shown in Fig and Fig3. 16
Figure Step response of DFS control scheme for the linear Figure 3 Step response of DFS control scheme for the non-linear model It is clear that the overshoot is very small in the linear DFS controller. Indeed the sensors of the robot often do not sense this small value. By analyzing all of these results, it can be noticed that weighted PID and CIS can control the robot similarly. Changing the weighting term of the PID controller is equal to the pre-filter the input of the CIS controller. Conversely, the response of the fuzzy DSF differs greatly from the others. Rising time and overshoot in this controller is very low. 6. Conclusion In the project, the remotely operated vehicle is designed to reach goals, with minimum number of motor. This design can save power and financial resources. The robot has small dimensions and can do missions easily, that are difficult or impossible for humans. In addition, the robot is controlled manually, which helps the operators to do mission better. Another important achievement of the project is precise control of depth, and as we know it is very important. Three controllers are designed based on the PID and Fuzzy controller. These controllers have special advantages. To control the robot, the three controllers can be used in its own conditions. Actually, these offered controllers are combination of PID and fuzzy controller. These controllers have low the overshoot and settling time which improve the performance of the robot. There are a lot of points in the implementation of the robot, but they are not explained because they are away from 17
the discussion. To improve the robot, more accurate pressure sensor and ultrasonic sensor can be used. As well as to increase the power of the robot, different propeller can be tested and the optimized propeller is chosen. 7. References [1] A( stro.m, K. J., & Ha.gglund, T. (1995). PID controllersftheory, design and tuning (nd ed.). Research Triangle park, NC: Instrument Society of America. [] A( stro.m, K. J., Ha.gglund, T., Hang, C. C., & Ho, W. K. (1993). Automatic tuning and adaptation for PID controllersfa survey. Control Engineering Practice, 1(4), 699 714. [3] Blidberg, D. R. (1991). Autonomous underwater vehicles: A tool for the ocean. Unmanned Systems, 9(), 10 15. [4] Chiu, S. (1998). Using fuzzy logic in control applications: Beyond fuzzy PID control. IEEE Control System Magazine, 18(5), 100 105. [5] Conte, G., & Serrani, A. (1999). Robust nonlinear motion control for AUVs. Robotics and Automation Magazine, 6(), 33 39. [6] Fiellstad, O. E., & Fossen, T. I. (1994). Position and attitude tracking of AUVs: A quaternion feedback approach. IEEE Journal Oceanic Engineering, 19(4), 51 518. [7] Fossen, T. I. (1994). Guidance and control of ocean vehicles. New York: Wiley. [8] Healey, A. J. (1995). Guest editorial, special issue on autonomous underwater vehicles. IEEE Journal of Oceanic Engineering, 0(4), 55 57. [9] Nokin, M. (1996). ROV6000Fa deep teleoperated system for scientific use. Proceedings of the sixth IARP workshop on underwater robotics, 1996. [10] Nomoto, M., & Hattori, M. (1986). A deep ROV DOLPHIN 3K : Design and performance analysis. IEEE Journal of Oceanic Engineering, 11(3), 373 391. [11] Yuh, J. (1990). Modeling and control of underwater robotic vehicles. IEEE Transactions on System, Man and Cybernetics, 0(6), 1475 1483. 18