Starting to create the control software for the project. Implementation is in Perl, and is designed around a client/server (TCP/IP) architecture.
We'd like to have a manual control for the vehicle, for a user to steer it during learning phases and situations where the AI is unable to properly respond. An example might be bringing it into the dock. GPS will get the ASV close to the dock (within the < 15m error range of GPS), but can't deliver it right to someone ready to grab it.
Right now we're using the ActiveState Perl Win32::Multimedia::Joystick module. It is able to work with conventional joysticks such as one from Logitech as well as game controllers such as this one also from Logitech. I'm also implementing a mouse based controller where a user clicks and drags inside a target window to simulate joystick motion, for situations when a joystick is not available.