Senior Design Capstone: Acoustic Communication and Localization

CAD Model of the entire uFloat system

CAD Model of the entire uFloat system

Skills: Microsoft Word, Power Point, Excel, Matlab, Dakota, Project Management, Technical Writing, Testing, Statistical Analysis, 3D Printing

Role and Background: 

My Senior Design Capstone was with the Marine Renewable Energy Lab on the uFloat Project. I was team lead and part of a 3-person team of seniors, with support from multiple graduate students also working on the uFloat project. The Capstone was focused on testing and integrating an acoustic communication system into the uFloat design. The parts that I actively played a role in were project management, research, integration of the system, error and uncertainty analysis, testing of the system, and data processing of test results. I worked on the project over the course of 2 quarters.

The uFloat is a self-contained submersible package that drifts underwater along with the tides. When deployed in “swarms”, the uFloats can map the tidal flow fields in channels, which has multiple uses, including helping research potential tidal turbine sites. The uFloat moves using a bouyancy engine, whcih is a piston that displaces air (and changes it’s density), allowing it to move vertically, but it can’t move on its own horizontally.

Our Capstone worked with an acoustic communication system called a Nanomodem being developed out of Newcastle University in the UK  that is a smaller, cheaper, and less energy intensive alternative to more conventional acoustic communication systems. The acoustic communication system serves two purposes; the first is to be able to communicate with units floating on the surface (for example, when the uFloats need to float back up to the surface), and also be tracked by the surface units using acoustic localization.


This was the largest project that I had done to date, and so creating a schedule with my group of what we were going to do throughout the course of the Capstone was very important, especially since there were parts of the project that we weren’t working on that needed to be completed before we could move forward with our work. So, it was a good experience to be able to set goals and see over the course of the project which timelines worked, which didn’t and needed to be modified, and how to handle it.

Another challenge was that going into the Capstone I (and the other members in my group as well) had very limited experience of working with acoustic devices. The learning curve of how to rapidly catch up on knowledge so that we could move forward with parts of the project was also a great experience.


Research: The first part of the Capstone was dedicated towards researching different types of acoustic localization methods and determining which one would work best for our set-up. From our initial research, we determined that a "Time-of-Arrival" method would work best, because it was the simplest long baseline localization method to implement into the system that the uFloats would be a part of. However, in the 2nd quarter of our work on the project, we realized that this method would have scalability issues with large numbers of floats (these floats will be deployed in swarms of differing sizes), so we adopted a "Time-Difference-of-Arrival" method from a research paper that removed the scalability issues.

My Capstone group and I later transcribed the method for solving for the localization from a paper by Wahlburg et. al into Matlab for use in actual testing and error and uncertainty analysis. This process first involved reading through the paper to fully understand the process and math behind the localization method. Then we translated the equations into a script in Matlab, and tested it with sample data to make sure that the code was working properly.

Integration: For the physical integration, the parts necessary for joining the system were researched and chosen. Specifically a power regulator was determined for the power supply on the uFloat, an RS232 to TTL converter decided on for the electronics, and a potted bulkhead penetrator was found for the transducer (since the transducer needs to be outside of the main uFloat casing).

Illustration of the parts necessary for the acoustic communication system (Nanomodem) to integrate with the uFloat

Illustration of the parts necessary for the acoustic communication system (Nanomodem) to integrate with the uFloat

Testing: The first test we performed was to confirm that the two transducers could communicate in water. Two messages were tested in conjunction to the two uses of the acoustic communication system; a “ping” to simulate a localization, and the message “Hello World!” to test how well messages could be sent and received.

The second experiment we conducted tested how far apart the transducers could communicate with reliability, and also how accurate the localization was compared to the baseline GPS. For this experiment, we kept one transducer on a dock and put the other transducer on a kayak to test range. In the experiment we recorded whether or not pings were successfully received, and also had sensors recording data, including GPS to track the unit on the kayak, a Hydrophone to record the actual signal intensity, and a Speed of Sound Profiler to determine the local speed of sound of the water.

For both experiments, my group and I wrote up the test plan, determining what the object of the test should be, what specifically needed to be tested and recorded, and what tools were necessary. We all actively participated int he experiments and data analysis.

Data AnalysisOnce the testing was complete, the results and data were processed. Most of the data processing was completed in Matlab. Data from the acoustic localization was compared with the GPS data to determine error, while the data from the hydrophones were used more qualitatively in an attempt to determine what was causing communication failures(like geometry from bathymetry plots of the channel and boats passing by during testing)

Error and Uncertainty Analysis: A statistical program called Dakota was used for the analysis. Dakota works by statistically determining which inputs to vary, and then feeds the variables into the method being tested, which in this case was the localization method code we wrote in Matlab. In the analysis I tested which variables inputted into the localization in Matlab caused the most variance in the results, and what the maximum error range is.

The error range of all of the input variables needed to be determined. For some variables, like with the inputs from sensors, it was simple to look up the error range listed for the sensor from the supplier. Other input variables though, like the speed of sound, needed to have their possible error estimated. I did this by looking at salinity, temperature, and pressure (the variables for speed of sound in water) data for the water in the Puget Sound region, and used that to estimate the extreme values of speed of sound possible.

Final Results: The intention at the end of our project was to do a final trial of a full scale localization test of a single uFloat, but we were unable to complete it because the additional Nanomodems that we needed did not arrive before the end of our final quarter (we needed 5 Nanomodems, but only had 2 that we worked with throughout our project). But our Capstone still had valuable contributions to the uFloat project, including determining the parts necessary to integrate the Nanomodem into the float, determining the best localization method for the project, then transcribing the method into Matlab for future use in analyzing the data, and also obtaining test data showing the feasibility of the Nanomodem of the project.

The initial goal of the project was to see if the Nanomodems could communicate underwater from a distance of at least 1000 meters. From our testing in one enviroment, we found that the Nanomodems could only commnicate up to about 300 meters, well short of the original goal. While the Nanomodem communication range did not reach our goal, it still has the potential to work for the project. One of the recommendations we gave at the end of our Capstone was to simply increase the number of Nanomodems that would be used on the surface (the units tracking the uFloats underwater), to ensure that all uFloats would stay in range.