In the world of remote-operated vehicles (ROVs), there are two basic elements to every deployed vehicle: a hardware platform, and a software platform. Typically in the not-so-distant past, a company that developed computer-related products (like a computer-controlled ROV, for example) would develop proprietary hardware and then either write proprietary software to control the hardware, or hire someone else to write the software. Apple Computers was (and is) a good example of the first kind of company: they design and produce their own computers, smartphones, and tablets, and they also create and maintain their own enormous codebase of operating systems and application programs to run that hardware.
There are merits in that approach; controlling the software enables a tighter control of the user experience, and for some products that’s not always a terrible idea. However, many companies – including Aquabotix – have embraced a different model of development. At Aquabotix, we create proprietary hardware using our own designs, and we control how that hardware is built and sold – but for the software side of things, we rely on a vast community network of innovators and developers, a community that we participate in but that we do not control. This development model is known as “open source” and you’ve probably heard of it.
All Aquabotix ROVs are controlled via software written using the MOOS-IvP platform. MOOS-IvP stands for "Mission Oriented Operating Suite - Interval Programming.” (Marketers did not name this software platform.) MOOS-IvP is a world-class suite of open-source C++ modules used to manage and control autonomous robotic platforms, particularly marine ROVs. The MOOS-IvP program is administered by MIT via their Department of Mechanical Engineering and their Center for Ocean Engineering. MOOS-IvP development is done by programmers all over the world – some at MIT, some at other academic institutions, some hobbyists, and of course, a large number of technical professionals at various companies and organizations deploying ROVs, including Aquabotix. We take the MOOS-IvP modules as the starting point, write wrapper code to provide a nicer GUI for the user experience, and add some custom functionality, but in essence the MOOS-IvP code is the operating guts of our ROV software package.
So what are the advantages of taking the open-source approach to the software that controls our ROVs? There are a number of them. Some of these advantages mainly benefit Aquabotix (or other companies using the same development approach), some mainly benefit our customers, and some make the experience better for everybody.
The first advantage is security. It seems ironic to people who don’t know how software development works, but making software open-source makes it LESS vulnerable to hacking or security defects, not more, even though would-be “bad guys” can look at the code base. The reason is that because *everyone* can look at the code base, many more sets of eyeballs look at every possible defect.
Another major advantage is customization. Because the core set of control modules is easily modifiable, Aquabotix can tweak the software to take full advantage of specific hardware features that we add. In addition, our customers can take control of the software experience themselves and code unique features or modules to handle their specific missions or address their special needs. It’s a wide-open platform, but with a ton of expert advice ready to hand.
A third advantage is interoperability. Interoperability means being able to interface with a variety of operating systems, file formats, interface specifications, etc. For example, Aquabotix has chosen to support controlling our ROVs via an iPad tablet, or via a Windows app. Other users of the MOOS IvP platform may decide to work via Android devices, or Unix mainframes for that matter. The choice is up to the user; the underlying software platform is open to interface with any modern operating system.
A final major advantage: cost. MOOS-IvP, like many open-source platforms, is free. That means that Aquabotix does not have to pay high licensing fees to develop code using MOOS-IvP, or pay ongoing royalties for each ROV that we sell. We are able to pass those savings along to the customer, enabling us to offer world-class recreational and professional ROVs at market-leading prices.
The advantages of the open-source development process over proprietary methods are leading more and more companies to adopt this innovative new way of producing new and exciting products. We are very proud of the hardware platform that we have created in our line of top-quality ROVs, and the software suite that we have developed to control them is more powerful, more user-friendly, and provides more value for the dollar, thanks to the open-source idea.
(For more information on the MOOS-IvP platform, visit their home page at http://oceanai.mit.edu/moos-ivp/pmwiki/pmwiki.php?n=Main.HomePage)