Hello everyone, we’re pleased to announce that the ArduSub project has merged with ArduPilot! This is a momentous occasion for the ArduSub project, with our two main developers, Jacob and Rusty, both becoming members of the ArduPilot development team. ArduSub is the first new vehicle type since the addition of ArduBoat in 2011, and is the first to take the ArduPilot project underwater!
We’ve been looking forward to seeing this since the start of ArduSub!
There are many benefits of developing ArduSub further as a part of the ArduPilot project:
Our code will always be up to date with the latest library developments and bugfixes.
Our code will regularly undergo a thorough automated validation, including simulated dives and builds for multiple autopilot platforms.
Our build system will be automated, and the latest firmware binary will be automatically updated and made available for download on firmware.ardupilot.org.
Our documentation will be updated and migrated to the ArduPilot wiki, and our vehicle parameters will be documented and automatically updated when our code changes.
Our contributions to the code will also receive peer reviews from the world-class team of developers of the ArduPilot team.
Further, ArduSub development and the latest ArduSub code will now be found in the ArduPilot repository. ArduPilot and ArduSub are currently undergoing a rapid development process, and we expect to have a new stable release in April with some great new features and support for additional hardware!
Thanks for joining us on this development. If you’re interested in contributing to the ArduSub project, let us know!
ArduSub is the software at the heart of the BlueROV2. It’s based on the solid foundation of the ArduPilot code, which has been under development for years. ArduSub is open-source, fully featured, and growing rapidly.
Today we want to share some in-progress news that’s been in the works for a long time: we’re working on merging the ArduSub code into the main ArduPilot repository at github.com/ardupilot/ardupilot. What does mean? Well, up to this point, ArduSub has been developed in our own “branch” of the ArduPilot project. By merging into the main project, we’ll join the list of official ArduPilot vehicle types: ArduPlane, ArduCopter, and ArduRover. We’ll continue developing and maintain the code ourselves, but we’ll be assisted by the awesome developers at the ArduPilot organization. This is also allowed us to always be up to date with the latest features, improvements, and bugfixes contributed by the many maintainers.
For those of you interested in lots of details, here’s the text of the pull request, which explains a lot of the work we’ve done on ArduSub in the past year:
ArduSub has been in development for just over a year. In that time, we have come a long way. It started by simply copying the ArduCopter directory and poking around to see what we needed to change in order to make our vehicle move around underwater. Once we had accomplished that, and as we became accustomed to the extensive codebase, we progressed by increasing and improving functionality. We had our first stable release right at the end of 2016. We versioned the release as 3.4, in line with where we picked up from Copter. We are currently working on 3.5-dev.
We ship our BlueROV2 running ArduSub on a Pixhawk, and the response from professionals in the marine industry has been overwhelmingly positive. In addition to the BlueROV2, we’ve designed ArduSub to be very flexible, and we have DIY ROV users around the world with different ROV designs and motor configurations. ArduSub is thoroughly documented at ArduSub.com, and we have a very active ArduSub Gitter Channel.
From ArduCopter to ArduSub
The first hurdle was in figuring out how to make our vehicle actually move around underwater. The original development platform, the BlueROV1, has 6DOF, and while it can pitch and roll, it does not need to do so in order to translate in the x and y axes. Our solution was to subclass AP_MotorsMatrix with AP_Motors6DOF, overriding add_motor_raw to include the forward and lateral DOF that multicopters lack.
The second hurdle was acheiving the tantalizing prospect of holding depth with a positive or negatively buoyant vehicle. The onboard barometer is in a sealed compartment, and the pressure will obviously not correspond with altitude. The Bar30 pressure sensor, incorporates the MS5837 waterproof pressure sensor from Measurement Specialties, the same people who brought you the familiar MS5611. This sensor has almost exactly the same interface as the MS5611, which was a welcomed coincidence in the very early stages of development, when we were still learning how everything in ardupilot worked. We use the MS5611 driver to drive the external MS5837, and added a few members to the AP_Baro class in order to distinguish between an ‘air’ barometer and a ‘water’ barometer. Fortunately for us (and thanks to you guys), there was already support for multiple barometers and an option to set the primary barometer to use with the EKF. We also added a method to the EKF in order to internally set the baro_alt_noise parameter to a low value, because the pressure measurements underwater are very precise.
We have three supported flight modes, Manual (no stabilization), Stabilize, and Depth Hold. We have made progress in implementing more advanced position-enabled modes; we’ve even executed short missions in auto mode. We have also managed to create a working rudimentary model in SITL.
GPS receivers will not work underwater, so we have added an AP_GPS_MAVLINK class in order to support marine industry localization sensors. This class inherits AP_GPS_NMEA, and works by receiving raw NMEA sentence data from the telemetry connection in the form of the GPS_INJECT_DATA message. This was implemented before the AP_GPS_MAV type was added, and there is some overlap in terms of functionality. The advantage of AP_GPS_MAVLINK over AP_GPS_MAV is that the serial data (in the form of NMEA sentences) from a GPS system connected to a topside or companion computer can be sent directly over the MAVLink connection to the vehicle and parsed by the autopilot, with no need to parse the data at the origin before finally formatting the output as a GPS_INPUT MAVLink message. AP_GPS_MAVLINK also eliminates the requirement of reserving a UART for GPS input.
There are a few other minor additions to note:
The AP_JSButton library was added to handle joystick button mapping to various vehicle functions. – It is supported by QGC as well.
PosControl and Fence: added a minimum z limit in order to limit maximum depth
Added a leak detector library
Added a temperature sensor library
ArduSub is used in conjunction with a hard-wired telemetry connection over a tether. This connection is implemented via a RS422 interface directly to the autopilot, or via UDP with MAVProxy running on a companion computer. Pilot input is expected to come over MAVLink via MANUAL_CONTROL messages, and RC input is not supported because RC signals will not penetrate water. Support for ArduSub has been integrated into QGroundControl, and we continue to contribute to QGroundControl in order to improve support for ArduSub as well as other features common to all vehicles.
We have tested ArduSub primarily on the Pixhawk 1, but we have some users on other autopilots including the Navio2 and BBBmini.
Where We’re Headed
ArduSub is being actively developed with a full time developer and several contributors around the world. We plan to continue adding new features and improvements and it’s very important to us to stick with ArduPilot’s original goal of being open source and highly capable. We think that ArduSub is already more capable and extensible than most other ROV control systems.
Hello everyone! Our website was down for maintenance for a few hours last night. In that time, we migrated everything over to a new hosting service with the hope of improving the website speed. I want to share a few details about that for anyone who might be interested.
First of all, some parts of our site are hosted elsewhere already, and they work pretty well. The documentation is hosted on Github and the new forums are hosted by Discourse. You might have noticed that our main site and store has been painfully slow recently. Here’s a screenshot from Pingdom showing the loading time for the store page on our old host (Dreamhost):
21.80 seconds to load the page – only faster than 7% of websites!? Clearly we needed to figure out how to improve that. Last night, we migrated the website to Amazon Web Services (AWS). The results are pretty shocking:
As you can see, there’s an eightfold improvement in loading speed, making us faster than 60% of websites. While that could still be improved, it’s a massive difference from the old host. The website “Performance Grade” didn’t actually change much at at all, rising from 60 to 63. That’s because that score judges how efficiently the website is coded, not where it is hosted. That can be improved by adding features such as server side caching and browser caching. We’ll work on adding that in the future.
Everything seems to be working as it should on the migrated site, but please let us know if anything seems to be broken! If you find any issues, please let us know at email@example.com.
The Kickstarter Make/100 creative initiative focuses on limited editions of 100. Our plan is to build 100 sets of a clear version of the T200 Thruster, perfect for showing off to curious minds, learning about engineering and design, and for making some unique looking underwater projects! It uses all the same parts as the original T200, but with clear polycarbonate plastic and clear urethane jacket (not shown in the video).
Alongside the campaign, we’ll be donating 50 T100 Thrusters to the MATE Center, for middle school and high school robotics teams in need of financial support. We hope you’ll join us as one of our 100 backers!
We also grew as a company, doubling our staff and tripling our facility size to accommodate all of the new products. We increased from five to nearly thirty distributors who are working hard to make sure our products are accessible and well-supported all around the world. We have a lot of new customers and we’re incredibly proud to support hundreds of businesses, schools, and teams – seeing your projects and applications is the most rewarding part for us.
We have no plans of slowing down anytime soon! I want to give you a little taste of what’s to come in 2017.
We have an exciting and fun campaign coming in January that you’ll want to jump on quickly. We’re adding some important facility upgrades here in March, and we’ll have a big product launch in June, fittingly one year after the launch of the BlueROV2. As always, we’ll have new product launches throughout the year – there are a few in particular that we are very excited about!
Hello everyone! With the end of the year approaching we’ve been hard at work getting a few new products ready for release.
SOS Leak Sensor
First up today is a product that’s useful on almost any underwater project: the SOS Leak Sensor. Named after the International Morse Code Distress Signal, the SOS Leak Sensor can detect a small or big leak in your project. It uses a detector circuit built onto the probe host board which can connect to up to 4 probes. The leak sensor probes use a small adhesive-backed sponge to detect just a few drops of water and give you a warning.
The probe host board has header pin connectors to send a simple on/off (high/low) signal to a Pixhawk, Arduino, or other microcontroller. The sensor is already supported in ArduSub and easy to install on the BlueROV2. For more details, check out the SOS Leak Sensor documentation.
Hello everyone! Happy Election Day in the US – make sure you vote!
Today we have a few new products including the first major accessory for the BlueROV2, a payload skid that allows you to integrate large payloads onto the vehicle. We also have a new enclosure mounting clamps that make it easy to securely mount the 3″ and 4″ Series enclosures to the skid and elsewhere.
This payload skid is the ROV equivalent of a pickup truck bed – it provides a bunch of real estate to carry large stuff. That stuff can be just about anything ranging from extra batteries, to experimental sensors, to multibeam sonars. The skid is made of rugged HDPE plastic just like the BlueROV2 and it has mounting holes for up to three 3″ Series enclosures or one 4″ Series enclosure. The skid comes without enclosures so that you can configure it however you’d like!
Four aluminum mounting brackets quickly connect the Payload Skid to the ROV so that it can be installed and removed in the field. Check out the documentation page for more details.
Enclosure Mounting Clamps
Sometimes it isn’t easy to install a round enclosure in a square ROV! That’s the case with the Payload Skid, so we made these Enclosure Mounting Clamps for the 3″ Series and 4″ Series enclosures to make them easy to install in any build. These are perfect for the Payload Skid and the 3″ version is already used to hold the lower battery enclosure on the BlueROV2.
The two identical halves screw together to securely hold onto the enclosure. Mounting holes on the side use M4 screws to hold the enclosure to the Payload Skid or other locations. The result is simple and much more secure than straps or other mounting methods!
That’s all we’ve got today! Stay tuned for more updates later this month!
Last year we asked all of our customers and followers to complete a “product interest survey” to help guide our future plans. It worked out so well that we’re doing it again. If you have a moment, please take our 2nd Annual Product Interest Survey and let us know what you want. It really matters to us and it actually affects what we work on next.
Plus, there’s a $300 Blue Robotics Gift Card in it for some lucky survey respondent!
In the spirit of being an open and transparent company, we want to share some of the results from last year’s survey and show you how we used that info! Continue reading if you’re interested!
The first question addressed the type of vehicle. We got an overwhelming response for “ROV” versus any other marine vehicles.
The applications questions got widely varied results. The most popular answers were “robotics competitions”, “recreation”, “wreck discovery”, “exploration”, and “photography”. With the exception of “robotics competitions”, all of those applications boil down to having a solid ROV with a good camera. “Robotics competitions” requires a wide variety of good products, open and helpful documentation, and lots of flexibility!
As I think we expected, most people are interested in the 25-100m depth range, which has interesting things to see but is still fairly accessible. Too deep for snorkeling but not deep enough that really expensive equipment or boats are required. The rest of the data forms a nearly-perfect bell curve. We’ve made sure that every component we design is capable of at least 100m but when possible we try to design for much deeper.
Sensors, Components, and Systems
The last two questions have really driven our product development. As you’ll see on the results below, we’ve addressed many of the requested sensors and most of the requested components. As far as sensors go, cameras and pressure/depth sensors were the clear winners. We’ve addressed both of those in the Bar30 Pressure/Depth Sensor and in a few different camera options.
The most requested components were watertight enclosures and underwater connectors. Almost everything we listed in this question got at least 50% positive responses, which is why we’ve made products for nearly everything on this list! And don’t worry, we plan to have underwater connectors eventually as well!
We hope this information is informative, interesting, and shows you that we’re really focused on meeting our customer’s needs. Please take a chance to answer this year’s survey!
Today we’ve got a few new products! All of these are included in the BlueROV2 kit, but they’re very useful items on their own as well.
Raspberry Pi 3 Model B
First off is the Raspberry Pi 3 Model B, the most popular single-board computer in the world that’s at the heart of our Advanced ROV Electronics Package for communication and video streaming. Besides that, it’s very useful in a wide range of projects. In addition to the Raspberry Pi, we have an 8GB micro SD card that is preloaded with the Raspbian Linux operating system as well as the software and startup scripts needed as a companion computer for ArduSub.
Besides relaying communications from the Pixhawk autopilot through the tether, the Raspberry Pi is connected to a camera and reads, compresses, and sends the camera stream to the surface computer. The Raspberry Pi Camera Module v2 is the newest Raspberry Pi compatible camera, announced in April. The stock camera has a very narrow field-of-view of about 62 degrees horizontally. The version we have here has a custom M12 lens holder and a 1.7mm wide angle lens, expanding the camera’s field-of-view to about 110 degrees! This is much more suitable for use on an ROV and many other projects.
If you’ve ever tightened cable penetrators on a densely packed end-cap, like the 14 Holes End-Cap for the 4″ Series, you’ll know it can be tough. This specially designed penetrator wrench makes it easy! The chrome plated steel tool is shaped to fit over the penetrator head, even in tight spaces. The included lever bar allows you to hand tighten to the perfect amount of torque.
We’ve posted several new videos of the BlueROV2 in action in several locations. The first shows the BlueROV2 during a trip to Ensenada, Mexico where we visited two fish farms. The BlueROV2 was used to inspect their cage anchors and the inside of the cages. We were able to rapidly inspect anchors at 130 ft depth and found issues with several of them. Each anchor took 10-15 minutes to inspect.
The second video was from our filming on the Big Island of Hawaii. We visited a number of reef sites and filmed the fish and corals. All of this filming was done from shore, sometimes with a snorkeler in the water to film and keep an eye on the tether. The reef scenery and wildlife is incredible, but we also saw a significant amount of dead and dying coral. It’s sad to see.
We’ll have a few more videos from these trips, including one showing the open waters of Hawaii!