The Coding or Software division of the team overlooks the complete software package required to properly operate the Autonomous Surface Vehicle. The members of the domain are responsible to create overall software that allows the vehicle to accomplish the different tasks that are expected during operation. The team is also responsible for adding any patches to the existing software system that would extend its operational capabilities. The Software running on board the Autonomous Surface Vehicle is responsible for providing a robust Control and Navigation algorithm after fusing data obtained from various sensors like the IMU, GPS, Digital Compass, Ultrasonic Receivers as well as Vision based sensors.
The Control System is essential to provide appropriate control signals to the thrusters so as to achieve the required navigation trajectory. The GPS as well as the IMU is used together with the application of a Kalman Filter to form an Inertial Navigation System to enable Waypoint Navigation for the Coarse Navigation algorithm. Vision based navigation as well as Dead Reckoning is used to enable Fine Navigation algorithms for the vehicle. The Software suite of the ASV is comprised of multiple layers with specific purposes such as the Mission Planner which charts out the complete Mission Plan for the run cycle of the ASV. During the Mission Planner functioning, the Mapper and the Mission Tracker work together to keep track of the different tasks that need to be performed and removes the completed tasks/missions from the objectives list. The pending Objectives that need to be completed are tracked by the Objective Tracker of the Software Suite. The directives from the Objective Tracker move to the Path Planner module which allocates respective Movement Behaviours for the ASV. This enables different behaviours like Loiter, Position Hold, Point to Point Navigation, Return Home to be enabled which allow the respective tasks to be accomplished.
The Team is also responsible for establishing a communication network which allows for task based reporting to be done as well as acquiring mission critical information from the network. The team has also developed a Diagnostics module for the ASV which would power down the complete system leaving online only critical components in case Operation Signal is lost from the Wireless network. The network would also allow for critical system values to be reviewed in real time and administrative controls to be performed, if any, need to be taken.