Squid-Jet: Bio-Inspired Propulsion System for Underwater Vehicles

1Short Project Description


3About Me

4Question / Proposal


6Method / Testing and Redesign


8Conclusion / Report

9Bibliography, References and Acknowledgements











Squid and some other sea creatures use a very efficient mode of locomotion, know as jet propulsion. Squid will draw water into a bladder through a hole called the mantle, and then they force it out, by contracting the bladder, to shoot forwards in speeds of up to 40 km/hour. 

Implementing this technique in underwater vehicles can vastly improve the efficiency with which they locomote. My proposal is Squid-Jet, a bio-inspired underwater vehicle that uses jet propulsion to its advantage. Squid-Jet easily outperforms current manmade propulsion systems and can reach speeds in excess of 30 cm/second.















Scientists realized most man-made underwater propulsion technologies are inferior to locomotion modes evolved by sea creatures. This project characterized the performance of a bio-inspired hybrid pneumatic hydrojet propulsion system mimicking a squid’s mode of locomotion. A prototype Squid-Jet was built that moves underwater using pulsed jets of water produced when a rubber bladder within a sealed enclosure is squeezed by air pressure. Air flow provided by a compressor is applied through a solenoid valve controlled using a current amplifier and an Arduino microcontroller.

A total of 1240 experiments were conducted. A special test rig ensured repeatability across experiments and reduced the effects of other factors (hydrodynamics and buoyancy). The experiments tested four hypotheses varying the input air pressure applied to the Squid-Jet, control parameters, and the effect of different diameters of the nozzle used to expel the water jet produced by compressing the rubber bladder. All experiments used the same test rig, water test tank, external compressed air source, and squid chamber design and materials.

Tests confirmed the effectiveness of using short duration pulses combined with sufficiently long recovery periods to allow the rubber bladder to refill. Data showed Squid-Jet performance is sensitive to not allowing sufficient time for the rubber bladder to expand between pulses.

The principles used in these experiments have practical applications for underwater propulsion:  ecological cleanup, navigation in dangerous environments unsuitable to traditional propulsion, marine biology, and defense related.  A detailed error analysis was included and several directions for future work identified.

Hi! My name is Alex and I am an 8th grader in Plano, Texas. As an avid swimmer and scientist, this project naturally intrigued me when I first got the idea. I have been swimming ever since I saw Michael Phelps dominate the 2008 Beijing Olympics, 5 years ago. As I swim through the water, I constantly wonder about underwater vehicles, like submarines, which are big, bulky, and couldn't possibly swim as fast as Michael Phelps. I wanted to find a way to improve these vehicles and continue pursuing science. Thus, Squid-Jet was born.

I enjoy science very much. Several opportunities sprang up. For example, I am taking advanced math courses: High-School-level Geometry in school and Algebra II as an extra-curricular. Perhaps the most exciting experience for me was when I was invited to go to a mechanical engineering research lab at SMU, a university in nearby Dallas. While there, I learned about 3D modeling and got experience seeing top-notch researchers at work. At SMU, my interest in this project blossomed, and I decided to continue Squid-Jet.

Not only combining my passions, Squid-Jet can also help by cleaning up oil-spills, being a cheap robot to send into dangerous areas, and advancing evasive and defensive maneuvers in Navy Submarines. Winning the fair would motivate me to investigate and build an autonomous Squid-Jet prototype with a built-in power source. This project has really helped me become a better scientist, and I look forward to continuing my research in the future.

Underwater propulsion systems are required for many different applications: oil spill cleanup, marine biology studies, defense systems, natural gas, oil, or water pipelines. This project explores the problem of characterizing the performance of a bio-inspired hybrid pneumatic hydrojet propulsion system that mimics squids’ locomotion modes. The Squid-Jet prototype built for this project moves underwater using pulsed water jets produced when a rubber bladder within an airtight enclosure is squeezed by air pressure. Airflow, provided by a compressor, is applied through a solenoid valve controlled using a current amplifier and an Arduino microcontroller.

The following hypothesis is stated:

The distance covered and the average speed attained by Squid-Jet depends on the number of pulses and pulse duration with which the bladder operates, and on the recovery duration allowed for the bladder to expand and refill with water.

Three additional hypotheses are listed:

1.     If the input air pressure Pin applied to Squid-Jet’s bladder increases, then the average speed of Squid-Jet will increase.

2.     If the duration of the pulses applied to the squid increases, then the average speed and distance traveled underwater by Squid-Jet will increase. Beyond a certain pulse frequency, Squid-Jet’s speed will plateau/decrease.

3.     Higher diameter squid propulsion nozzles reduce the maximum speed and distance covered for equivalent input air pressures.

The goal of this project is to evaluate the characteristics of a bio-inspired underwater propulsion system that mimics pulsed jet locomotion used by squid.

Experimental Groups

This project investigates the characteristics of a hybrid-pneumatic hydrojet propulsion system that allows underwater vehicles to mimic jet propulsion modes similar to squid and jellyfish.

Underwater navigation is needed for a variety of tasks from marine biology to ultra-quiet submarine propulsion that allows rapid attack or evasion. Scientists have come to realize that most man-made underwater propulsion technologies trail behind the locomotion modes sea creatures have adapted over time. Several species of underwater sea creatures use jet propulsion with a sequence of pulses (as opposed to a continuous jet). Squids and jellyfish have adapted this technique for use in evading predators, cornering or confusing prey, and underwater navigation. In some cases, squid species are capable of using pulsed jet propulsion combined with gliding to actually fly above water.

The Squid-Jet underwater propulsion system investigated in this project mimics the pulsed jet locomotion mode exhibited by real squid and has a variety of useful applications:

•      Ecological clean-up and recovery during oil spills (such as the BP oil spill that affected the Gulf of Mexico in 2010). A swarm of Squid-Jets could work in either tethered or untethered mode (depending on whether they carry their own source of pneumatic power) and collaborate in a distributed autonomous or semi-autonomous manner to work on tasks that would otherwise require significantly costlier or riskier modes of propulsion. Similar applications may be conceived for tasks such as natural gas or oil pipeline maintenance and repair.

•      Marine biology studies that allow a robot mimicking squid propulsion to approach or pass unobserved in close proximity to animals under study.  A bio-inspired propulsion method such as the one studied in this project would not exhibit the same sound signature as other man made propulsion systems, hence increasing the chance of approaching sea creatures in their natural habitat without raising alarm.

•      Highly efficient propulsion that allows fast movement under water – squid can evade predators or attack prey at speeds in excess of 40km/hr. Defense related applications can take advantage of that, for example submarine propulsion, torpedo propulsion, as well as defensive or evasive underwater counter-attack devices.

The Squid-Jet prototype built in this project uses compressed air produced by an external compressor. In practice, there exist compressed air generation solutions based on catalytic chemical reactions using hydrogen peroxide (see for example the work led by Professor Goldfarb’s Design and Control of Energetic Systems research group at Vanderbilt) that can be effectively included onboard the Squid-Jet and sever the tether thus opening up the potential for truly autonomous underwater navigation. The monopropellant powered systems described in [13] or the pneumatic battery described in [14] could be combined with the Squid-Jet propulsion system and would significantly improve the usefulness of the hybrid pneumatic hydrojet propulsion system to application areas such as oil spill cleanup, gas pipeline survey and maintenance, and others.



Construct the Squid-Jet robot according to designs.

Program the Arduino microcontroller to setup a loop that controls the pulse length and recovery period duration for the squid. Using a breadboard, set up a digital interface circuit to allow the Arduino microcontroller to control the flow of air to the squid using a solenoid controlled valve. Set up the breadboard connections to the Arduino using Figure 2.

Build the test rig used to evaluate robot squid performance (see Figure 3 for a view of the finished rig). Mark a distance scale on the 40cm long wooden strip using 1cm gradations and finer 0.2cm marks. See Figure 4 for a view of the whole setup in place during experimental measurements.

Connect the Arduino via Mini USB to the PC. Connect the DC power supply to the circuit on the breadboard.

Positive connection goes to pin 8 of the H-bridge. Negative connection goes to ground of the breadboard. Download the Arduino microcontroller program to the Arduino board and test the set up using the switch on the breadboard to ensure the valve pulses.

Choose the next value of pulse frequency for the selected experiment. Make sure the air compressor pressure limiter is set to the air pressure value associated with the experiment. Position the squid at one of the test rig and make a note of the distance scale value that the tip of the squid is over. Open the air compressor valve; activate the switch on the breadboard, and time how long it takes for the squid to go until the number of pulses for that experiment is complete. Make a note of the ending distance scale value that the tip of the squid is over.

Tabulate the measurement data in Excel: trial number (which measurement in the scenario experiment), parameter values (pulse length, period length, recovery duration, Pin value, number of puzzles, nozzle diameter), and measurements: distance covered, timed duration of movement. Compute and tabulate the average speed for this trial. Repeat each configuration 20 times for each combination corresponding to the scenarios. Analyze the data and create graphs to summarize the results.



Each experiment captures values using the appropriate steps in the procedure for the following metrics:













Experimental data analysis using basic statistical analysis techniques is conducted for all experimental groups. There are two main sets of experiments:  single pulse and 5 pulses. Each experimental group comprises additional experiments based on other independent variables settings. Each experimental group scenario provides 20 trials, for valid analysis.

Given a valid data set corresponding to an experimental group, the following metrics are evaluated:

  • Sample mean estimate based on all valid data samples for each configuration
  • Standard error of the mean calculation
    • This is calculated using the standard deviation divided into the square root of the number of samples
  • 95% confidence interval on the dependent variables

The following tables summarize experimental results corresponding to the main experimental groups.

There are a total of 1240 valid data samples collected across 62 measurement scenarios in the project. The following chart graphically illustrates the above tables.

The chart captures sample mean estimates that show an interesting thing: for the same pulse length duration, the average distance traveled for different recovery duration increases at first, to peak around the recovery duration value of 630ms, and then decreases. This confirms the second additional hypothesis (squid propulsion experiences a “sweet-spot” associated with a particular combination of pulse length and recovery duration). The increase in average distance traveled underwater is 125% across all three values for Pin, while the “dip” corresponds to a decrease of 12.6%.

In addition, these results confirm the first additional hypothesis (increasing Pin will increase the distance traveled). The results show that as Pin increases from 551.6kPa, to 620.55kPa, and 689.50kPa, the average distance traveled by the squid underwater increases by 37% and 20%, respectively.

To analyze the characteristics of Squid-Jet propulsion in more detail, the next set of experiments looked at single pulse configurations using varied pulse lengths and different Pin settings.

The average speed increases with both pulse lengths as well as with external air pressure Pin. . In contrast with average distance measurements presented in the previous graph, there is no gradual tapering off occurring since Squid-Jet’s average speed continues to increase. At the top end of the results, Squid-Jet can travel underwater as quickly as 25cm/s (approximately 1km/hr). The last set of results illustrates the effect of using a nozzle with a higher diameter. Only subsets of the configurations in single pulse tests have been executed for this combination, however the results are consistent.

The pulse length is 250ms. Pin varies across 3 values for all cases. Numerical results show that average distance decreases between 40% and 54% with the larger diameter nozzle.

See website for all 1240 data samples: https://sites.google.com/site/squidjetscience/home/rawdata

My hypothesis was that the distance covered and the average speed attained by the Squid-Jet depends on the number of pulses and pulse duration with which the bladder is operated and on the recovery duration allowed for the bladder to expand and fill up with water.

The results indicate that the hypothesis should be accepted because both the average distance as well as the average speed of the Squid-Jet traveling under water reflected the variation hypothesized. The distance covered and the average speed attained by the Squid-Jet depends on the number of pulses, pulse duration, and recovery period duration.

The experiments support the hypothesis and demonstrate several additional points:

  • Rapid pulses with 630ms recovery are best: result in the longest average distance and highest average speed in tested configurations with 5 pulses.
  • For single pulse scenarios, longer pulses result in farther distances and higher speed
  • For the all scenarios considered, increasing external air pressure Pin increases performance significantly, provided the recovery duration is sufficiently large
  • The larger diameter nozzle reduces both distance and speed the same amount of water flows through the nozzle across a larger surface area; hence the force exerted upon the water is smaller.
    • The same amount of water flows through the nozzle with larger surface area; hence the force exerted upon the water is smaller. This confirms the last side hypothesis presented initially, namely that increasing the size of the nozzle will reduce performance of Squid-Jet.

The intuition behind these results is that the efficiency of squid propulsion depends on the frequency with which the external air pressure “squeezes” the rubber bladder inside the airtight squid enclosure. As it turns out, more rapid sequences of pulses are better, provided that the recovery duration is long enough to allow the rubber bladder to expand back to its normal size.

Exceedingly large recovery durations however are not as useful, since the rubber bladder is already expanded and therefore time is lost awaiting the beginning of a new period. However, if the recovery duration is too brief, the squid will not have sufficient time to expand back, so with each new period, there is less and less water volume available to be expelled to propel the squid. The results analyzed from these scenarios confirm the intuition and indirectly provide strong evidence for agreeing with the hypothesis of the project.

The data shows that as external air pressure Pin increases, the average distance traveled on a single pulse of air increases quite a bit. The water test tank used for these test cases is too small, as Squid-Jet routinely surpasses the length of the tank (20.6cm). Another insight due to these runs is the fact that results underscore the sensitive nature of the relationship caused between pulse length and recovery duration. Furthermore, increasing the pulse length duration results in very significant (in excess of 100%) increases in the average distance traveled underwater.

1.           "Arduino - HomePage." Arduino - HomePage. Arduino, 2012. Web. 11 Oct. 2012. https://arduino.cc/en/

2.            "DC Motor Control Using an H-Bridge." Physical Computing at ITP. Tisch ITP, 24 Oct. 2011. Web. 22 Sept. 2012. https://itp.nyu.edu/physcomp/Labs/DCMotorControl

3.            Dellaporta, J., and Niki Foster. "What Is a Resistor?" WiseGeek. Conjecture, 27 Sept. 2012. Web. 11 Oct. 2012. https://www.wisegeek.com/what-is-a-resistor.htm

4.            Graner, Vern. “Pneumatics in Robotics.” Notepad.org. n.p. February 2009. Web. September 19, 2012. https://www.notepad.org/articles/16-PneumaticRobotics.pdf

5.            "H-Bridge Theory & Practice -- Chuck's Robotics Notebook." H-Bridge Theory & Practice -- Chuck's Robotics Notebook. N.p., n.d. Web. 11 Oct. 2012.https://www.mcmanis.com/chuck/robotics/tutorial/h-bridge/index.html

6.            "Hooke's Law." Kids.Net.Au. N.p., 2012. Web. 11 Oct. 2012. https://encyclopedia.kids.net.au/page/ho/Hooke's_law

7.            "How Do Solenoid Valves Work?" EHow. Demand Media, 07 May 2009. Web. 19 Sept. 2012. https://www.ehow.com/how-does_5002239_solenoid-valves-work.html

8.            Martinez, Ramses, Fish, Carina, Chen, Xin, and Whitesides, George. "Elastomeric Origami: Programmable Paper-Elastomer Composites as Pneumatic Actuators." The Whitesides Group. WILEY-VCH Verlag GmbH & Co., 2012. Web. 16 September 16, 2012. https://gmwgroup. harvard.edu/pubs/pdf/1145.pdf.

9.            "OSEPP Uno R3 Plus." OSEPP Uno R3 Plus. N.p., n.d. Web. 11 Oct. 2012. https://osepp.com/products/arduino-compatible-boards/uno-r3-plus/

10.            "Rubber Band." Wikipedia. Wikimedia Foundation, 9 Oct. 2012. Web. 11 Oct. 2012. https://en.wikipedia.org/wiki/Rubber_band.

11.            "Squid Power: Propulsion Systems Modeled on Nature." LiveScience.com. TechMediaNetwork.com, 12 Dec. 2006. Web. 16 September 16 2012.https://www.livescience.com/9431-squid-power-propulsion-systems-modeled-nature.html.

12.            "Solenoid Valve and Electric Valve Information." Solenoid Valve and Electric Valve Information. Solenoid-Valve-Info, n.d. Web. 19 Sept. 2012. https://www.solenoid-valve-info.com/.

13. P. Goldfarb, N. Gulati, E. J. Barth, "Dynamic Modeling of a Monopropellant-Based Chemofluidic Actuation System." ASME Journal of Dynamic Systems, Measurement, and Control, vol. 129, no. 4, pp.435-445, July 2007. https://www.vanderbilt.edu/dces/PDF/papers/journal/JDSMC%20Monopropellant%20Modeling.pdf.

14.            Cagdas D. Onal, Xin Chen, George M. Whitesides, Daniela Rus ," Soft mobile robots with on-board chemical pressure generation." International Symposium on Robotics Research (ISRR) - August 2011 https://www.isrr-2011.org/ISRR-2011/Program_files/Papers/Onal-ISRR-2011.pdf.




Arduino Program

const int switchPin = 2;      // switch input

const int motor1Pin = 3;      // H-bridge leg 1 (pin 2, 1A)

const int motor2Pin = 4;      // H-bridge leg 2 (pin 7, 2A)

const int enablePin = 9;      // H-bridge enable pin

const int ledPin = 13;        // built-in LED pin on the Arduino Uno

boolean keepGoing=0;          // keepGoing == 1 to pulse the valve

long previousMillis = 0;      // keep track of elapsed time

int ledState = LOW;

static int rep_count = 0;     // keep track of counts

float onDuration;

long onTime;

// Measurement parameters

int max_number_of_pulses = 1; // the value of n, e.g. 5

long period = 1000;           // pulse frequency = 1000/period

long dutyCycle = 25;          // between 0 and 100


void setup() {

    // setup the duty cycle

    if(dutyCycle < 0 || dutyCycle >100)

       dutyCycle = 50;

    onDuration = period*dutyCycle/100;

    onTime = int(onDuration);

    //onTime = 1000;

    // set the switch as an input:

    pinMode(switchPin, INPUT);

    // set all the other pins you're using as outputs:

    pinMode(motor1Pin, OUTPUT);

    pinMode(motor2Pin, OUTPUT);

    pinMode(enablePin, OUTPUT);

    pinMode(ledPin, OUTPUT);


    // set enablePin high so that motor can turn on:

    digitalWrite(enablePin, HIGH);

    digitalWrite(ledPin, HIGH);      // turn built-in LED on


void loop() {

    unsigned long currentMillis = millis();


    if (digitalRead(switchPin) == HIGH &&

       rep_count<=max_number_of_pulses) {

       keepGoing = 1;


 if(digitalRead(switchPin) == LOW &&

    rep_count > max_number_of_pulses) {

       keepGoing = 0;

       rep_count = 0;


    if(rep_count > max_number_of_pulses) {

       // turn off

       ledState = LOW;

       digitalWrite(motor1Pin, LOW); // set leg 1 of the H-bridge low

       digitalWrite(motor2Pin, LOW); // set leg 2 of the H-bridge low


    if(keepGoing) {

       if(currentMillis - previousMillis > onTime) {

           // turn off

           ledState = LOW;

           digitalWrite(motor1Pin, LOW); // set leg 1 of the H-bridge low

           digitalWrite(motor2Pin, LOW); // set leg 2 of the H-bridge low


       if(currentMillis - previousMillis > period){

           // turn on


           previousMillis = currentMillis;

           ledState = HIGH;

           digitalWrite(motor1Pin, LOW);   // set leg 1 of the H-bridge low

           digitalWrite(motor2Pin, HIGH);  // set leg 2 of the H-bridge high



    // set the LED with the ledState of the variable:

    digitalWrite(ledPin, ledState);



  All pictures and graphs were produced by Alex Spiride  


I acknowledge the help of my father who helped me purchase all the PVC pipe fittings and various supplies I needed.

My mother always encouraged me – she is really great!

My younger sister was very interested in all the aspects of my project – she is three and a half and really cute!

My younger brother worked as my assistant to setup and tear down the experiments while I was tabulating data from the experiments.

Many thanks to Professor Edmond Richer in the Southern Methodist University: Mechanical Engineering department for his guidance and help in discovering the joys of 3D CAD modeling software. 

Without all of the mentioned people, the project would not have succeeded. Thank you all for your help!