I’d like to share the results of an autonomous boat project I’ve been working on with AttracLab, Shimane University and a company called Lighthouse. This project is sponsored by DeSET and the Nippon Foundation which promotes technologies to assist with their goal of mapping all the world’s oceans by 2030 with a resolution of at least one depth reading per 100m x 100m square. Currently only about 20% of the ocean has been mapped to this level of detail. The more specific goal of my team (Team2) is to lower the barrier to entry of creating drone boats.
I’m not trying to sell this boat, instead it is a prototype to prove what is possible and provide a reference frame so others can replicate it. Here are some details:
- Frame provided by AttracLab and is about 185cm x 30cm x 80cm and is made from FRB. I wish this frame were readily available for anyone to buy but at least for the moment the original manufacturer (who is not AttracLab) needs convincing that there is enough demand for this exact frame before they produce more of them
- Power comes from a Torqeedo 1003c electric motor which produces about 2HP. There are two supported battery configurations, either the 0.915kWh Torqeedo battery that comes with the motor or 6x Panasonic ebike batteries (2.4kWh total)
- Hondex HS-E8 sonar with 200m range and custom firmware (provided by Hondex) to provided depth and backscatter data over NMEA. Surprisingly this sonar’s NMEA interface normally only provides the GPS data so I would recommend to anyone replicating this setup to use one of the other sonars ArduPilot supports
- The autopilot is a Cube Gold (same as CubeOrange) running ArduPilot Rover-4.2.0-DEV
- Telemetry and manual control is via HereLink
- Mission Planner was used for checking on the vehicle’s status in real-time, mission planning and moving the vehicle around in Guided mode
We tested this boat for four days in Okinoshima Japan and it all went surprisingly smoothly. 73km of sea floor was mapped (measured by how far the boat traveled) which was totally acceptable considering the daily time constraints and that this was the first time the boat had touched salt water. Below is a the result after the data was processed by ReefMaster.
Some impressions and things we learned during testing:
- Despite its higher cost, I’m very happy we switched from the original gas engine to the Torqeedo. Beyond its linear feedback, quiet operation and low “fueling” costs, this motor provides tons of information including RPM, voltage, current and any errors and the new AP driver takes advantage of this to keep the overall system working reliably while also keeping the pilot informed of what’s going on. The only thing I don’t like about the motor is the 2 or 3 seconds of lag when it first starts rotating. I’ve heard this is to protect the motor from a sudden increase in current but I’ve never seen another electric motor/ESC combo require this and it makes the speed control more difficult when the vehicle first starts moving. Still, I highly recommend using the Torqeedo over a simple DC motor or gas engine.
- Boats with displacement hulls consume a lot of energy at high speeds! Below is a rough graph produced from a back-and-forth test at various speeds with a half depleted battery (so it’s not super accurate). The increase in consumption above 2.0m/s (7.2km/h) was especially noticeable and we eventually settled on 1.8m/s (6.5km/h) as the best balance between energy consumption vs time available. I.e. too fast and you run out of battery, too slow and you run out of time.
- The boat handled rough conditions very well but its yaw control was worse than expected when traveling downwind. I suspect the problem is the throttle output was very low and the default motor thrust scaling does not match the nearly linear thrust of the motor.
- This frame is incredibly agile, probably more than is really required of a mapping boat that spends most of its time traveling in straight lines. A catamaran hull might have been a better choice because while not as agile it might be more efficient.
Of course we hit some small issues during the week that we hope to resolve in the near-ish future:
- The boat’s mid and aft hatches are screwed down instead of being hinged meaning it requires a drill and a few minutes to open or close
- On Day2, one of the Panasonic ebike batteries shut down while the vehicle was being aggressively driven in Manual mode. The boat kept going and in fact we didn’t notice the failure until the end of the day but it meant the capacity for that day was only 2kWh instead of 2.4kWh. In general I like these batteries because they are a good size (0.4kWh each), easy to carry, easy to buy and easy to charge. They also have built in safety features like short-circuit protection but the flip side is they shutdown if the current draw increases too rapidly or the overall current flow is too high. Also because they don’t provide a digital interface there is no way to directly know if they have failed.
- The Panasonic batteries have a lower voltage (28V) than the Torqeedo batteries (32V) meaning the vehicle’s top speed is slightly lower than it could be. This issue is especially pronounced after the batteries start getting low. Finding an alternative battery of 32V seems nearly impossible but the Torqeedo motor appears to be able to accept up to 40V (only bench tested) so some other 36V batteries may be a good option (Makita power tool batteries maybe?).
- IMU Gyro calibration (run automatically soon after startup) often fails on boats if they’re already in the water (see issue here)
- Rover firmware support for DO_LAND_START mission commands would have made returning to “home” easier than using Guided mode or manually advancing the mission to the last few waypoints.
ArduPilot’s support for boats is already quite good but here are some ways it will improve further:
- SCurve support for Rovers and Boats. This should improve cornering and allow reducing the aggressiveness of the corners by simply increasing the WP_RADIUS parameter
- Add support for the larger Torqeedo motors which use a CAN interface
- Add support for the ePropulsion motors. By the way if anyone has a contact at ePropulsion I would like to talk with them about how to get details of the protocol they use.
- Improved object avoidance using 3D AI cameras (like the OAK-D), radar or underwater scanning sonar
- Support side scan sonar
I’d also like to replace this frame’s steering system with a 3D printed alternative so that others can more easily integrate the Torqeedo into their frames. The start of a design is here.
… and finally eventually I’d like to add solar panels to improve range. This should actually be quite easy if the Torqeedo battery is used (just plug the panel in) but it is not clear to me how to do it if other batteries are used.
All feedback and advice is greatly appreciated!