Optimizing a Low-cost Multi Sensor System for Hydrographic Depth Determination - 08/04/2019
With shallow water surveys not required to be performed with the accuracy and precision of industrial projects, surveying devices with lower costs are being welcomed by hobbyists eager to determine water depth. With this low-cost demand rising, the investigative development of these products has become a scientific research issue. The Department of Geodesy and Geomatics at HafenCity University (HCU) in Hamburg has been working on cost-efficient solutions in recent years.
The Old Openseamap Project
During a project with openseamap.org, a Multi Sensor System (MSS) including an Echo sounder, GPS and inertial measurement unit (IMU) was built up and tested. Despite having successfully created a working set-up that determined water depths and summoned costs less than €300, the quality of the survey data was yet to be sufficient for seafloor mapping. Secondly, the gathered data could not be processed by the user and had to be uploaded to an external server owned by openseamap.org where the data could be corrected and processed. A new project took place to increase measurement quality of this low-cost MSS and create independence from external data correction services.
The first developed MSS contained a MEMS IMU, a GPS module and a fish finder inside a waterproof box including the necessary electronics for power supply.
Optimizing a Low-cost MSS
Changes were applied to optimize the MSS hardware and software. Hardware changes involved exchanging the GPS receiver and the echo sounder. The old device (regular fish finder) for collecting echo data was exchanged with an SBES – increasing the overall cost. However, the accuracy and integrity of the gathered data showed a large improvement. Secondly, the GPS receiver was replaced with an evaluation kit, making it easier to store data in the desired format. A small cost-efficient MEMS sensor was already installed as an IMU. The data from these three components were collected on a data logger that came from openseamap.org. As an advantageable outcome of the hardware adjustments, there was no longer a need for an onboard microcontroller since all the data from the devices came formatted for NMEA-0183. The data logger, IMU, and the GPS receiver were placed inside a waterproof box (Figure 1) which can be strapped onto a regular bodyboard, while the echo sounder is adjusted at the downside of the bodyboard (Figure 2) and connected to the data logger inside the waterproof box via an RS232 connection.
Figure 1: GPS and IMU in the waterproofed box.
Figure 2: Installation of the SBES under the bodyboard.
For further improvement of the hardware, the IMU was calibrated thoroughly in the HCU’s Geomatic department’s laboratory. By doing so, deviances and shifts of the gyro’s axes could be discovered and eliminated. It was later found that this calibration improved the depth accuracy up to 18%.
Post-processing of Position and Depth in a Kalman Filter
Instead of depending on external work for post-processing, a Python code was written which can be easily executed by any user without a surveying background. All necessary steps for data correction and processing were included: By combining the information from the IMU, echo sounder and GPS, the measured point’s position underwater must be corrected according to roll/pitch and the measured depth.
Furthermore, an extended Kalman Filter (EKF) was used to improve the quality of the data series. The critical issue during the filtering process was found to be the prediction of state values’ variances after setting up the system model for the MSS. The EKF system model describes the development of all state variables (e.g. position, depth, turning rates, etc.) over time.
For performing an iterative loop over each time step, the variance (or expected error) of each state variable must be indicated by the user. In fact, those state variable’s variances have to be carefully adjusted in order to describe a moving system (the low-cost MSS) in the best possible way.
First Test Runs
After calibrating the IMU and attaching the sensors to the bodyboard, the first test surveys were performed in a pool with known water depths. The goal was to obtain a quantitative idea about the system’s measurement accuracy. The results after performing a reference survey showed an accuracy of 98.17% meaning that the deviation of the measured depth from the reference depth-averaged at ±1.83%. After implementing the Kalman Filter, processing the deviation was reduced to ±1.11%.
However, this survey was carried out in an environment with a constant depth (Figure 3). As those values happen to vary during a usual hydrographic survey, the chosen settings on the EKF’s system model had to be confirmed by testing the MSS in less predictable open waters. After an open water test run, the EKF’s system model variances were adjusted according to the open survey’s results.
The adjusted values of the system model were then confirmed by processing the reference run, this time using the new variance parameters (Figure 4). Using the filter’s final parameters, the deviation from the reference depth was ±1.22%. This result was, therefore, less accurate than the parameters developed for constant water depth only. Still, it shows a significant improvement from the measured depth without any computational processing.
As an example, the developed MSS is able to fulfil the IHO’s requirements regarding the survey of shallow waters up to a depth of 25.98m, while without the implemented processing the required accuracy is not reached with only a 15m depth. Considering those results, it can be stated that the hardware and software improvements of the first low-cost system were a success.
Figure 3: Old EKF parameters before open water test run.
Figure 4: New EKF parameters after open water test run.
The overall cost of the device is €1,031, which is more than three times higher than the previous system. After assembling an echo sounder specified for hydrographic surveys however, this increase in budget was in fact unavoidable. Still, these costs can be decreased by choosing a small and cheap GPS module instead of an evaluation kit which performs equally accurately but takes away a lot of space on the system.
After assembling an accurate depth sensor and developing a post-processing programme, the largest field left to be developed is the GPS/GNSS. To improve the positioning data, it is possible to collect raw data from satellites and upload it into the extended Kalman Filter. This will probably require an Arduino onboard the MSS for converting the raw data in NMEA 0183.
Consideration is being given to adding further sensors to the MSS in order to gain more measurement variables like a barometer for precise height measurement and a magnetometer for determining the heading of the MSS. A barometer can especially determine information about the heave – which is useful if the system is used in wavy conditions.
The next step is to develop a ROS (Robot-Operation-System)-based low-cost opensource localization system for hydrographic surveys which could later be integrated into a low-cost ASV. It will include improved GNSS, an attitude sensor, a camera and the Airmar EchoRange single beam echo sounder as it was implemented and described above. The camera will be used to support the GNSS position through the use of visual odometry. The developed filtering and post-processing programmes have the potential to be developed even further. For additional sensors and more state variables, the functions in Python can be adjusted and changed if needed.