University of Cambridge Logo

  • Blackghost

    Blackghost at SAUC-E '08

    Blackghost, is the second AUV that the team has built in three years. Construction of the design was started in October 2007 and it was completed for the 2008 SAUC-E competition in July. Over the academic year 2008-09 the vehicle has underwent a number of improvements, including new thrusters, a new battery module and a new software architecture.


    The design of Blackghost was heavily influenced by our long term arctic goal of being deployable through a bore hole. This has driven the torpedo shape of the hull which is 10cm in diameter and 1.2m long. It is controlled using a 100W main motor and rear propeller to drive it forwards and four internal vector thrusters for manoeuvring. They are arranged in two sets with one vertical and one horizontal thruster at the front and back. This design makes the AUV very manoeuvrable and the internal thrusters don’t require any extruding parts that would make bore-hole deployment difficult. The original design contained extremely compact, custom built, rim driven thrusters which were based on a brushless motor design. They were designed to be extremely compact and waterproof without the need for a lip seal. Unfortunately after a year of use their performance started to degrade so they were replaced by commercial thrusters at the SAUC-E competition in 2009.


    The computer that provides most of the processing power is a very small form factor PICO-itx. This a motherboard with a 1GHz processor and provides 1GB of ram within a footprint measuring 100x72 mm. Extra processing power is provided by two 16-bit PIC microcontrollers built into our custom inertial navigation unit. The first uses data from accelerometers, gyros and pressure sensors to provide an estimate of the AUV’s current position. The second PIC is used to control the motors and implement our low level control loops and autopilots. To aid navigation the AUV also uses a Xsens MTi which uses a 3D compass and gyros to calculate the AUV’s orientation and turn rates.

    Vehicle Parts

    Image showing the different parts of Blackghost


    Computer module drying in the sun

    The hull was designed and constructed in five modular sections; the nose cone; the front thrusters section; the middle electronics section; the rear thrusters section and the tail cone. The nose cone, middle and tail cone sections were constructed from carbon fibre because it was light weight and only required a very thin wall. The other two sections were made from Perspex to aid their construction with the internal thrusters. The sections are connected using two types of connector; the quick connector and the semi-permanent connector. The two outermost connections are made using the semi-permanent connectors which use internal screws squash an o-ring between two aluminium plates. The other two connections use an innovative quick connector design that allows them to be more easily taken apart and assembled. This design uses two aluminium pieces with an o-ring between them and a threaded aluminium ring which screws over the aluminium pieces to hold them together.


    To enable the vehicle to be able to complete a variety of missions it has an attachment which allows extra modules to be bolted on. This enables a variety of mission specific modules (MSM’s) to be attached and provides a USB interface to enable compatibility with a wide range of devices. This year we were kindly donated a Sea Sprite sonar by Tritech International, which is currently attached to the mission specific module holder. The sonar allows us to do a full 360o scan of the area surrounding the AUV, which can be used for detecting objects and aiding with localisation.


    Power is provided by 6 2400mAh lithium polymer batteries which can deliver 28A each. The problem with using lithium polymer batteries is that the voltages, currents and temperatures of all of the batteries need to remain within strict limits to prevent damage to the cells. To do this, each battery is equipped with an individual protection circuit which monitors all the batteries parameters. Each circuit also has MOSFET’s and fuses, which allows it to turn each battery off if its condition moves out of its allowable operating conditions. In addition, the battery module uses a PIC microcontroller which communicates with each of the monitoring circuits to provide a user display and an extra layer of protection. To provide safety for the operators the battery module uses a magnetic kill switch and mame switch to kill the power to either the whole AUV or just the motors respectively. This allows a diver to kill power to the AUV if it goes out of control with the option of keeping the software running so the problem can be more easily found.


    Software coding

    The AUV software is written in a combination of C, for the PIC microcontrollers; C++ for the main autonomy and visual processing code and Java for the GUI. Our main processor, the PICO-itx, runs Ubuntu due to its high reliability, low cost and ease of configuration.


    The main code is written using in distributed style using different modules for each task, which all connect to a central hub. The modules communicate with each other using a messaging system and to provide ease of operation they automatically find each other and connect together. This distributed style is very useful as it allows different parts of the software to be run on different processors which is handy for development and also ready for possible parallel processing in the future. The high level AI is coded using Lua scripts which allow us to easily and quickly update mission files to change the AUV’s behaviour.


    The AUV’s main method of sensing its environment is via two web cameras; one facing forwards and one facing downwards. The software makes use of Intel’s openCV libraries to process the images from both cameras. Using a series of edge detection, Hough transformation and colour filters the software can detect gates and buoys reliably. The setup of the software also allows different filters to be easily applied so the software can be quickly configured to detect different objects. Using these libraries running on the PICO-itx allows the AUV to process images at a rate of approximately 5Hz which is fast enough to detect and react to any object.


    To control the AUV remotely and during debugging it has a tether which allows an Ethernet connection with the PICO-itx. A GUI allows users to view real time telemetry and camera and sonar images. The GUI also allows a user to control the AUV for testing and this has been integrated with a Playstation 2 controller for ease of use.