Autonomous Underwater Vehicles (AUVs) are widely studied for operating below the surface of the water. Underwater propulsion is one of the main components of AUVs and underwater robots. This type of propulsion is a hard problem to understand analytically due to the highly nonlinear and turbulent nature of the water currents around an object. These turbulent flows result in the loss of energy and therefore energy efficient propulsion systems are of special interest for many researchers.
Evolution provides a variety of successful underwater locomotion examples. Different fish species have developed different mechanisms of underwater propulsion which are energy efficient; many species use fins to maneuver through the water. Therefore, it is not surprising that the fish interest researchers for their efficiency and their maneuverability . A fish can make half-turn on 1/10 its length without losing speed, whereas a submarine needs 10 times its length by slowing down half to do the same. The research on robotic fish are mainly focused on dynamic modeling [2, 3, 4, 5] and control [6, 7, 8, 9, 10, 11]. An extensive review and classification of different fish species and marine robots inspired by them is given in . Several other researchers have studied the effect of a certain parameter on the performance of a robot. For example,  has addressed the effect of artificial caudal fins on the fish robot’s performance. Marchese et al & Zhong et al have used soft materials plus soft robotic fabrication techniques to manufacture a robot fish [14, 15]. In , Liu et al study the movement of a carangiform fish and then a robotic fish is controlled based on the obtained results. Turning performance of a robotic fish inspired by a sea bream is studied in . A parametric study of a fish robot performance is carried on in . This paper used a 6-meter long water tunnel with flow control over the test tank to provide a known current for robotic fish understudy. Moreover, they used a robot with the tail consisting of one active joint and two passive joints as well as a flexible caudal fin. Similar to the previous research, in most cases, conventional robotics is unable to replicate specific features of fish locomotion, such as manufacturing a smooth and continuously flexible hull . This issue can be solved using recently-developed laminate manufacturing techniques [19, 20]. Throughout all these papers, the authors have identified an opportunity to address fish-inspired locomotion in the tail using laminate techniques, which have the capability of being able to be rapidly prototyped and tested. In addition, the trend in fish inspired robot is to eliminate the systematic design approach using soft materials or to utilize traditional robotic fabrication techniques with a limited number of passive joints. Using laminate techniques, it is possible to easily add the desired number of passive joints in desired positions, as well as using different materials and thicknesses to achieve desired stiffness.
The main contribution of this study is to investigate the locomotion of a fish-inspired robot swimming in a tight workspace and interacting with environment, while using forward propulsion in a high-flow channel to apply force to an object. This work is motivated by the need for a small, low-power robotic platform which can navigate autonomously in small canals for cleaning, maintenance, and inspection tasks. The focus of this paper is to use a tail fin manufactured via laminate fabrication techniques (known as Caudal fin in fish morphology) for locomotion. Laminate fabrication techniques permits iterating rapidly through a complex design space to tune the stiffness & damping properties of soft flexure hinges between a variable number of rigid segments, in order to quickly fabricate and validate an optimal fin design. Laminate fabrication methods are also low-cost, with the structure and tail components ($5) costing a fraction of the selected actuator ($55). Even though the laminate platform is novel, the focus of this paper is to facilitate a deeper understanding of the control issues at play in small environments and narrow passages.
The paper is organized as follows: Section 2 will describe maneuvering strategies as well as test setup construction. In Section 3, design and manufacturing of the robotic fish hardware is discussed. A model of the generated force by robotic fish propulsion has been developed which is presented in section 4. In Section 5, different controllers are designed based on the identified model of the robotic fish. The paper concludes with some remarks and suggestions for future work indicated by obtained results.
2 Maneuvering Strategies & Experimental Setup
|Offset in asymmetric propulsion|
|Angle of servo actuator in propulsion|
In nature, swimming modes of fish can be divided into two main categories, namely caudal fin locomotion and pectoral fin locomotion . In this paper, propulsion caused by caudal fin is considered as the main focus of our locomotion strategy. Figure 1 shows the locomotion strategy proposed in this paper. The fin actuator is commanded to follow the following angle:
Description of the propulsion parameters are described in Table 1 The design goal is to enable the fish to interact with its environment, including vegetation, which may be present in shallow, narrow waterways of the southwestern United States. The interaction can involve pushing an object or cutting a specimen from a plant. The authors believe that this working environment, which contains stationary propulsion in a narrow canal, is challenging due to reflected waves coming back from canal walls, which can impact sensing navigation by imparting disturbances on the robot caused either by the world or the robot itself.
A test setup has been designed for evaluating the performance of underwater, robotic fish designs by monitoring the thrust generated from undulatory swimming. The design of the test setup is based on the overall strategy for controlling the robot and its working environment. Figure 2 shows the experimental setup. The robotic fish is attached to an force-torque sensor (ROBOTIQ FT300) using an aluminum bar. The torque applied by the robotic fish on the sensor through the attachment bar is measured and converted to force by dividing it by the length of the attachment bar (distance of the application point of the force to the origins of the sensor), since the force measurement alone is small relative to the range of the sensor. A 0.3048 L 0.1524 W 0.254 H water tank is used to model a small canal work environment. The robot is attached to a UR5 robotic arm which can move the fish in the water with constant speed to simulate water current.
An Arduino is responsible for controlling the servomotor. Force and torque data is transferred to the computer through the Modbus protocol. A Python script is responsible for sending motor commands to the Arduino and reading data from the force and torque sensor.111Details of the Python code are presented in Appendix A.
Figure 3 shows 10 seconds of raw forward and side-force data for a symmetric undulatory motion with amplitude of 60deg, in order to provide the reader with insight on the forces generated via fin propulsion. In this study, the forces generated by the fin are split into two main elements corresponding to the fish forward and sideway (lateral) directions. According to this figure, the generated forces are periodic in nature, as was expected due to the undulatory motion of the tail. It can be observed that although the sideway force is changing, the average force produced over a cycle is close to zero due to fins symmetric propulsion. The average forward force is also positive although there are periodic variations observed in it. As a result, force-torque data is averaged over a window of specified number of cycles. In this method, the average amount of forward and lateral forces generated by the tail are stored for subsequent use.
3 Design & Prototyping
In designing the caudal fin, the results of the parametric design study conducted in  were considered, specifically the aspect ratio of the end fin. Initially, a laminated design was proposed with one actuated joint and five passive joints to provide the undulatory movement of the fin in the water. The prototype based on this design was built with acrylic (Fig. 4(a)). Initial testing revealed that the thrust generated by the fin was not as high as hoped. The authors believe that the main reason was due to the fact that the tail was heavy and also thick. As a result, for further prototypes, the whole fin was built from sheets of polyester laminated together in different numbers to provide a variety of stiffnesses for evaluation. Individual sheets were laminated together and then cut in a CO laser.
The main components of the robotic fish locomotor are the tail and the actuator which are shown in Fig. 4(a). A waterproof servomotor was selected based on the torque and speed required to provide thrust via the tail. The motor holder and the body of the fish are made using 3D printed parts. A floating support was made using foam to help the fish to float in water (Fig. 4(b)).
Table 2 shows the average amount of force generated in all directions for different fin materials and designs. The result shows an increase in generated force with stiffer material while confirming the assertion made in  about producing more force with Larger back fin (Fig. 4(b)). Moreover, the fins were installed and the robot’s ability to swim was tested based on observation. One key observation was that as fin stiffness went up, rotation in the tail led to more rotation in the main body of the fish, rendering higher tail forces less useful at generating forward thrust. Thus, a final material thickness of 1.016 mm was used for subsequent fin designs.
|Material & width (mm)||Fin Design||Mean generated force||Swim ability|
4 Identification & Model Extraction
The goal of this section is to discuss the identification of the magnitude and direction of thrust which can be generated via changing control signals in the robotic fish platform. To this end, providing a model that relates the input and output of the system is studied. According to , flapping amplitude and frequency were the two control parameters found most effective at generating forward motion and thrust. Based on our design, placing the servo at the base of the tail, this permits us to select the servo’s angle as an input variable. The input to the system is selected to be the amplitude and range of the undulatory motion of the servomotor. Moreover, angular offset from the symmetric plane has the most effect on direction of the generated force (Fig 1). As mentioned before, the output of the system is the force generated by the tail propulsion, which is measured by the F/T sensor.
In order to identify the system, the 3 dimensional space of and is spanned (Eq. 1). To this end, for a known set of and , the servomotor is actuated for five cycles and the average forward force and side force are measured. The experiments were performed for , and . The limitations on the values of offset, frequency and range are due to limitations in motor maximum speed and the space limitations of the water tank used for experiments. This results in total of 2292 tests. The average force for each test case is presented in Fig. 5(a) and Fig. 5(b) with the values of offset , range and frequency plotted for reference. As illustrated in small zoomed plot in figures, for each test ( axis data), the servo propulsion parameters is shown(right axis) as well as the average value of force generated in forward and sideway directions (left -axis).
Based on obtained results, it was found that for the majority of propulsion regimes, the provided force in forward direction is negative. This means that due to special working conditions, in these regimes the propulsion will result in backward movement. This can affect the fish’s interaction with its environment. In other words, if the fish is used to push an object in a narrow canal with still water, certain command signals will result in the robot failing to apply positive normal forces to desired objects. From a controls perspective, the system is uncontrollable across much of the three-dimensional control space. As a result, in order to control the robot, a proper subspace with a controllable working regime should be selected and identified. As the goal is to interact with the environment, it is convenient to select a working regime in which the forces which are generated are as high as possible. The authors believe that the reason for negative generated forces lies in the reflected waves coming back from tank walls.
The maximum forward force is generated with Hz, and . Searching through the results obtained from spanning the control space, the subspace with fixed propulsion frequency of Hz is suitable, while the propulsion amplitude is approximately more than . With the frequency fixed, a second set of experiments was performed to study the dynamic behavior of the output force as a result of other input parameters change. To this end, was set to 0 and the range was changed according to a half-wave sinusoidal function according to the following equation:
The obtained results show a promising, controllable subspace that includes different propulsion regime which are capable of producing different values of force. It should be mentioned that the results show that the sideway force and as a result the angle of produced force is typically zero for symmetric propulsion.
To further understand the relationship between propulsion parameters and generated force, with frequency set at 1.4 Hz, the propulsion range was changed according a half-wave sinusoidal function, while, simultaneously, its offset was change according a full-wave sinusoidal function:
It should be mentioned that the frequency of change in amplitude and offset (0.002Hz and 0.004Hz, respectively) were selected differently in order to help with distinguishing their effects. The results are presented in Fig. 7(a) and Fig. 7(b), showing that the amount of forward force is highly correlated by propulsion range, while the sideway force is mainly effected by the offset of asymmetric propulsion.
In order to model the effect of propulsion parameters on forward and sideway forces, a model was fit to the experimental data using a least-squares approximation plotted in Fig. 7(a) and Fig. 7(b). In matrix form, this can be represented as the following:
|Elements||FF MAE||SF MAE|
In order to determine what should be in the basket of the fitted model, different combinations were used (Table 3). With considering mean absolute error (MAE) values, it can be concluded that a model with third-order terms provides the best MAE, however, the condition number of matrix containing input basket showed that the resulting matrix is close to a singularity and the data are not reliable. As the addition of second order does not improve the model significantly, the best model for the system is considered to be the first order model of .
The obtained model for forward force along with the original data is plotted in Fig. 7(a) with and both changing, while the obtained model for side force along with the original data is plotted in Fig. 7(b) with and both changing.
The identification results can be summarized by saying that in fixed propulsion frequency of Hz and propulsion amplitude larger than , the system has a proper behavior with a set of decoupled, linear input-output relations of propulsion amplitude-Force amplitude propulsion offset-force angle. These results support the principle of a tail-driven robot to control thrust and direction forces.
5 Controller Design
While the previous identification results provide a model for the average forces generated by fin propulsion, a dynamic model is also required for control procedures. Hence, the system response to a step input was obtained. For this purpose, the force is represented as magnitude and direction values instead of forward and side force. Regarding force magnitude, propulsion amplitude was set to from stationary and the resulting force magnitude was recorded. In the case of step response identification of force angle, while propulsion amplitude is fixed, the offset was changed from 0 to and the resulting force angle was recorded. Figures 8(a) and 8(b) show the step response tests for the force magnitude and angle respectively.
Based on the obtained results, a first-order transfer function with time delay is fitted to force magnitude step response:
Similarly, a same transfer function is fitted on the force direction:
These transfer functions are used in the system block in the block diagram of Fig. 9(a) alongside the system model for tuning control unit.
Evaluation of the results obtained for the sideway force amplitude (Fig. 7(a)) and force angle (Fig. 7(b)) show that in the studied working environment, the caudal fin propulsion is not able to provide consistently high forces for sharp turns in a narrow canal. It was also confirmed by a mobile prototype swimming test222It should be mentioned that applying controllers robust to uncertainties, such as sliding mode controller, was not applicable due to high noise in feedback force. As a result, the focus of controlling algorithms is the magnitude of force generated by propulsion.
As mentioned before, the identification and control strategy used in this paper is based on the amount and direction of generated force in a full cycle of fin propulsion. As a result, the data received from feedback unit at any time should be averaged over a whole cycle. Hence, a slave parallel process is defined in Python that works alongside of the main Python process and is responsible for determining the average magnitude and direction of the force generated within a single propulsion cycle (Appendix 1).
In order to provide a proper controller, the parameters of different PID controllers were tuned using the MATLAB Simulink PID tuning tool in order to be used in control system and then, due to modeling error, tuned more exclusively by experimental tests. A P controller was implemented in the first step. Figure 10(a) shows the generated force when the input reference force is a half wave sine signal. As can be seen, the P controller is not able to track the reference input force and have a considerable error for different gains.
To improve the performance, an integrator was added to the controller. However, the experimental results which are shown in Figure 10(b) show that the system is not able to track the input reference force signal in the first cycle. However, after one cycle, the input tracking is able to follow the reference input force. It should be mentioned that due to high noise in force feedback, the addition of a derivative term to the PID controller had a negative effect in controller performance.
Further improvements were subsequently achieved by adding a feed forward unit which is shown in Fig. 9(b). To this end, the model obtained from least square identification is used in the feedforward unit. As illustrated in Fig. 11(a), when the feedforward unit is added to the system, even a simple P controller is able to provide acceptable performance in tracking desired force. However, it can be seen that during more of the cycle, generated force stays slightly smaller than the desired force. In the controller with both feedforward and PI units, not only is the generated force able to follow the reference input from the first cycle, but its trend matches the desired force more precisely (Fig. 11(b)). The PID parameters for controllers with best performances used in the designed controller are summarized in table 4. Obtained data shows a noticeable decrement in the PID parameters values when the feedforward unit is added, which shows the positive contribution of this unit.
|Controller||P value||I value||D value|
6 Conclusion & Future work
There are many mechanisms for underwater propulsion. Bio-inspired methods are usually more energy efficient, which can be an important consideration in underwater autonomous vehicles. Based on this assumption, a fish inspired robot was designed and built to work in a narrow and shallow workspace such as a small canal.
Our main goal in this research was to find the best control strategy for the navigation of the fish in the canal. For this purpose, a test set up was designed and used for data acquisition and control. Since there are many uncertainties with underwater robotic fish working in narrow canals due to turbulence and hydrodynamic effects, building an accurate analytic model of the system is highly complicated. The methods introduced in this paper have been used to identify the relationships between the amplitude and frequency of the tail propulsion and magnitude and direction of the forces generated.
Experimental results showed that the model obtained for the generated thrust was linear with a good approximation when the propulsion magnitude varies linearly within the controllable regime. We can conclude that the caudal fin of the current generation of robot is not capable of producing enough consistent sideway force for sharp turns in narrow working environments.
Several linear controllers were tested to find out the best solution for generating directed thrust. The data shows that the PI controller with a feed forward unit is the best strategy to track the reference input force with acceptable accuracy. The obtained results demonstrate that by applying the feedforward feedback controller, it is possible to produce desired amounts of forward force by caudal fin propulsion even in narrow environments.
Future work includes using a higher-resolution, lower-noise force sensor which may permit selecting different control algorithms such as a sliding-mode controller to overcome the uncertainties in force angle. Moreover, a pair of pectoral fins will to be added to the fish in the next prototype in order to enable sharp turns. Biological studies have shown that the pectoral fins are also useful for generating thrust and are even used as main locomotion for low speed movement in fishes. This addition will permit our team to study simultaneous pectoral and caudal fin propulsion.
This work was supported in part by Salt River Project.
Appendix A: Data Flow In control system
-  Hirata, K., Takimoto, T., and Tamura, K., 2000. “Study on turning performance of a fish robot”. In First International Symposium on Aqua Bio-Mechanisms, pp. 287–292.
-  Wang, J., and Tan, X., 2013. “A dynamic model for tail-actuated robotic fish with drag coefficient adaptation”. Mechatronics, 23(6), pp. 659–668.
-  Wang, L., Xu, M., Liu, B., Low, K. H., Yang, J., and Zhang, S., 2013. “A three-dimensional kinematics analysis of a koi carp pectoral fin by digital image processing”. Journal of Bionic Engineering, 10(2), pp. 210–221.
-  Nguyen, P. L., Lee, B. R., et al., 2013. “Dynamic modeling and experiment of a fish robot with a flexible tail fin”. Journal of Bionic Engineering, 10(1), pp. 39–45.
-  Nguyen, P. L., Lee, B. R., et al., 2013. “Dynamic modeling of a non-uniform flexible tail for a robotic fish”. Journal of Bionic Engineering, 10(2), pp. 201–209.
-  Ren, Q., Xu, J., and Li, X., 2015. “A data-driven motion control approach for a robotic fish”. Journal of Bionic Engineering, 12(3), pp. 382–394.
-  Ren, Q., Xu, J., Fan, L., and Niu, X., 2013. “A gim-based biomimetic learning approach for motion generation of a multi-joint robotic fish”. Journal of Bionic Engineering, 10(4), pp. 423–433.
-  Siahmansouri, M., Ghanbari, A., and Fakhrabadi, M. M. S., 2011. “Design, implementation and control of a fish robot with undulating fins”. International Journal of Advanced Robotic Systems, 8(5), p. 60.
-  Chen, J., Hu, T., Lin, L., Xie, H., and Shen, L., 2010. “Learning control for biomimetic undulating fins: An experimental study”. Journal of Bionic Engineering, 7, pp. S191–S198.
-  Low, K. H., 2006. “Locomotion and depth control of robotic fish with modular undulating fins”. International Journal of Automation and Computing, 3(4), pp. 348–357.
-  Wu, Z., Yu, J., Tan, M., and Zhang, J., 2014. “Kinematic comparison of forward and backward swimming and maneuvering in a self-propelled sub-carangiform robotic fish”. Journal of Bionic Engineering, 11(2), pp. 199–212.
-  Zimmerman, S., and Abdelkefi, A., 2017. “Review of marine animals and bioinspired robotic vehicles: Classifications and characteristics”. Progress in Aerospace Sciences, 93, pp. 95–119.
-  Heo, S., Wiguna, T., Park, H. C., and Goo, N. S., 2007. “Effect of an artificial caudal fin on the performance of a biomimetic fish robot propelled by piezoelectric actuators”. Journal of Bionic Engineering, 4(3), pp. 151–158.
-  Marchese, A. D., Onal, C. D., and Rus, D., 2014. “Autonomous soft robotic fish capable of escape maneuvers using fluidic elastomer actuators”. Soft Robotics, 1(1), pp. 75–87.
-  Zhong, Y., and Du, R., 2016. “Design and implementation of a novel robot fish with active and compliant propulsion mechanism.”. In Robotics: Science and Systems.
-  Liu, J., and Hu, H., 2010. “Biological inspiration: from carangiform fish to multi-joint robotic fish”. Journal of bionic engineering, 7(1), pp. 35–48.
-  Low, K., and Chong, C., 2010. “Parametric study of the swimming performance of a fish robot propelled by a flexible caudal fin”. Bioinspiration & Biomimetics, 5(4), p. 046002.
-  Scaradozzi, D., Palmieri, G., Costa, D., and Pinelli, A., 2017. “Bcf swimming locomotion for autonomous underwater robots: a review and a novel solution to improve control and efficiency”. Ocean Engineering, 130, pp. 437–453.
-  Aukes, D. M., Goldberg, B., Cutkosky, M. R., and Wood, R. J., 2014. “An analytic framework for developing inherently-manufacturable pop-up laminate devices”. Smart Materials and Structures, 23(9), p. 094013.
-  Aukes, D. M., Ozcan, Ö., and Wood, R. J., 2014. “Monolithic design and fabrication of a 2-dof bio-inspired leg transmission”. In Conference on Biomimetic and Biohybrid Systems, Springer, pp. 1–10.
-  Borazjani, I., and Sotiropoulos, F., 2008. “Numerical investigation of the hydrodynamics of carangiform swimming in the transitional and inertial flow regimes”. Journal of Experimental Biology, 211(10), pp. 1541–1558.
-  Chen, S., Billings, S. A., and Luo, W., 1989. “Orthogonal least squares methods and their application to non-linear system identification”. International Journal of control, 50(5), pp. 1873–1896.