One main requirement of the ShipBot is its size. It must be compact and portable to facilitate testing. Quantitatively, it must fit within 1.5’ (width) x 1.5’ (depth) x 2.5’ (height). This small size should allow the robot to move within the 3’x 5’ testbed. Another main requirement is how the machine is constructed: the robot must be constructed robustly instead of being the result of throwing many prototypes together. This should give the final ShipBot a polished look. In addition, it must be a fully embedded system that comes as close as possible to a deployable machine in the real world. Additionally, the robot must also interact safely within its environment. This means that it should not damage any part of the test bed or injure anyone.
The robot must also be able to manipulate its environment. This includes manipulation of wheel valves, spigot valves, and breakers. It must be able to turn wheel valves up to two full revolutions from their current position, spigot valves +/- 90 degrees from their current position, and flip breakers into both the on or off positions. All of this manipulation must be done within the specified time limit for each mission. Additionally, all valves must be within a +/- 15 degree tolerance from the desired position. This entire ShipBot construction is limited to a budget of $1,250.
The method of communication established by the specifications is a mission file. Therefore, the ShipBot must be able to read in, parse, and act upon this file. Given that the mission file only includes tasks, and no environment information, the bot must also be able to sense its environment to know where it is. In addition to sensing the environment, it must also be able to sense the position of the valves and breakers before and after manipulating to ensure they are left in the correct state.
To have a ‘coolness factor’, we decided to design the robot so that it is completely self contained and battery operated with no power tether. This increases the degree of the deployability of the system and the closeness to final product. Additionally, we decided to enable the robot to localize itself from anywhere within the test bed.