De-lux & Irrelephant
Makers: Quinn Wongkew, Riley Wood, Brook Nichols, Zack Pagel
De-Lux and Irrelephant are the Tufts Robotics Club's latest entries into the Trinity Firefighting competition of Spring 2014 held by Trinity College. The goal of the competition is to design and build a robot capable of navigating a maze, finding a candle and putting it out, all autonomously. The club decided to enter two robots this time around, each of which would be programmed with different strategies. The De-lux robot (the black one) was designed to play it safe, navigate the maze slowly, and not take risks. The Irrelephant robot (the blue one) was programmed to be more “aggressive”, navigate the maze faster, and overall take more risks in the hopes that it would do better in the competition. Unfortunately, the gamble didn’t pay off and Irrelephant did not succeed in the competition, but De-Lux performed very well.
The robots were designed to be circular because this is the optimal shape for a wall-following robot. Circularity prevents the scenario where a robot catches itself on a corner of the wall and allows the robot to hug the wall much tighter. The robots were designed in Solidworks and built from laser-cut acrylic. The basic design consists of two plates which sandwich the electronics in the middle. On top of the upper plate is a slot for the carbon dioxide canister which is used to extinguish the fire. In front of that is a stand to hold the flame sensor array. The robot drives around using two motorized wheels and two ball casters on the front and back. The sides of the robot consist of flat pieces of acrylic on which are mounted two distance sensors.
Late nights were spent in Bray Labs finishing the robot in preparation for the competition. Our group split into smaller teams each tasked with designing a portion of the robot. Fire sensors were selected by the electromechanical team and were handed over to the programmers to develop a fire sensing algorithm.
Designing robot in SolidWorks – The robot was designed in SolidWorks. Was made up of two pieces of laser-cut acrylic spaced by other acrylic pieces.
3D Printing – it was necessary to 3D print certain parts for the robot, such as the casing which held the CO2 canister, used to put out the fire.
Programming – At the robot’s core was an Arduino. Software was written and organized into neat libraries for the project. There was a focus on modularity so that code for the fire sensors, for example, could be reused in another project.
Control algorithms – To accurately coordinate sensing and driving, several feedback loops were incorporated into the program. The robot drove at an angle dictated by the angle measured by its two side-facing distance sensor such that if the robot was too far away, it would steer toward the wall; too close, and it would steer away. This causes the robot to reach a stable middle ground. There were also controls involved in steering toward the fire. The fire sensing array provides the angle the fire is sensed at. An angle of zero indicates it is straight ahead. The robot drove at an angle proportional to the angle the fire was sensed at such that it always steers toward the fire.
Laser cutting – Used a laser cutter to cut out acrylic that made up the robot body.
Selecting and wiring up sensors – Sensors were an integral part of this project, as they allowed the robot to sense its way through a maze and ultimately find a candle. We used many distance sensors as well as a fan array of fire sensors to home in on the fire.
Arduino – An Arduino was at the center of the robot. This competition put to the test all the skills club members had accrued in meetings previous.
3D printer – Parts that could not be made from acrylic were 3D printed
We began with the design of the physical robot in SolidWorks. The design was informed by previous iterations of Tufts’ Trinity Firefighting robot. For example, in previous year, we had used an IR sensor with a cone around it to sense fires, though this proved ineffective. This year, we purchased specially-made flame sensors and made an array of them, which greatly improved our sensing capability. The robot was made perfectly round, so as to avoid catching corners when navigating the maze (as had happened in the past).
Once the body of the robot was fabricated, it was time to wire everything up. This was done in not much time. From there, the group worked together on devising a control scheme for maze navigation and fire sensing. The groundwork was quickly laid, and from there our work was mainly in fine-tuning these controls.
One issue was that, during the competition, the robot drives on a black floor and searches for a white line. Our space’s floor is white, so our only option was to put down a black line. We solved this issue by placing a variable in the code to switch between searching for white on black, and searching for black on white. This taught us to have a good debugging framework in place ahead of issues. In the end we had many “switches” at the top of our code that allowed us to test many different aspects of the code simply by changing a 0 to a 1.
We also maintained a Git repository for the duration of the project, which allowed us to version control our code, meaning that if something gets changed and the whole system breaks, we can easily revert to an old version of the code as a failsafe. On a project that involves so many people poking at the code at once, it is important to maintain a strict system that will maintain the code’s integrity. This was many people’s first experience using Git, and it is a very useful skill for any project like this.
We did not take home the gold from the competition, though we did win the Senior Team Olympiad (a quiz on engineering knowledge) for the 4th year in a row! Our robot did respectably. It found the candle 2 out of 3 times – it’s one failure was due to a screw being too loose. This loss taught us to design the system in a more foolproof way, so that even if a screw has not been tightened, the mechanism will still function. That’s just one more lesson for next year.
We also won the smallest robot award at the competition! We felt proud that we were able to condense a robot with all the sensing capabilities necessary into such a compact package.
Innovations, impact and successes
The fire sensing array was definitely the best innovation for this year’s robot. We will definitely be reusing it in future years. The sensors themselves were very accurate, and the way we arranged them (in a fan shape) was quite novel and provided us with precisely the information we needed – the necessary heading from the robot’s current position in order to get to the fire.