SOFTWARE DESIGN

Software Design

The software that runs the Stingray is designed
in a hierarchical structure: several subsystems continuously perform
their duties in the background, while a central planning node interfaces
with each of the subsystems and sends them updated status and commands.

The Planner

During autonomous operations, the planner
software manages each of the other software subsystems. These subsystems
include navigation, vision, and sonar. The planner continually decides
on the next course of action based on the mission specifics and attempts
to accomplish each of the objectives of the competition. More can be
read about the software subsystems in the Navigation, Vision, and Sonar system pages.

GUI & Tethered Operation

To aid in controls development, the iBotics
team developed a GTK-based GUI application for use while tethered to the
vehicle. The Stingray dock control station allows for real time planner
task assignment, data-logging, controller gain tuning, actuator
testing, vision tuning, and camera displays. The control station works
in a client-server configuration with the Stingray, and all
communication is done over standard TCP/IP connections.