Home Search AA

DuckyAUV is an autonomous underwater vehicle, still under development at LABUST, initially developed by Marin Bek.

It is very small in size (the main tube is 8cm in diameter, 30cm in length), with a custom propulsion system, power electronics and a powerful main processing unit based upon ADSP-537E general purpose/DSP hybrid processor.

It has all of the necessary infrastructures for autonomous operation (DSP, RT operating system (uClinux), storage, expansion connectors, IMU, battery bank), but is currently tethered for the sake of development.


Hull is made of see through 5mm PVC tube, 30cm in length. Ends are closed with aluminium lids doubling as propulsion bearers, and the whole hull is closed tightly using gaskets and held together using metal rods with nuts.

Metal lids also provide connector interface, bow lid providing the only connector for bow vertical thruster, stern lid providing connections for two horizontal thrusters, one vertical thruster, external power and LAN.

Connectors, in lack of small enough commercial solutions, are improvised using D-SUB connectors, held in place using 2-component, industrial grade epoxy, as well as silicone glue overlay on the outside - silicone can be easily removed when necessary, but also helps in ensuring complete sealing.



Propulsion motors are brushless DC, custom wound to achieve minimum size and maximum efficiency with as much torque as possible. Stators are custom designed and manufactured, whilst rotors are off-the-shelf parts.


Power electronics for propulsion

Power electronics used in current DuckyAUV arethe second incarnation of electronics, first being based on power NPN transistors in a monolithic package (L298) and the whole commutation logic was done by the CPU. Current power electronics are based upon an IC with MOSFET transistor half-bridges (thus reducing own power consumption = less heating). Also, the whole commutation logic is done on IC, meaning that the whole propulsion-driving circuitry is separate from the CPU circuitry - only connection between the two is in logic-level connections for controlling the propulsion (direction, on/off, brake, speed, tacho).

An analog circuitry was added to the electronics board to enable speed-referenced closed-loop control. Therefore, the CPU can control the output speed of the motor shaft by just giving the reference level and all work is done by the electronics board. This means CPU can spend its clock ticks more meaningfully than simple commutation.


Sensoring system

Analog devices ADIS-family inertial navigation unit is the basis of AUVs' navigational system, providing precise gyro and acceleration data.  It is connected to the CPU via SPI interface, and has both manufacturer-provided drivers (nonreliable), as well as a functional interface via userspace application.



Currently, a system kernel driver for propulsion is developed and fully functional. It provides both RPM info on all of the propulsors, as well as allows user-space applications to control each of the propulsors (direction, on/off, brake, speed).

Also, an exemplary user-space application for control is available, which polls info on propulsor speeds from the driver and allows the user to drive the AUV in all possible directions at various speeds.