Mechanical
The AUV 7 has a large volume and the interior space is unorganized. The carbon fiber was innovative, but it was lighter than expected. Therefore, the submarine’s density is too low, and it becomes challenging for it to dive. To overcome this challenge, the mechanical team added 25 pounds of ballast in order to reduce the buoyancy. One of this year’s goals with the new submarine design is to reduce weight penalties. With the new submarine, the design is a lot smaller in order to increase its density. This way, no unnecessary mass was added. Even though the submarine as to be smaller, it was important that all the existing hardware could fit inside, due to budget and logistical constraints. The mechanical team aims for a total weight of 77 lbs.
With two submarines to maintain, the mechanical team needs to be as responsive as possible when technical design issues happen during the competition. Therefore, it was clear that the components accessibility needed to be the main focus of the new design. The team decided to increase the number of access points in addition to increasing their size. The interior is fully hollow without internal obstruction, such as inner bolt circles. A clip system was added to save the team from having to screw components inside the submarine. During the competition, this part is vital since it allows the team to take out all critical parts quickly and without specific tools.
With the new design, the team decided to go with a full aluminium hull after some deliberations. First, the raw material is less expensive and easier to manufacture, compared to carbon fiber. Second, with aluminium, the heat exchange from the submarine to the water will be better than the carbon fiber shell. Most of the parts were programmed and machined by the mechanical team. It was decided to anodise the new AUV-8 to protect it over the years. A light color was chosen as additional protection and to reduce the heating of the submarine outside of the water.
For the interior, the mechanical team designed most of the support racks to be 3D printed. The main goal for the racks are that they do not require any fastener or tools for the assembly and disassembly. These racks can be taken apart quickly to help the electrical team members to debug an electrical malfunction during the competition. The main challenge is to fit all the big components, such as the Jetson Xavier and the DVL, will maintaining access and removability inside of the hull. Careful design and testing ensured that everything fits without any snags or over bending wires.
Electrical
With the new mechanical design, the whole electrical platform had the be reengineered. The first goal of the team members was to fix the issues from the previous platform without increasing the work of the software team. The new custom boards of AUV-8 are using the same communication protocol previously used on AUV 7.
The major change on the new prototype is its size. Since, the new submarine is considerably smaller in volume, the PCB needed to be smaller in design. The power supply board needed to fit the new extrusion design with a reduction of its size by 40% without compromising the power delivery for the ESC while using the thrusters at a better efficiency. The power supply still needs to provide two power delivery channels for the ESC and one channel that converts the 16V of the batteries to 12V. Another team’s goal was to change the current and voltage sensor.
On AUV-7, the team was not able to use these sensors. The members changed the analog sensors for a digital sensor that communicates with I2C protocol. INA226 sensors is used to monitor the current and voltage of the ESC and for the 12V converter. The main objective of this project is to be able to have a better feedback of the electrical state and consumption of the submarine to improve its control.
Software
S.O.N.I.A. added CI/CD on the development process. To do so, we migrated custom ROS messages and services in a single package. Using it as base, they add over twenty Docker images containing one package that control one aspect of the submarine (control, thruster, sonar, etc.). With the addition of the Docker, development environment is uniform for everyone in the team. Debugging and testing the different components of the software is easier.
Containers can also be debug directly on the submarine, using Visual Studio Code Remote Container extension. The team made the choice to use GitHub Actions as CI/CD for building Docker images when commits are pushed on GitHub. These images are pulled on the submarine and are ready to be run (there’s no more C++ or Python deployed directly on the sub, only container containing each modules).