## A

Table 3. Maximum and minimum current draws in supply wires 1 and 2

In fish motion, it is of interest to know the amplitude of the wave that the tail section follows, as well as the angle of attack of the caudal tail fin. A digital video camera was used to capture the motion of the fish swimming. Using a 5 mm grid on the bottom of the test tank, the amplitude of the motion and angle of attack of the caudal tail fin was observed as shown in Figure 16.

Table 3. Maximum and minimum current draws in supply wires 1 and 2

In fish motion, it is of interest to know the amplitude of the wave that the tail section follows, as well as the angle of attack of the caudal tail fin. A digital video camera was used to capture the motion of the fish swimming. Using a 5 mm grid on the bottom of the test tank, the amplitude of the motion and angle of attack of the caudal tail fin was observed as shown in Figure 16.

Fig. 16. Maximum displacement and angle of attack of caudal tail fin

Properly installing each SMA wire to the exact length was difficult because of the attachment design. The result was that the amplitude of motion on each side was not perfectly equal. It was predicted that the range of motion of the caudal fin of the prototype would be 100 and the amplitude will be 0.08 m. Measurements taken from the video footage gave the results presented in Table 4. Evidently amplitude was over-predicted and angle of attack under-predicted in the design simulations. Note that the camera position was stationary, creating a parallax effect due to the single focal point. This was compensated for in the measurements of amplitude and angle of attack. From measurements taken in the SMA wire calibration process, strain in each wire is estimated to be 5% ± 0.5%. This is the maximum repeatable strain that the SMA can recover from. Using the load cell mounted on the test jig, the forward thrust developed by the prototype was measured. The thrust was found to vary over one period of wave motion, as expected. The maximum force that the prototype generates is 1 N.

 Port Starboard Max Tail Amplitude Max Angle of Attack Max Tail Amplitude Max Angle of Attack 5.6 cm 170 5cm 140

Table 4. Maximum amplitude and angle of attack of caudal tail fin

Table 4. Maximum amplitude and angle of attack of caudal tail fin

Given the power consumption during operation, the overall level of performance, particularly the thrust developed, was not satisfactory. There are a number of contributing factors. The first limitation due, to the SMA actuators, is the speed of operation. The maximum operation speed of 0.5 Hz is much lower than other prototypes currently in testing. This is also lower than typical fish non-dimensional tail beat frequencies. The control software is currently the limiting factor on the frequency, and it is believed that an operation speed of 1 Hz (maximum attainable using SMA) would produce much better results.

The second limiting factor on the performance is the amplitude of motion, particularly the displacement of the caudal tail fin. With the SMA wires operating at 5% strain, they do not produce enough displacement for the body of the fish or the caudal tail fin. The potential flow analysis predicted that the optimal angle of attack is 300 for maximum thrust. The prototype was only able to produce a maximum angle of attack of 170.

Nevertheless, the emulation of the swimming mode of a Bluefin tuna for UUV propulsion presents exciting possibilities for performance improvements over more traditional designs. The vehicle design, using an adaptive structures approach, has been able to realize a significant reduction in the level of complexity of the vehicle. Construction and testing of the SMA fish prototype has highlighted the benefits and challenges inherent in this approach to biomimetics. While the magnitude of thrust generated was not high enough, its low value can be attributed to the control software, rather than mechanical design. Future prototypes may utilize faster control software and a degree of freedom for the entire body to enhance performance. In addition, a tail section using conventional mechanical servo mechanisms for actuation is being developed to better understand the issues associated with fish motion, independently of unique issues associated with the adaptive structures approach of the SMA fish.

For this first prototype, power consumption was not a major design factor. This is because the main goal was to simply verify that forward motion was attainable. However, in a practical application, SMA actuators require too much power to be useful. The 300 W that the fish required would require a power source similar to a car battery for only one hour of operation. It is not a practical approach for autonomous vehicles. Thus, a new design based on servo-motors is presented next in order to overcome some of the limitations dicussed in the SMA design.

8. The servo tuna: prototype II

Based on the lesson learned from the SMA based propulsion, it was observed that the shape adaptation system needs an actuation system that is reliable, controllable, flexible and energy efficient. It was determined that position control using servomotors are much simpler as the degree of rotation is directly proportional to the input duty cycle. The first servomotor-driven prototype had two joints and two servomotors. A tail (caudal) fin was constructed with the same proportions as a Bluefin Tuna. A waterproof case was constructed for the motors because servomotors are not meant to be operated underwater. For ease of construction, a single watertight case was built to house both servos. The case is a rectangular box, machined out of aluminum. There is a channel for an O-ring and tapped holes, where a plexiglass cover was attached. Directly above the output gears of the servos are two holes to allow the spindles to pass through. A counter bore was above both holes, where an O-ring could create a seal between the case and the spindle. The development of the prototype is chronicled in Figures 17-22.

The servo closest to the caudal fin controlled the rotation of the between the servos and the caudal fin. The servo closest to the nose of the fish controlled the caudal fin by way of linkages. Because the links were located on one side of the apparatus, mechanical interference occurred when the tail flapped toward the opposite side. A problem arose from the connection between the motors and the spindles. This tuna used an injection-molded plastic piece to connect the servo to the spindle. The plastic piece was glued and press fit over the bar, which was the spindle. This union held for the first few trials, but after repeated use, the spindle began to rotate in the plastic piece. As a result, the joint being rotated would not reach the same position as the servomotor, causing the flapping of the tail to meander. A new spindle was designed. Also, the placement of the servomotors were changed to avoid interference.

For the complete model, the prototype II ServoTuna uses four servomotors to move four mechanical joints located on the rear half of a tuna-like body. The design of the single link model was changed to accommodate the two additional servos, and the mechanism that rotated the caudal fin was improved to avoid mechanical interference.

The components of the prototype II were made of aluminum. The principle of having a waterproof case for the servomotors was retained, but each servo had its own case. Figure 21 illustrates the isolation of the servomotors that eliminated the problem of parts interfering with each other, as no single joint could rotate more than 90°. In order to save time, a few parts were modified only slightly from the original servo fish. The bearings and journals about which the caudal fin rotated were kept and the pieces used to attach the caudal fin to its servo were modified only slightly. They were shortened to offset the length added by the two extra servos.

To simulate the most lifelike swimming motion, the pivot point for the caudal fin was placed as close to the start of the fin as possible. Bluefin Tuna are quite narrow near the caudal fin. In order to keep the shape of the fish as realistic as possible, the servomotor controlling the fin had to be farther back from the joint. Therefore, a linkage between the servo and the pivot point was necessary. Four ball joints were used to transfer the rotation. The ball joints accommodated changing directions of force and the difference in height between where they attached to the spindle and to the fin. The ball joints were connected with a piece of ready rod. This set-up allows the ball joints to be reused if the distance between them is changed.

The other three joints were identical to each other. A bracket was screwed into the back of the preceding servo case. The bracket clamped the spindle and aligning pin. These two parts made the axis the joint will pivot around. The spindle rotated with the motor. The aligning pin slid within a Delrin bearing. The bearing was fit into a recessed circle in the bottom of the case. The purpose of the aligning pin was to oppose the moment created by the weight of the other joints.

The spindles were designed to fit over the splined output shaft of the servo and transfer the rotation to the joint bracket, outside the servo case. It was decided that the spindle should be one solid piece rather than two pieces joined together. The spindle had to be able to pass through the 0.65 cm hole in the case from only one direction, so the end that fit over the motor shaft could have a larger diameter than 0.64 cm. Because the spindle would be slid in from the interior of the case, the spindle had to be able to slide up far enough to be out of the way when the servomotor was inserted. Once the motor was in place, the spindle could be pushed onto the output shaft. The complete ServoTuna fish with the four servomotors is shown in Figure 23.

The cases were boxes made of aluminum and plexiglass. The center of the aluminum had a shape resembling a spool of thread cut out of it. This recess was where the servomotor was placed. The semicircles at the four corners were to give room for the wires exiting the servo and to allow the motors to be removed easily. Around this cutout was a groove meant for a gasket, which sealed the aluminum to the plexiglass cover. Four screws fastened the cover to the aluminum case. Another hole was drilled through the top of the case. This hole served as an exit point for the servomotor wires. Three wires roughly 7.5 cm in length passed through this 0.3 cm hole and were epoxied in place to create a permanent seal. Inside the servo case, these wires connected with those on the motor. This arrangement provided a reliable seal without permanently attaching the motors to the cases.

At the bottom, the bracket was connected to the aligning pin by clamping it in a circular hole. The slight gap between the two ends of the clamp forced the ends together when the screw was tightened. This type of clamp is an effective method of preventing rotation and vertical motion. Also, the aligning pin did not need additional machining, such as holes or notches and, as such, did not require any special clamps. Creating the clamp on the end of the bracket was more time consuming than simply drilling and tapping a hole into the end of the bracket, but the result was a much stronger grip. The servo cases, which protected the motors from water damage, were 5 cm square and 0.65 cm deep. Due to the complex shapes in the servo cases, they were all made using the CNC milling machine.

Fig. 17. Single actuator model Fig. 18. Linkage Connecting Servo to Caudal

Fin Joint

Fig. 17. Single actuator model Fig. 18. Linkage Connecting Servo to Caudal

Fin Joint

Fig. 19. Servo Holder and Spindles Fig. 20. Servo holder details
Fig. 21. Spindle design details Fig. 22. The four-actuator model

Fig. 23. The Servo Tuna: Prototype II 8.1 Servo controller

There were several tasks the control program had to perform. The most important function was to move the servos in such a way as to create a traveling sine wave along the tail.

During experimentation, it was desirable to change the amplitudes of the servos individually and be able to adjust the frequency of the motion.

The servomotors were controlled by Pulse Width Modulation (PWM). The data acquisition cards used with LabVIEW could only support two servomotors. Therefore, to run four servomotors the LabVIEW program would have to use two data acquisition cards. Also, LabVIEW could not use multitasking/multithreading, which allows several processes and functions to operate simultaneously. Multitasking/multithreading would be helpful with controlling four servomotors. The two most viable options were a Motorola microprocessor, the 68HC11 in particular, and a servo controller called the Phidget QuadServo. The Phidget QuadServo is a small circuit board with plug-ins for four servomotors. It is programmed using Visual Basic, and it plugs into the USB port on any computer. The QuadServo is not a microprocessor because it will not run while disconnected from the computer. This program is object oriented, and, unlike Interactive C, the programmer starts by creating a user interface with various buttons and numerical inputs. A PIC microcontroller was selected for the control system. The model is a PIC16f876, a 24 pin device with PWM capability and a 10 bit A/D built in. The programmer selected is a QuickWriter model from Digikey. The in circuit programming mode was selected so that the robot could be programmed without disassembling it.

A schematic of the controller is shown in Figure 24. The pins from B0 to B7 are used for the servo control. A terminal is used to view the operational menu of the single chip computer. Optionally a palm pilot can be used as the terminal. The max232 chip simply changes the voltage levels from +/- 9 volts on the terminal side to 0 or 5 volt logic on the microcontroller side. A reverse biased diode is used to capture the inductive spikes generated by the motors.

Since they are all in parallel on the power one diode will do the job. Six analog 10 bit inputs are available for navigational control which might use sonar to detect the sides of a pool.

Fig. 24. The servo controller

8.2 The moving wave pattern

The moving wave is achieved by taking the tail motor through its range of motion in a sequential way. Each additional motor starting at the tail has its range of motion cut in half as compared to the previous one. The sine wave passes down the fish with the tail moving the most. The movement tapers off as distance from the tail increases. The code is written for a commercial PIC microcontroller C compiler by Custom Computer Services. The compiler is called PCH.

The fish was prepared for free swimming. A 4 amp hour 6 volt gel-cell type battery was added internally. Surface swimming was effective and achieved a swimming speed of about 0.3 meters/second. The swimming was done outdoors at Prior Lake. In the swimming tests, the most efficient algorithm was the straight S-wave, without the damping factor. The fish was programmed with regular turns which were achieve by simply biasing the tail movements to the left or right. Running in the indoor tank, swimming efficiency was compared after a number of modifications were made to the design. The measured thrust varied betwen 0.5 - 1.0 N. During experiments, we tested the following different designs:

• Different swimming patterns ranging from a strait S pattern to attenuated S patterns known as "travelling wave" patterns.

• Different elastic skin coverings for the tail section.

• Various flexible sheets of material to connect the tail sections.

• A dive plane mechanism to provide for increased lateral stability and to provide for underwater navigation.

8.3 Prototype II: thrust experiments

The most interesting result was that the "traveling wave" pattern programmed into the microcontroller did not perform anywhere near as well as a simple sine wave programmed wave. When viewing the motion of the tail from above in the water the sine wave pattern, due to the forces of the water became a traveling wave pattern. This occurred because the servo motors at the base of the tail were not able to achieve full displacement due to the forces of the water on the tail sections. As we looked into the displacements of each servo we found that more movement was possible as we get closer to the tail. Finally at the tail the servo was achieving a full displacement.

It was remarkable that the classic "traveling wave" pattern that is in all the literature on fish locomotion may be simply a result of the resistance of the water imposing natural limitations on the muscle movement of the fish. This simplifies the software design. This has important implications for the design of robots. It means that it is only necessary to program in a straight "S" or sine swimming pattern into the tail. When the fish is pushed beyond a certain speed the tail motion will become a "traveling wave" pattern instead. When the "traveling wave" pattern was programmed, it resulted in a poor thrust measurement. The current design can read analog inputs. Thus it can read a sonar input (used in Polaroid land cameras) to see how close a pool edge is. It can do other things like sense light. The PIC16f876 chip currently used in this research project can sense 5 analog inputs in all. The fish might change direction by 90 degrees whenever it "saw" the pool wall coming up. That would be a good first step into auto-navigation. The sensors were tested and found to be effective in detecting an underwater wall.

### 9. Lessons learned and concluding remarks

The SMA approach offered low thrust (1 N). This was caused by a limitation on speed of recovery time (1 second). The approach by necessity requires excessive power consumption by a factor of 100 or more. This is because large amounts of energy are required to actuate a submerged piece of SMA wire. The power requirement was in excess of 300 watts. An autonomous vehicle is not likely to be achievable using this approach.

The Servo approach on the other hand presented no such limitations. Power consumption was very modest. Five watts of power was sufficient for 4 servo motors which can be supplied by a small battery. Swimming can be easily programmed into a single chip computer making autonomous craft possible. Sensors can be used for auto-navigation. We have achieved autonomous operation with a single chip computer and a gel cell battery. The thrust of this unit ranged from 0.5 N to 1.0 N.

Waterproofing is very difficult to achieve when a rotating shaft bearing is involved. Waterproofing was achieved by combining the use of O-rings with the filling of the engine cavity with silicone grease. There was no leakage because the water could not displace the grease. The O-ring served only to keep the grease and water from mixing and to keep sand out of the mechanism. This is a key process for the successful construction of underwater robots of all types.

A very interesting result was that the "traveling wave" pattern programmed into the microcontroller did not perform anywhere near as well as a straight sine wave programmed wave. When viewing the motion of the tail from above in the water, the sine wave pattern, became a traveling wave pattern due to the forces of the water. This occurred because the servo motors at the base of the tail were not able to achieve full displacement. As we looked into the displacements of each servo we found that more movement was possible as we get closer to the tail. Finally at the tail, the servo achieved a full displacement. Another interesting conclusion is that the "traveling wave" pattern documented in all the classic literature on fish locomotion may be simply a result of the resistance of the water imposing limitations on the muscle movement of the fish. It is not a pattern that is created by the fish as much as it is a pattern derived from the interaction of the fish and the water. When a "traveling wave" pattern was programmed into the controller, the thrust performance was greatly reduced.

The S-pattern program combined with a speed of motion changes to a "traveling wave", provides greater stability when the fish encounters turbulent water. The motors will travel further when they encounter less resistance on one side of the fish, compensating for the reduced pressure of the water. Similarly the motors will travel less when they encounter an increase in water resistance. The result is a fish movement that is quite resistant to turbulent waters.

This has important implications for the design of robots. It means that it is only necessary to program in a straight "S" or sine swimming pattern into the tail. When the fish is pushed beyond a certain speed the tail motion will become a "traveling wave" pattern instead. The fish will be less affected by turbulent water if it operates in the over driven mode. For this reason it is desirable to choose servo motors which will experience attenuation of their full travel by the forces of the water at the maximum desired speed.

Full Navigational Control: Left and right navigation are easy to achieve by simply putting a left or right bias into the servo-motor nearest the body of the fish. This slants the tail left or right. In our free swimming tests this method worked very well. The dive planes should achieve diving and underwater control when combined with a buoyancy controlling mechanism. The current prototype did not have enough free space in its interior to include this type of control.

Ballasting and Stability: We were able to achieve underwater stability by handing a round lead weight from the bottom of the fish. This ensures that the center of gravity is well below the center line of the fish. By adjusting its position forwards and backwards we can adjust the balance of the fish so that it sits horizontally in the water from nose to tail. It is a simple technique to compensate for the performance of the robot as internal components are added. Predicted Cruising Distance: The battery used offer 4 Ah. The current consumption of the fish is approximately 1.6 A. This means that we can cruise for approximately two hours (without fully discharging and damaging the battery). The speed was about 0.3 meters/ sec. Therefore the cruising distance was about 2 kilometers. The following work could be achieved in a future development project:

• Scale up the robot by a factor of 200-300 percent.

• Use more powerful servo motors to achieve greater speeds.

• Research has shown that only 3 tail servos are required. This simplifies the design in many ways.

• Use dive planes for underwater navigation.

• Sonar remote control will be added.

• Add a camera for underwater viewing that can store the images for later recovery.

## Learn Photoshop Now

This first volume will guide you through the basics of Photoshop. Well start at the beginning and slowly be working our way through to the more advanced stuff but dont worry its all aimed at the total newbie.

Get My Free Ebook