Goby3 Free Course

Registered Attendees: You should have received an email regarding the Slack, Zoom, etc. links for next week. If you have not, please email me (toby at gobysoft.org).

Dates: March 8-11, 2021

To celebrate the release of the third version of the Goby Underwater Autonomy Project (Goby3), Dr. Toby Schneider will be offering a one week technical course on its use. This course will be held virtually (using Zoom) so attendance should be relatively easy from across the world. Lectures will be recorded (and released immediately) in the event that the time zone difference makes live attendance impractical.

This course will be free of charge, thanks to our sponsors.


All times are US Eastern Standard Time (EST), which is UTC-5.

Day 1 (Monday, March 8): Overview

  • Lecture: 9 am-11 am EST (~1.5 hour presentation + 0.5 hour for questions). Overview of the Goby3 project as a whole, explore some existing and potential applications, and lay down the groundwork for the rest of the week’s technical sessions.
  • Homework assignment. Download, setup, and update the course Virtual Machine. Run the multi-vehicle missions that we will explore the rest of the week.
  • Office hours (on Zoom): 1-3 PM and 7-9 PM EST

Day 2 (Tuesday, March 9): Technical I: Communications

  • Lecture: 9 am-11 am EST. Hands-on with nested publish/subscribe in Goby3, from interthread to intervehicle layers. A look into DCCL and Protobuf marshalling schemes. Understanding the Goby intervehicle comms implementation.
  • Homework assignment. Create a command message from the topside to the USV. Add a health monitoring process to the USV that is reported topside.
  • Office hours (on Zoom): 1-3 PM and 7-9 PM EST

Day 3 (Wednesday, March 10): Technical II: Autonomy

  • Lecture: 9 am-11 am EST. Integration of Goby3 as a higher level autonomy architecture via the extensible frontseat interface. Interfacing with MOOS-IvP (IvP Helm) autonomy.
  • Homework assignment. Develop a simple “helm” application and use it to control the vehicle through goby_frontseat_interface. At the end of the mission, command the AUVs to recover.
  • Office hours (on Zoom): 1-3 PM and 7-9 PM EST

Day 4 (Thursday, March 11): Technical III: Sensors

  • Lecture: 9 am-11 am EST. I/O framework for interfacing with sensors (serial, TCP, UDP, CAN). Some Goby3 approaches to managing sensor drivers and data parsing. Brief look at future directions for Goby3.
  • Homework assignment. Finalize a CTD simulator we started in class, and use it to publish data from the simulated AUVs to the USV.
  • Office hours (on Zoom): 1-3 PM and 7-9 PM EST

Day 1 will be less heavily focused on detailed technical material, and thus will be suitable for engineers and managers with a wider range of backgrounds. Days 2-4 will be much more “hands-on” technical, which means the following background will be helpful:

  • Modern C++ (up to and including C++14). The more general C++ experience you have, the more you will likely gain from the course. That said, the C++ features that you will be directly exposed to in this course are not advanced, and Goby3 is intended to be used by beginner and intermediate programmers. If your experience is mostly with older versions of C++ (e.g. C++03), you may want to read up on lambdas, constexpr, and auto ahead of this course.
  • General marine robotics/autonomy and oceanographic engineering experience will be helpful.

The intention is for this course to be as useful to as many as possible, so if you have questions or concerns about these prerequisites, please contact us. It is also perfectly fine to attend just part of the course, though the days’ subjects will build on each other.


Tier 1

Tier 3

Raytheon Technologies

Producing this course takes significant resources, so sponsoring our efforts would be greatly appreciated. Sponsoring also allows your entity to receive credit on the course materials plus the goodwill associated with furthering the open source marine robotics community. Also, the future availability of this type of free course will depend on your support now.

Tier 1: $1000+: Large logo on course website/materials
Tier 2: $500+: Small logo on course website/materials
Tier 3: $100+: Textual credit on course website/materials
You can sponsor this course by clicking the button below, or contact us for alternative options: