About

Description of Function

The Goal

The goal for this project was to create a hovercraft and controller set that could be used to play a team game. Project specifications mandated that our hovercraft needed to be tele-operated not only by our own controller, but also by any other controller present during game play. Likewise, our controller needed to be able to control all of the other hovercrafts developed for this class, and we were encouraged to make the operator look foolish while controlling the hovercraft.


The Game

As the project fell during an election year, our game had a political theme. The components of the game were as follows:

  • Hovercrafts, also known as a LOBBYISTs (Loyal Only By BriberY Influence Spreading Technology)
  • Controllers, also known as PACs (Political Artillery Controller)
  • Ping Pong Balls, each of which represents a member of Congress

The rules were simple: during game play, there would be four LOBBYISTs and six PACs active in the political arena. Players were divided into two teams (Red team and Blue team), with each team consisting of three PACs. The teams has 218 seconds to try to pair with as many LOBBYISTs as possible, and when a successful pair occurred, the teams would proceed to bribe members of Congress to vote in their favor (i.e. push as many ping pong balls as possible into that team's goal). Because there was an imbalance between the number of LOBBYISTs and the number of PACs present during game play, there was a constant opportunity for the loyalty of the LOBBYISTs to shift from one team to another. As a result, the game had the ability to turn into a knock-down, drag-out battle for control between the two teams.


The System

We decided to go with a turtle theme for our hovercraft and controller. (Though a turtle isn’t necessarily related to this year’s political theme, it probably wouldn’t take a stretch of the imagination to find a connection.) Both the controller and the hovercraft are described in more detail below.


Controller (PAC)

Our controller consists of three pieces: two turtle flippers, which the user straps to their arms, and a helmet. To control the hovercraft, the user must to “swim” with the flippers in certain sequences. For example, to drive straight, the user swims with both flippers at once. To turn right, they only swim with their left flipper. Likewise, to turn left, they only swim with their right flipper. Finally, to reverse, they must hit the red X’s on the helmet. In addition to these inputs, users also have a braking option available, as well as a number selection dial and a pairing button, which they can use to select and pair with their desired hovercraft. The following is a full list of the sensing modalities and status indicators we used on our controller:

  • Forward and turning control: shake sensors
  • Reverse control: force sensitive resistors
  • Braking: button
  • Indication of braking: yellow LED
  • Pairing: dial and button
  • Indication of pairing: green LED
  • Team selection: switch
  • Indication of current team: red/blue LEDs


Hovercraft (LOBBYIST)

Our hovercraft is constantly waiting for new data to come in wirelessly via Xbee. Whenever new data arrives, our hovercraft parses it according to the class-standard communication protocol. Then, it uses the extracted data to determine what to do. For example, whenever a controller pairs with our hovercraft, the lift fan turns on, which in turn inflates the hovercraft’s skirt. When new control commands come in, the hovercraft parses the data packet and decides which peripherals to alter. The hovercraft can respond to commands by moving forward or backward, turning right or left, and braking (i.e. turning off the propellers and deflating the skirt). The following is a full list of peripherals that our hovercraft alters based off of incoming data:

  • Lift fan
  • Propellers: two brushed DC motors
  • Display of time (fuel gauge): servo motor
  • Paired/unpaired status (sunglasses): servo motor
  • Indication of active pairing (turtle flippers): two servo motors
  • Indication of team color: LED strip


Gems of Wisdom for future generations of 218ers

    Mechanical

  • Spend a day early on in the project prototyping your base platform. Make sure your design can hold enough weight while still successfully hovering. Doing this early in the project means you can spend your time later on in the project focusing on important things like circuits and code.
  • For the skirt design: having a rigid ring on the bottom and an airtight seal on top works really well
  • Check out the skirt design in our mechanical page for tips on a good hovercraft skirt.
  • Electrical

  • Build clean circuits and focus on the craftsmanship of the electronics early on.
  • Label everything (especially power cables) and clearly label all your grounds and make it very obvious so that no mistakes will be made when you are tired.
  • Strain relieve all of your wires.
  • Software

  • Before you start coding, sit down and really think about your state machines and make sure they handle all of the little details and edge cases that come with the communications protocol. This will make coding go quickly and will help you enormously when you’re coding with another person or when you’re debugging.
  • Take out those print statements. They were causing timing issues when teams were trying to pair their controllers with other teams’ hovercrafts.
  • General

  • Make sure all changes made to the communications protocol during communications committee meetings are well documented and distributed to the entire class asap.
  • Share ideas and insights, and try to troubleshoot with other teams. The success of your project comes not only from the work you put in, but also from the work the rest of the class puts in. Having an open channel of communication between the teams means your project will be smooth(er) sailing.
  • Do yourself a favor and buy a battery charger, duct tape, electrical tape, and zip ties early on in the project. These will save you so much time and come in handy pretty much every day of the project.

Our Team


Contact Us

Leave a message for the ME218c team.