After a ton of work lately on MiniEric, I went to the CNRG disappointed on my lack of programming skills. It almost drove me crazy trying to understand Mike Ferguson’s code for his Crater robot that he posted on his Fire Fighting tutorial on Trossen Forum. I managed to adapt part of his code to Arduino and the specifics of my robot, but some part of the logic still eludes me. To make sure the hardware functions are working properly and perhaps to prove once again that you can’t rely on dead reckoning to navigate such a complex course, i made a list of simple commands. Something like “go 52 cm”, “turn right 90 degrees”, and so on until the end of the course. I wasn’t happy with that and since I couldn’t figure out Crater’s code, I decided to focus on putting out the flame.
I wanted the robot to be different. Everybody uses fans, I decided to use a mist sprayer. And to be more life like, I wanted the robot to press on the sprayer as it lifts the arm, pointing the nozzle at the flame. The sprayer is, however, too stiff for the shoulder’s servo so I had to come up with another mechanism, using a dedicated, more powerful servo. At the proper distance and pointed accordingly, it works perfectly. Only I came up with this implementation a bit too late for this competition. I still have to refine it and do more tests, but I think it has a lot of potential. And it is a crowd favorite.
So I left my apartment downhearted and headed to the competition anyway, just so I get to talk with the Experts and see their creations in action. And after talking with them, explaining my problems, trying to get advice how to improve it and make it work properly, the competition began with only 4 competitors. One of them had a robot with just a bumper, an IR sensor to detect the flame and a fan to put it out. It was running like crazy bumping on every wall until eventually the candle was in the way so it could put it out. I mean, come on, I’m struggling to make a perfect robot and I’m missing all the fun! So it stroke me that if I check for fire when the robot is in a room following that list of simple commands, it might work and I could get a good enough chance to compete. So I rushed to my laptop, added the calls to the proper functions, did a test on the floor and I was ready to give it a shot. But, it was too late. The competition was half way through and it turned out I still needed a few more tests. Oh well, I’ll get it next time. Too bad I have to wait another year for it…
Anyway, it was a good enough day, I learned that sometimes we need to step back, take a break, talk to people, get a fresh perspective that will spark new ideas. I came home determined to put out that candle flame and it took only a few tests and a small nudge to have a successful trial. So, no worries, next year will be better. I promise.
And to show you that it did work, here is the proof: