The design and integration of an unmanned surface vehicle (USV) control system is described. A survey of related work in both USV control, and unmanned vehicle operating software is presented. The hardware subsystem comprising a modular Guidance, Navigation, and Control (GNC) package is explained. A multi-threaded software architecture is presented, utilizing a decentralized, mutex-protected shared memory inter-process communication subsystem to provide interoperability with additional software modules. A generic GNC approach is presented, with particular elaboration on a virtual rudder abstraction of differential thrust platforms. A MATLAB Simulink simulation is presented as a tool for developing an appropriate controller structure, the result of which was implemented on the target platform. Software validation is presented via a series of sea trials. The USV was tested both in open- and closed-loop control configurations, the results of which are presented here. Lastly recommendations for future development of the GNC system are enumerated. |