interview
ROS
visualization

Spotlight: Ryan Govostes on Exploring a New Frontier with Foxglove

Building technologies for ocean exploration at the Woods Hole Oceanographic Institution

interview
ROS
visualization

As an embedded software engineer at the Woods Hole Oceanographic Institution (WHOI), Ryan Govostes helps researchers across the institution on R&D projects capture and interpret scientific data. He stumbled upon Foxglove earlier this year in his quest for flexible visualizations, and has been using the tool ever since to accelerate development for his teammates – whether that’s by building them custom tools or surfacing meaningful patterns in complex data. We discuss the exciting projects he’s contributed to, and what lies on the horizon for him.

Tell us a little bit about yourself! How did you first become interested in robotics?

My background is actually in information security and has nothing to do with robotics. I spent the first part of my career in Silicon Valley, focusing on developing technologies to defend software against hackers.

A few years ago, I visited the Computer History Museum to attend a symposium on the Antikythera Mechanism, this amazing ancient analog computer that was discovered on a shipwreck in the Aegean Sea. One of the presenters was Brendan Foley, an archaeologist then at WHOI, who was involved in a new survey of the shipwreck. His team was using underwater robots to search for artifacts missed by Jacques Cousteau decades earlier. I just thought it was the coolest thing I’d ever heard of.

What really stuck with me from this presentation was that Brendan estimates there are 750,000 ancient shipwrecks sitting at the bottom of the Mediterranean – the number we’ve found is a minute fraction of that. I joined WHOI a few years later, hoping to develop technologies for making the next discoveries at scale.

What do you find compelling about leveraging robots specifically for ocean exploration?

I’d never really thought about how little of the ocean we have explored below the surface. There are so many constraints with human exploration – like how do you safely investigate what’s happening to the ocean during a hurricane? Or monitor a site over years to understand the effects of climate change?

Robots have plenty of their own challenges, but they have amazing capabilities. For example, we have gliders that can collect and transmit data back to shore via satellite for six months at a time. They are completely game-changing for our understanding of the ocean.

Remus 6000

The REMUS 6000 can go to depths of 6,000 meters and spend nearly a full day exploring. (© Woods Hole Oceanographic Institution, M. Purcell)

What do you find especially exciting about your work? How would you characterize its impact?

It’s exciting to be building technologies for exploring new frontiers. The upgraded HOV Alvin will allow scientists to study 98% of the ocean floor in person.Some researchers are even thinking about using robots to explore oceans in other worlds, like Jupiter’s moon Europa.

HOV Alvin

The HOV Alvin will be going out for sea trials at depths of 6,500m later this year. (© Woods Hole Oceanographic Institution, L. Lamar)

There’s an incredible urgency to understanding how a warming ocean will affect life on Earth, both above and below the surface. We are in the first year of the United Nations Decade of Ocean Science for Sustainable Development, a concerted effort among scientists, policy makers, and consumers to ensure the preservation of our oceans for future generations. It’s an especially important time for software engineers to contribute to ocean science – to data pipelines, automation, machine learning, and so on.

What does a typical day for you look like? What projects are you working on now, and what are some of the interesting development challenges you’ve encountered?

There’s something new to learn every day. Since I lend programming expertise to researchers across the Institution, I might be collaborating with a biologist to monitor for harmful algal blooms one week, then calibrating a camera system for an underwater vehicle the next. I’ve mostly gotten over my reluctance to ask incredibly basic questions – the other day I asked why an autonomous underwater vehicle (AUV) was so heavy, forgetting that underwater vehicles aren’t supposed to float.

Most recently, I’ve been working with a team on a new propulsion technology called Asymmetric Propulsion. Traditionally, an AUV has a propeller to generate thrust and some other mechanism like fins to control steering. But by varying the velocity of the propeller over the course of a rotation, my collaborators realized they could generate thrust and steer with a single propeller blade – similar to how you can steer a kayak by paddling harder to one side. This enables vehicles that are more maneuverable and reliable, with fewer points of failure.

Asymmetric Propulsion

An AUV executing a turn to port with a single propeller blade, using Asymmetric Propulsion. (© Woods Hole Oceanographic Institution, J. Kaeli, R. Littlefield, F. Jaffre)

This was my first major robotics project – and one of my first times using ROS – so there were plenty of challenges. In ROS, I think there’s an illusion that it’s easy to develop a robot, because you can choose from a large number of available packages and just glue components together. In reality, I needed to spend time becoming familiar with each package and understanding the benefits or drawbacks it could introduce to the finished system.

Meanwhile, my collaborators were eager to test and study the propulsion system. I had to be very strategic about the order in which I wrote the code, so I didn’t disrupt their work. One of the first things I did was jury-rig a tool using the web browser Gamepad API, plus a couple of socat processes to relay commands to the motor controller over Wi-Fi. It allowed my teammates to drive the vehicle around on a test tank, while I developed target-tracking capabilities. To learn more about this whole software development process, you can check out our talk for the OCEANS 2021 conference this week.

motor controller

The superimposed red line above shows the vehicle's position over time, as researchers navigate it around a test tank. (© Woods Hole Oceanographic Institution, R. Govostes)

It seems like you support a pretty wide range of workflows for different teams across the institution. What kind of tooling do you use when developing solutions for these various workflows?

There’s a terrific talk by Bret Victor called “Media For Thinking the Unthinkable”, where he argues that the representation of a complex system is how we think about that system – to build powerful new systems, we need powerful new representations. With the appropriate visualizations, you can recognize patterns and understand underlying relationships that reveal more about the larger system.

This is what really excited me about using Foxglove to help our team understand Asymmetric Propulsion, where we have this non-obvious relationship between the propeller’s angular velocity and the AUV’s steering behavior. Everyone on the team comes from a different discipline and has different areas of expertise. We have a brilliant mechanical engineer who designed this AUV and has gotten its buoyancy and trim perfectly dialed in, but it’s not his job to know arcane ROS command line invocations or to write code to plot gyroscope data. Having an intuitive, flexible tool in Foxglove has really empowered him and the rest of the team.

I also love that Foxglove allows us to write custom panels specific to our project. There are so many excellent JavaScript visualization libraries out there, like D3.js – having an extension API lets me leverage any of these tools to accomplish my task. I recently hosted a workshop at WHOI’s new innovation accelerator for Autonomous Vehicles and Sensor Technologies (AVAST), where we took an example polar plot and turned it into a Foxglove extension showing live ROS data in under an hour.

What do you have planned next?

I’m really excited about supporting the Scibotics Lab at WHOI with developing a long-range autonomous underwater vehicle (LRAUV) for under-ice oil spill detection and mapping, in collaboration with the Monterey Bay Aquarium Research Institute (MBARI) and the Arctic Domain Awareness Center. The goal is to be able to quickly deploy the LRAUV at the site of an environmental disaster to survey and help mitigate its impact.

LRAUV

The LRAUV can be deployed from a helicopter to provide first responders with crucial situational awareness to manage an environmental crisis. (© Woods Hole Oceanographic Institution, S. P. Whelan)

The vehicle is a remarkable piece of engineering that has tremendous potential in enabling new scientific missions. It combines elements of traditional AUV propulsion with the greater endurance of gliders. We’ve started integrating ROS on the vehicle, so we can share software capabilities across the Institution’s heterogeneous fleet of autonomous vehicles.

What advice would you share to someone who's interested in getting into robotics, either as a hobbyist or a professional contributor like yourself?

I admittedly took a pretty unusual path into robotics, and believe there is a lot of value in being multidisciplinary and drawing inspiration from other fields, even if they seem superficially unrelated.

One of my favorite examples of this comes from an incredible team at WHOI called the WARPLab that is using topic modeling techniques to inform exploration. Topic modeling is typically associated with natural language processing – it’s often used to categorize bodies of text by subject matter without explicitly knowing the subjects ahead of time.

This team is applying this idea to camera images, so their AUV can differentiate patches of seagrass from, say, a sandy region it saw a moment ago. As such, it can recognize when it has encountered something novel and decide to investigate.

This is all to say that you may be surprised how often what you already know translates to a new field. It’s very possible you have already developed skills that could be usefully applied to robotics.

Hero image © Woods Hole Oceanographic Institution, R. Govostes

Read more

Start building with Foxglove.

Get started for free