Software projects

Control

The AUV must be able to execute trajectories following, vision alignment, acoustic alignment and more. All of this is possible because of one thing... a good control! Our team is working on a modulable control algorithm to control their prototypes. We are using the control to manually move the submarine in his environment as well. (Tools and/or languages used: Matlab, Simulink, ROS)

Deep learning

It’s essential for an AUV to interact well with its environment to have performant machine learning models and software. To help us, we are using Apache-Airflow to automate our machine learning pipeline and our data transformation pipelines (ETL) are fully automated. We are also using Labelbox’s distributed labeling features to label all the images we get from tests. (Tools and/or languages: Airflow, Labelbox, Google Cloud, Tensorflow)

Docker Development

The software architecture of S.O.N.I.A. is mainly based on multiple Docker containers. Each nodes are developped and run inside containers to reduce maintenance, development and testing times. We are using Docker Compose to run the multiple containers onto the AUV. (Tools and/or languages used: Docker, Docker Compose)

FlexBE (missions)

FlexBE is a tool that helps S.O.N.I.A. to creates complex missions for the  submarines without manually coding them. FlexBE app is used to create the state machines, execute and monitor them. During the tests, it's also possible to collaborate with the submarine during the mission execution. (Tools and/or languages used: ROS, Python)

Providers and Procs

The providers are the drivers that communicate with low levels S.O.N.I.A. modules, sensors and actuators on the AUVs using different protocols. The data is passed towards the procs via ROS to process the information. This information will be interpreted and used by the telemetry, the other proc nodes or the mission. (Tools and/or languages used: ROS, C++, Python, TCP/IP, Serial communication)

Simulation

The team develop his own simulation environment to test different tasks virtual environnment. This simulation need to be the most accurate as possible because we want to test the majority of our missions inside of it. (Tools and/or languages used: Unity, ROS, C#)

Telemetry

The telemetry is a web app to control and monitor the submarines during our tests. It is portable and allow the team to connect from any device they want. It includes a bunch of modules that we need to monitor the submarines like thruster’s module, actuators module, camera viewer, etc. (Tools and/or languages used: React, Material Ui,Typescript, ROSLib JS, ROSBridge)

Vision

The design of vision algorithms that reliably detect objects can be extremely hard to achieve. The task requires extensive knowledge of computer vision theory; the technology used for the development (programming language and operating system) as well the natural environment in which it is to be used. It also requires time-consuming testing on various data sets to confirm the applicability of the end-result. (Tools and/or languages: ROS, OpenCV, CUDA, C++)

Mechanical projects

Please, come back soon…

Electrical projects

Please, come back soon…