FASt was designed with the free version of the boat design software Delftship (former FreeShip). The design was inspired in the hull shape of offshore racing sailing boats, with a deep keel and twin rudders. The deck was kept flat to facilitate the installation of hardware, solar panel and water tight connectors for attaching external instrumentation.
The hull was built with epoxy resin and a sandwich of carbon fiber, honey comb core and fiber glass, following the same industrial process for building light weight competition kayaks. First, a full size model was built, assembling a set of bulkheads cut from a plywood sheet with the drawings extracted from the boat design software. After several iterations of fairing and smoothing the surface, a negative mold was built in fiberglass and finally the carbon fiber honey comb sandwich hull was constructed with epoxy resin.
In the next stage various internal reinforcements and fittings were installed for supporting the rudders, the keel and the electronic systems. Finally, the deck was attached to hull, keeping large openings for accessing the three main compartments: the front for the batteries, power system and sail motor, the central for the main computing system and rear for the rudder gears and servo-motors.
The keel was laminated with a carbon fiber skin around a polyurethane foam and a hard wood core. A 20 kg lead ballast was built from sheets of lead glued with epoxy and covered with a fiberglass skin. The keel is attached to the hull by locking it in a central keel box across the hull.
To improve the controllability and stability of route we adopted a twin rudder configuration with semi-compensated rudder foils. The rudders are controlled by independent servo-motors to allow setting optimal angles of attack for each rudder when performing sharp turns, and also permit to set them in non conventional positions (e.g. full open to opposite sides), for deliberately increasing the drag when necessary to reduce speed. The rudders were constructed by stacking layers of foam and wood with the rudder cross-section profile around a stainless steel shaft, covered by a thin layer of epoxy resin reinforced with fiber glass.
The computing system is built around a low power FPGA-based single board embedded computer (Suzaku SZ130, hardware manual available here), running a light wheight embedded Linux kernel (uCLinux). The SZ130 board has a XILINX Spartan3E 1200 device, a dedicated chip implementing the TCP/IP stack, 32 MByte of DRAM and more than 80 digital I/Os for interfacing to external devices. The whole computing system is implemented in the FPGA device and includes a 32-bit microprocessor (XILINX Microblaze) running at 46 MHz, an 8-bit microcontroller for front-end processing of sensor data and several custom designed hardware interfaces. Presently (summer 2014) we are porting part of the software system to a Beagle Bone Black embedded computer, keeping the FPGA-based system to handle the front-end processing of data coming from the sensors.
FASt includes a conventional set of sensors required for sailing navigation: GPS receiver, tilt-compensated digital compass (also providing the pitch and roll angles), wind speed and direction and a boom angle sensor to measure the actual position of the main sail. The wind and boom angle sensors were custom built, both based on the digital magnetic rotary position sensors provided by AMS (formerly known as AustriaMicrosystems AG) (AS5040). Other sensors include water temperature, ambient light, water speed, water leak detectors and a forward looking acoustic sonar for obstacle detection.
Electric power is provided by a 45 Wp solar panel (SOLARA SM160) and stored in two 97 Wh Li-Ion batteries (Inspired Energy NL2044). The power management system is performed with an off-the-shelf system from OceanServer, also providing real time full information about the battery status (ATX power supply DC123SR and battery management BB04SR).
The navigation and control software running in the onboard computer was developed for the Linux kernel and was written in C. The software is structured in 4 main concurrent threads: low level interfacing with the peripheral hardware devices, rudder control, sail control and autonomous navigation manager. A conventional radio control is used for fully manual operation, convenient during the launch and recovery operations. The radio control is also used for setting different navigation modes: auto pilot mode (using as reference the compass or the apparent wind), autonomous mode and manual mode.
When the autonomous mode is enabled the sailboat performs a pre-programmed mission previously downloaded to the onboard computer. A mission is defined with a set of waypoints and lists of tasks to perform when arriving to each waypoint. Tasks can be as simple as setting course to another waypoint, or more complex sequences of actions to control external data acquisition devices for environmental sampling. Basic control flow statements allow to program missions capable of reacting to external conditions, as for example deciding the course upon the wind state or data read from an onboard sensor.
To help planning, simulating and analyzing missions we have developed a graphics command and control console, running in a Windows PC (METASail). Planning a mission consists in creating interactively a mission program, by dropping and draging key waypoints and defining the actions assigned to each waypoint. While in field operation (or simulating a mission in the sailboat's computing system), the console is used to plot in real time the log data transmitted by the sailboat by a wireless data link. After a mission, the log files can be played back and relevant data extracted for further detailed analysis with other tools (e.g. Matlab)