The Raspberry Pi and Pixhawk-Powered "Scandiana Jones" Catamaran Is a Mapping Marvel
Photogrammetry, sonar, and GPS data combine to allow this autonomous water-based vehicle to create point-cloud and Gaussian splat maps.
Pseudonymous collective "We aRe oNe Robotics," hereafter simply We Are One, has published a guide to building a catamaran capable of autonomous data-gathering for digital twinning and 3D mapping β capturing imagery with pair of USB webcams for photogrammetry.
"'Scandiana Jones' is a model boat catamaran that can drive autonomously thanks to Ardurover/Ardupilot," We Are One explains of the project, in translation from the original German. "It is equipped with a sensor package of webcams and sonar. The aim of this project is to record hard-to-reach places on the water (e.g. for archaeologists or environmental analyses). The boat takes photos, which then serve as the source material for photogrammetry (3D scans) and Gaussian splatting. Digital twins can be created by locks, bank embankments, bridge pillars, or caves."
The boat itself is built from a watertight plastic box on top of a pair of underwater thrusters hooked up to a pair of ZTW Shark water-cooled electronic speed controllers (ESCs). Everything is under the central control of a Pixhawk PX4 flight β or, in this case, ride β controller, which is in turn connected to a Raspberry Pi 3 Model B for camera control and data processing and an Open-Echo Arduino UNO-based sonar sensor setup.
"The catamaran is based on two commercially available floating boards," We Are One explains. "The swimming boards were cut to act as stable pontoons. The plastic box is attached to the center of the pontoons. This serves as a waterproof housing for the sensitive electronics. An aluminum rod serves as a mast. It is attached to the box or frame with the 3D-printed clamps. The height is crucial to maintaining a good angle for photogrammetry. The underwater thrusters are mounted at the rear ends of the floating boards."
As the boat trundles around a body of water, it captures data from both sonar and a pair of USB webcams. These data are then processed to provide measurements below the surface and a 3D representation of the boat's surroundings above the surface β using photogrammetric processing to turn a series of 2D images plus GPS coordinates into a 3D model. "The images are imported to create a point cloud and a mesh model," the team explains. "The mesh is exported to Blender to clean it and prepare it for 3D printing (as an STL). Alternatively, the point cloud is loaded into 'Postshot' to create a Gaussian splatting model (photorealistic representation.)"
The full project write-up is available on Instructables, with STL files for the 3D printable parts promised to follow in the near future.