Source: https://blogs.scientificamerican.com/news-blog/catching-up-with-robotic-submarines-2009-06-04/