Updated Companion Software with New Camera Settings Page!

We’re excited to announce a new version of the Companion computer software is now available! This updates adds a number of new features including a great new camera configuration page to adapt the camera settings to the underwater lighting conditions.

The update includes:

  • Display CPU and RAM usage statistics on the System page
  • Auto-detect and auto-connect to Water Linked Underwater GPS system
  • Add option to change the static ip address of the ROV on the Network page
  • Add support for Internet Explorer
  • Camera configuration page: easily configure camera and video stream settings

Lighting conditions underwater are quite different than above water. The light that penetrates the surface is absorbed at different rates depending on the color. Here’s a neat plot from NOAA Ocean Explorer showing how far different colors penetrate the water. As you can see, blue and green tend to go the furthest whereas red is absorbed almost immediately.

Credit: NOAA OceanExplorer

That changes the way that things look underwater. As you descend underwater, red will disappear from the image first, changing the overall color of the image. To truly correct that, you need to add the light back into the scene by illuminating it with lights.

The new camera page lets you adjust the color and lighting settings to cope with the color changes and make the camera view look more natural. With the ability to save different profiles, you can make a profile for shallow water, deep water, low visibility, good visibility, etc.

Please check out the forum post here that details the update process and the changes. If you have any feedback or results, feel free to share.

New Stable Release of BlueROV2 Software

Newest QGroundControl release.

Hello everyone! Today we’re proud to announce an updated release of the BlueROV2’s core software, which includes ArduSub, Companion, QGroundControl. This is our second big software update, and this time it can be performed without opening the electronics enclosure!

Notable changes in this update are:

  • Ability to display camera tilt angle, lights level, tether turns and more in QGC
  • GPS input support in Companion, including support for the Water Linked Underwater GPS Developer Kit
  • Fewer default pre-arm checks
  • Acceptable compass calibration threshold has been relaxed
  • Pilot input failsafe timeout increased from 1 second to 3 seconds (‘Lost manual control’ message)
  • Gyro calibration is disabled at boot by default
  • Support for the Bar100 pressure sensor
  • Companion login is changed to:
    • user: pi
    • password: companion
  • Allow selecting a custom image to display in the QGC ui in place of the ‘ArduSub’ logo
  • Many other various bugfixes, feature additions, and improvements, reference the release notes below for a comprehensive list of changes

We’ve done a lot of work to get this point and special credit goes to Jacob and Daniel, our primary Blue Robotics software developers. We strongly encourage all BlueROV2 users to upgrade to this newest software update. Please visit the full forum topic for update instructions.

New Product: The Water Linked Underwater GPS System!

Today we have a very special new product announcement. We’re partnering with Water Linked, a Norwegian company, and announcing the release of a revolutionarily low-cost Underwater GPS system. This new product, the Water Linked Underwater GPS Developer Kit combines a traditional GPS receiver and compass with an acoustic positioning system to provide positioning information underwater. We think this technology will be revolutionary to how we use ROVs.

We’re partnering with Water Linked as their first and only distributor for this system, and it will also be supported out of the box in ArduSub and the BlueROV2.

The Technology

The Water Linked positioning uses something called Short Baseline (SBL) acoustic positioning. Basically, the ROV has locator beacon that sends out an acoustic pulse. Near the surface, there are four receiver hydrophones lowered into the water. The hydrophones listen for the pulse from the locator beacon and use difference in the time-of-arrival to each receiver to triangulate the ROV’s position. SBL systems, compared to the USBL systems more often used on ROVs, have the advantage of working well in shallow water and noisy acoustic environments, such as in a fish cage.

Once the position is known relative to the receivers, the global position can be found by adding that to the position obtained by a GPS receiver. The Water Linked Underwater GPS system does that part internally so that it can provide the actual global position of the ROV as it’s output.

Why It’s Important

The addition of position information when operating an ROV or other marine robotic vehicle is a big change. It means that photos from inspections can be geotagged, targets with known coordinates can be found easily, and ROV can even be programmed to do autonomous actions, such as holding position in a current or following a set of GPS waypoints.

The Water Linked Underwater GPS Developer Kit

Today were launching the Underwater GPS system in a kit that includes all of the required hardware. The software is in a functional state already, but will be improved quite a bit over the next few months. That includes the addition of a well-documented API, performance improvements, and added features. The system includes everything you need to get started – check out the individual product pages for more details, datasheets, and info.

Orders can be placed today but please note that the first systems won’t ship until about June 15th of this year.

(more…)

ArduSub + ArduPilot is Official!

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!

If you have any thoughts or questions, feel free to post them on the associated forum topic.

A Big Step Forward for ArduSub

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.

At the moment, there is a pull-request for merging ArduSub into ArduPilot. You can keep track of that here.

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

Hardware

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.

Website Moved to a New Host

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 info@bluerobotics.com.

If you’d like to share your thoughts on this, there’s a post on the forums for comments and discussion.

The T200 Thruster: Make/100 Limited Edition

Hey Guys! We have super exciting news to share with you all today – we are back on Kickstarter with a limited edition T200 Thruster! Check out the video below!

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!

Check out the campaign:

The T200 Thruster: Make/100 Limited Edition

Happy New Year from Blue Robotics!

Happy New Year to all of our customers and friends!

We want to share a few thoughts to summarize the end of the year. 2016 has been an incredible year for us – we’ve grown from offering just thrusters and enclosures to a full product line of subsea components. We launched some of our most popular products like the Bar30 pressure sensor, Fathom-X tether interface board, Lumen Subsea Light, Fathom tether, and our favorite, of course, the BlueROV2.

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!

We wish you all a wonderful New Year!

Happy Thrusting,

– Rusty and the Blue Robotics Team

New Products! SOS Leak Sensor and I2C Level Converter

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.

The SOS Leak Sensor comes with four probes but the leak sensor probes and replacement probe tips are also available separately in a few styles. The replacement tips allow you to quickly “reset” the leak sensor after it’s triggered without drying out the sponge.

(more…)

New Products! Payload Skid for the BlueROV2 and 3″/4″ Enclosure Mounting Clamps

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.

Payload Skid

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!