In this paper, a nonlinear simulation block for a fish robot was designed using MATLAB Simulink. The simulation block incorporated added masses, hydrodynamic damping forces, restoring forces, and forces and moments due to dorsal fins, pectoral fins, and caudal fins into six-degree-of-freedom equations of motion. To obtain a linearized model, we used three different nominal surge velocities (i.e., 0.2 m/s, 0.4 m/s, and 0.6 m/s). After obtaining output responses by applying pseudo-random binary signal inputs to a nonlinear model, an identification tool was used to obtain approximated linear models between inputs and outputs. Utilizing the obtained linearized models, two-degree-of-freedom proportional, integral, and derivative controllers were designed, and their characteristics were analyzed. For the 0.4 m/s nominal surge velocity models, the gain margins and phase margins of the surge, pitch, and yaw controllers were infinity and 69 degrees, 26.3 dB and 85 degrees, and infinity and 69 degrees, respectively. The bandwidths of surge, pitch, and yaw control loops were determined to be 2.3 rad/s, 0.17 rad/s, and 2.0 rad/s, respectively. Similar characteristics were observed when controllers designed for linear models were applied to the nonlinear model. When step inputs were applied to the nonlinear model, the maximum overshoot and steady-state errors were very small. It was also found that the nonlinear plant with three different nominal surge velocities could be controlled by a single controller designed for a linear model with a nominal surge velocity of 0.4 m/s. Therefore, controllers designed using linear approximation models are expected to work well with an actual nonlinear model.
Read full abstract