The following paragraphs detail the changes our design has undergone and the reasons for the changes. Specifications fo the final design can be found in the hardware and software page.
Initial Phase
Proof of concept
This is simple a trial run to confirm whether the idea of having dry ice as the base of a motor vehicle. While this version spun on the spot a lot, the smooth movement confirmed that the idea is feasible.
Prototype
First version
This is the first version prototype with only 2 motors. The opposing torque of the 2 motors balanced each other out, allowing the vehicle to move straight. However, each motor is controlled by 1 channel (i.e. 1 joystick direction in the transmitter), and we were basically controlling the speed of each motor manually. This caused much instability in the movement of the vehicle. There are also semicircular holes on 4 sides of the base as a locking mechanism. Holes will be drilled into the the 4 sides of the dry ice using metal rods. Then plastic rods will be placed into these holes with the protruding parts of the rods fitted tightly into the semicircular holes in the base. This secures the base to the dry ice.
Second version
<video of hovercraft siao siao with pixhawk>
In this version, we incorporated a flight controller, Pixhawk 2.0 Cube, into the system. The Pixhawk now controlled 4 motors according to the throttle information sent by the transmitter. However, the software used to programme Pixhawk, Mission Planner Ardupilot, only has pre-programmed modes and no option to fully customise a vehicle. This was problematic as our vehicle is different from all existing modes. The mode we initally chose was drone, which means the Pixhawk would always try to level our vehicle to the ground and readjust the motor speeds accordingly. As we can see from the video, any slight imbalance in our hovercraft would cause unfavourable readjustment of motor speeds and jeopardise the movement of the vehicle. We then attempted to use rover mode and submarine mode, but ran into problems as well as the pre-programmed modes caused the rover mode to not recognise our drone motors and the submarine mode to not recognise our drone remote controller.
Third version
We then moved onto using an Arduino Uno board to control our motors. The Arduino Uno board controlled the speed of the motors by sending PWM signals to the ESCs which in turn controlled the amount of power the motors received. The video above shows our attempt on the granite floor in Techno Plaza. While the granite tiles are smooth, the grooves between the tiles caused turning and/or slowing of the vehicle.
Fourth version
In the third prototype, the base is too small, causing the motors to be fixed along the length. Travelling along the width have caused the vehicle to be more prone to turning. Thus we expanded the base by incorporating 2 pieces of dry ice. This version of the prototype can travel along its length, but it is difficult to find 2 pieces of dry ice with compatible sizes, and the uneven height as seen in the video above caused slippage of dry ice at times as the cap could only accomdate one height.
Final Product
In our final product, the 2 pieces of dry ice are balanced on their sides as their width are more similar than their height. This allows the vehicle to be better balanced, and the dry ice can also last longer before it becomes so depleted that the motor arm caps touch the ground.