skip to main content
tutorial

TrilobiteG: A programming architecture for autonomous underwater vehicles

Published:04 June 2015Publication History
Skip Abstract Section

Abstract

Programming autonomous systems can be challenging because many programming decisions must be made in real time and under stressful conditions, such as on a battle field, during a short communication window, or during a storm at sea. As such, new programming designs are needed to reflect these specific and extreme challenges.

TrilobiteG is a programming architecture for buoyancy-driven autonomous underwater vehicles (AUVs), called gliders. Gliders are designed to spend weeks to months in the ocean, where they operate fully autonomously while submerged and can only communicate via satellite during their limited time at the surface. Based on the experience gained from a seven year long collaboration with two oceanographic institutes, the TrilobiteG architecture has been developed with the main goal of enabling users to run more effective missions. The TrilobiteG programming environment consists of a domain-specific language called ALGAE, a lower level service layer, and a set of real-time and faster-than-real-time simulators. The system has been used to program novel and robust glider behaviors, as well as to find software problems that otherwise may have remained undetected, with potentially catastrophic results. We believe that TrilobiteG can serve as a blueprint for other autonomous systems as well, and that TrilobiteG will motivate and enable a broader scientific community to work on extreme, real-world problems by using the simulation infrastructure.

References

  1. A. Alvarez, A. Cait, and R. Onken. Evolutionary path planning for autonomous underwater vehicles in a variable ocean. Oceanic Engineering, IEEE Journal of, 29(2):418--429, April 2004.Google ScholarGoogle Scholar
  2. A. Alvarez, R. Stoner, and A. Maguer. Performance of pumped and un-pumped CTDs in an underwater glider. In OCEANS 2013 IEEE - San Diego, pages 1--5, 2013.Google ScholarGoogle Scholar
  3. W. Baek and T. M. Chilimbi. Green: a framework for supporting energy-conscious programming using controlled approximation. In Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation, PLDI '10, pages 198--209, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. R. Benjamin, H. Schmidt, P. M. Newman, and J. J. Leonard. Nested autonomy for unmanned marine vehicles with MOOS-IvP. Journal of Field Robotics, 27(6):834--875, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  5. R. I. Carnegie Mellon Robotics Academy. RobotC. http//www.robotc.net.Google ScholarGoogle Scholar
  6. B. Claus, R. Bachmayer, and C. D. Williams. Development of an auxiliary propulsion module for an autonomous underwater glider. In Proceedings of the Institution of Mechanical Engineers, Part M: Journal of Engineering for the Maritime Environment, November 2010.Google ScholarGoogle Scholar
  7. N. Cruz and A. Matos. Adaptive sampling of thermoclines with autonomous underwater vehicles. In MTS/IEEE OCEANS 2010 - Seattle, WA, September 2010.Google ScholarGoogle ScholarCross RefCross Ref
  8. D. Davis. Automated parsing and conversion of vehicle-specific data into autonomous vehicle control language (avcl) using context-free grammars and xml data binding. In 14th International Symposium on Unmanned Untethered Submersible Technology (UUST), Durham, New Hampshire, August 2005.Google ScholarGoogle Scholar
  9. D. Davis and D. Brutzman. The autonomous unmanned vehicle workbench: Mission planning, mission rehearsal, and mission replay tool for physics-based x3d visualization. In 14th International Symposium on Unmanned Untethered Submersible Technology (UUST), Durham, New Hampshire, August 2005.Google ScholarGoogle Scholar
  10. P. Dias, S. Fraga, R. Gomes, G. Goncalves, F. Pereira, J. Pinto, and J. Sousa. Neptus - a framework to support multiple vehicle operation. In MTS/IEEE Oceans 2005 - Europe, volume 2, pages 963 -- 968 Vol. 2, 20--23 2005.Google ScholarGoogle ScholarCross RefCross Ref
  11. P. Dias, G. Goncalves, R. Gomes, J. Sousa, J. Pinto, and F. Pereira. Mission planning and specification in the neptus framework. In Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International Conference on, pages 3220--3225, 15-19 2006.Google ScholarGoogle ScholarCross RefCross Ref
  12. E. Dijkstra. Go To statement considered harmful. Communications of the ACM, 11(3):147 -- 148, March 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Duarte and B. Werger. Defining a common control language for multiple autonomous vehicle operation. In OCEANS 2000 MTS/IEEE Conference and Exhibition, volume 3, pages 1861--1867 vol.3, 2000. .Google ScholarGoogle ScholarCross RefCross Ref
  14. C. Duarte, G. Martel, E. Eberbach, and C. Buzzell. Talk amongst yourselves: getting multiple autonomous vehicles to cooperate. In Autonomous Underwater Vehicles, 2004 IEEE/OES, pages 96--101, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  15. C. N. Duarte, G. R. Martel, C. Buzzell, D. Crimmins, R. Komerska, S. Mupparapu, S. Chappell, D. R. Blidberg, and R. Nitzel. A common control language to support multiple cooperating AUVs. In Proceedings of the 14th International Symposium on Unmanned Untethered Submersible Technology, 2005.Google ScholarGoogle Scholar
  16. E. Eberbach, C. Duarte, C. Buzzell, and G. Martel. A portable language for control of multiple autonomous vehicles and distributed problem solving. In Proc. of the 2nd Intern. Conf. on Computational Intelligence, Robotics and Autonomous Systems CIRAS, volume 3, pages 15--18, 2003.Google ScholarGoogle Scholar
  17. M. Eichhorn. Optimal Path Planning for AUVs in Time-Varying Ocean Flows. In 16th Symposium on Unmanned Untethered Submersible Technology (UUST09), Durham NH, USA, August 23--26 2009.Google ScholarGoogle Scholar
  18. C. C. Eriksen, T. J. Osse, R. D. Light, T. Wen, T. W. Lehman, P. L. Sabin, J. W. Ballard, and A. M. Chiodi. Seaglider: A long-range autonomous underwater vehicle for oceanographic research. In IEEE Journal of Oceanic Engineering, volume 26, October 2001.Google ScholarGoogle ScholarCross RefCross Ref
  19. S. Glenn, O. Schofield, J. Kohut, J. McDonnell, R. L. D. Seidel, D. Aragon, T. Haskins, E. Handel, C. Haldeman, I. Heifetz, J. Kerfoot, E. Lemus, S. Lictenwalner, L. Ojanen, J. Roarty, F. Carvalho, A. Lopez, A. Martin, C. Jones, D. Webb, J. Miller, M. Lewis, S. McLean, A. Martins, C. Barrera, A. Ramos, and E. Fanjul. The trans-atlantic Slocum glider expeditions: A catalyst for undergraduate participation in ocean science and technology. Marine Technology Society Journal, 45(1):52--67, January/February 2011.Google ScholarGoogle ScholarCross RefCross Ref
  20. M. Godin, J. Bellingham, B. Kieft, and R. McEwen. Scripting language for state configured layered control of the tethys long range autonomous underwater vehicle. In OCEANS 2010, pages 1--7, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  21. B.W. Hobson, J. G. Bellingham, B. Kieft, R. McEwen, M. Godin, and Y. Zhang. Tethys-class long range AUVs - extending the endurance of propeller-driven cruising AUVs from days to weeks. In Proceedings of IEEE-OES AUV Symposium. Southampton, U.K., September 2012.Google ScholarGoogle ScholarCross RefCross Ref
  22. HYCOM consortium. Hycom. http://www.hycom.org/.Google ScholarGoogle Scholar
  23. N. Instruments. Labview Robotics. http//www.ni.com/robotics.Google ScholarGoogle Scholar
  24. R. J. Komerska and S. G. Chappell. AUV common control language (CCL)--a proposed standard language and framework for AUV monitoring & control layer 1--CCL vocabulary and message set specification. 2007.Google ScholarGoogle Scholar
  25. A. Lachenmann, P. J. Marrón, D. Minder, and K. Rothermel. Meeting lifetime goals with energy levels. In Proceedings of the 5th international conference on Embedded networked sensor systems, SenSys '07, pages 131--144, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Mare. Path following algorithm for minimally specified lawn-mower type AUV missions. In OCEANS 2010 IEEE - Sydney, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  27. S. Mupparapu, S. Chappell, R. Komerska, D. Blidberg, R. Nitzel, C. Benton, D. Popa, and A. Sanderson. Autonomous systems monitoring and control (asmac) - an auv fleet controller. In Autonomous Underwater Vehicles, 2004 IEEE/OES, pages 119--126, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  28. B. D. Noble, M. Satyanarayanan, D. Narayanan, J. E. Tilton, J. Flinn, and K. R. Walker. Agile application-aware adaptation for mobility. In Proceedings of the sixteenth ACM symposium on Operating systems principles, SOSP '97, pages 276--287, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Open Source Robotics Foundation. Robot Operating System (ROS). http//www.ros.org.Google ScholarGoogle Scholar
  30. Persistor Instruments Inc. Cf1 computer system. Marstons Mills, MA. http://www.persistor.com.Google ScholarGoogle Scholar
  31. S. Petillo, A. Balasuriya, and H. Schmidt. Autonomous adaptive environmental assessment and feature tracking via autonomous underwater vehicles. In IEEE OCEANS 2010 - Sydney, Australia, May 2010.Google ScholarGoogle ScholarCross RefCross Ref
  32. D. Rao and S. B. Williams. Large-scale path planning for underwater gliders in ocean currents. In Australasian Conference on Robotics and Automation (ACRA), Sydney, Australia, December 2009.Google ScholarGoogle Scholar
  33. O. Schofield, J. Kohut, D. Aragon, L. Creed, J. Graver, C. Haldeman, J. Kerfoot, H. Roarty, C. Jones, D. Webb, and S. Glenn. Slocum gliders: Robust and ready. Journal of Field Robotics, 24(6):473--485, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Shchepetkin and J. McWilliams. The regional oceanic modeling system (roms): a split-explicit, free-surface, topography-following-coordinate oceanic model. In Ocean Modelling, volume 9, pages 347--404, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  35. J. Sherman, R. E. Davis, W. Owens, and J. Valdes. The autonomous underwater glider Spray. In IEEE Journal of Oceanic Engineering, volume 26, October 2001.Google ScholarGoogle ScholarCross RefCross Ref
  36. J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: a language and runtime system for perpetual systems. In Proceedings of the 5th international conference on Embedded networked sensor systems, SenSys '07, pages 161--174, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Teledyne Webb Research. Slocum Glider. Falmouth, MA, 2013. http//www.webbresearch.com/slocum.htm.Google ScholarGoogle Scholar
  38. D. Wang, P. F. Lermusiaux, P. J. Haley, D. Eickstedt, W. G. Leslie, and H. Schmidt. Acoustically focused adaptive sampling and on-board routing for marine rapid environmental assessment. Journal of Marine Systems, 78(Supplement 1):S393 -- S407, 2009.Google ScholarGoogle Scholar
  39. H. Woithe and U. Kremer. Feature based adaptive energy management of sensors on autonomous underwater vehicles. Ocean Engineering, 97(3):21 -- 29, March 2015.Google ScholarGoogle ScholarCross RefCross Ref
  40. H. Woithe and U. Kremer. A programming architecture for smart autonomous underwater vehicles. In IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2009 - St. Louis, MO, October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. H. Woithe, I. Chigirev, D. Aragon, M. Iqbal, Y. Shames, S. Glenn, O. Schofield, I. Seskar, and U. Kremer. Slocum glider energy measurement and simulation infrastructure. In OCEANS 2010 IEEE - Sydney, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  42. H. C. Woithe, W. Brozas, C. Wills, B. Pichai, U. Kremer, M. Eichhorn, and M. Riepen. Enabling computation intensive applications in battery-operated cyber-physical systems. In MARC Symposium, pages 34--39, July 2012.Google ScholarGoogle Scholar
  43. Y. Zhang, J. Bellingham, M. Godin, and J. Ryan. Using an autonomous underwater vehicle to track the thermocline based on peak-gradient detection. IEEE Journal of Oceanic Engineering, 37(3), July 2012.Google ScholarGoogle Scholar

Index Terms

  1. TrilobiteG: A programming architecture for autonomous underwater vehicles

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 50, Issue 5
          LCTES '15
          May 2015
          141 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2808704
          • Editor:
          • Andy Gill
          Issue’s Table of Contents
          • cover image ACM Conferences
            LCTES'15: Proceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2015 CD-ROM
            June 2015
            149 pages
            ISBN:9781450332576
            DOI:10.1145/2670529

          Copyright © 2015 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 4 June 2015

          Check for updates

          Qualifiers

          • tutorial
          • Research
          • Refereed limited

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!