This quarter's project involved creating a SHIP (Somewhat Holonomic Immersible Platform) and a controlling ANSIBLE (Active Navigation, Sensing, and Indication Battle Link Equipment) that would communicate wirelessly with one another in order to compete in a game created for the class.
Communication
The primary focus for this quarter was on communication. The primary means of communication for the project was wireless communication via two XBEE modules provided by the class. In order to standardize the information sent via XBEE between SHIP and ANSIBLE, one member of each team was selected to be a part of the communication committee (ComCom) which developed a communication standard to be followed for the project (attached below).
The highlights of this standard included using UART (Universal Asynchronous Receiver-Transmitter) to send packets of data over to each XBEE, which would then communicate with another XBEE using its own API mode. The API mode involved an order of setup and address bytes followed by a section of data. This data section was the main focus of standardization from the ComCom. According to our standard, there are 4 packets of data that can be sent between SHIP and ANSIBLE:
Request to Pair Packet - This is a packet sent by an ANSIBLE to a SHIP that it wishes to pair with
Pair Acknowledgement Packet - This is a packet sent by the SHIP to the ANSIBLE indicating that it received its request to pair and is available to be paired with
Control Packet - This packet is sent by the ANSIBLE to the SHIP and it includes all of the necessary sensor values required to control the ship (speed, steering, special functions, etc.)
Status Packet - This packet is sent by the SHIP to the ANSIBLE in order to provide the ANSIBLE with information regarding the SHIP's fuel status
The competition for the project was conducted in Terman Fountain. The class was randomly split in half, with half of the SHIP's on the red team and the other half on the blue team. The goal of the game was to get the majority of the SHIP's in the battle pond (see schematic below for layout of the battle pond) through your team's gate. This was accomplished not only by controlling you team's SHIP with your ANSIBLE, but there were also opportunities to control other SHIP's with your ANSIBLE.
Each SHIP was equipped with a fuel gage (funnel filled with water and a sensor). While fueled, only ANSIBLEs from the SHIP's home team could pair with and control the SHIP. However, if the SHIP ran out of fuel, it was free to be controlled by an ANSIBLE from either team, however the SHIP would only move at half speed while unfueled. It is also possible to refuel an unfueled ship using the 2 waterfalls on the battle pond. The inter-controllability by any SHIP and ANSIBLE is what prompted the ComCom standard so that any ANSIBLE was equipped to communicate with and control any SHIP.