GOAL: The Soccer Bot
The team’s third robot, which was, again, heavily based on the concepts of image processing. All the of the team’s experience was put into this robot, and we truly created the best bot ever. This robot was supposed to (atleast) compete at IIT-Bombay’s technical fair Techfest in the event named G.O.A.L.
The competition
The competition was a greatly simplified version of RoboCup soccer. There would be just two bots on the arena, and multiple balls lying on the ground. The aim was to put maximum balls into the opposing team’s goal post.

A picture taken at IITB's arena
The actual match would be 10 minutes long, with two halves of 5 minutes each. You’d get 20 minutes of setup time before the match and 2 minutes between each half.
Our bot
This bot’s body was made in record time – 2 days. We had pieces of metal and acrylic from last time (Shaastra, IITM’s techfest). Just a bit of drilling and soldering holes completed the body for this event. Plus, the bot actually moved straight. Our previous bots moved on strangely weird paths when commanded to move forward.

This robot really got us into electronics with lots of ICs, resitors, capacitors, and what not.
The rules of the competition forced us to make the robot wireless. Having no idea about how wireless works, we spent days altogether trying to get wireless working using PSoC. After many days of work we realised we couldn’t get those wireless modules to work. Then we ordered the standard RF modules (two frequencies 315 MHz and 434 MHz). Even getting those to work required considerable effort despite help from seniors.
And then comes the ultimate jugaad. The ball rolled out of the front when the bot moved, so we put a rubberband there. And it worked perfectly. The ball stayed inside the cavity when moving forward. And when the bot moved back, the ball came out! So overly complex ball holding system
Anyway, here’s a list of features of the bot:
- Wireless
- Great design
- Highly modular
- Compact
- Highly jugaadu

Initial version of the bot's body: Without the vertical stand.
The software
The real brain of the bot – the software. Like last time, we again used the OpenCV/C++ combination. I was able to produce code (which was about 1779 lines) that processed images quite fast (approx 67ms per processing).

Above is an actual screenshot of the software. No I didn’t use photoshop to put all those “ball”, “YourGoal”, “MyGoal”, “me”, and “you” markers. The software processes each image and displays this information on the screen just so we don’t have a bad time trying to debug code.
The image processing part of the software found the positions and angle of the two bots, and locations of the balls and goals. This might seem like a trivial task, but believe me it isn’t. Lots of fundae go into it.
For the path finding part, we initially thought of a lot of things (game theory and A* anyone?). One teammate (baba) even produced really great code that would generate paths that would avoid obstacles, and what not. But we ultimately used really simple path finding code: Find a ball, take it, goal it…
Here are some features of the code:
- Lightning fast code: Average time of 67ms per image (including capture time)
- Great pathfinding ready to be used… but was never really used
- A single config file to help modify various parameters
- Tough electronics: Everything soldered to survive (or so it was supposed to)
- Feedback: As always, we included this for precision in movement
The event
So we had a perfect bot that moved straight (without feedback), was wireless, had some good image processing in it, and some great path finding… Even the arrangements at IITB were excellent. Extremely ideal lighting and colours. So why didn’t we win? Bad luck I guess. Or maybe we’re just destined. O.o
When we tried the bot on the day zero of Techfest, everything was working great. Wireless, the electronics, the batteries, etc. Image processing had some flaws, so we fixed most of the errors that night based on pics taken that day.
Next morning, we did tested the bot even more on our test arena (which we had taken with us to Mumbai). Here’s a pic of our test arena.

Our test arena at BITS and IITB
Everything was working great: the wireless was flawless, the batteries were fully charged, the H-Bridge (motor driver) circuit was perfect. The transmitter was working great. The USB to parallel circuit was working perfectly. All batteries for the transmitter and receiver were working fine.
And we had checked this atleast two or three times before the event. Our slot was at around 4pm, and we had been checking all this and the program since 7 in the morning. No problems seen during the entire duration. The bot even survived a rugged ride through a bus where its container turned upside down. (We were actually quite sure that the bus ride would have damaged the bot… but it didn’t.).
Okay, enough of buildup. Here’s the bottom line: The bot didn’t work. To be specific, the wireless didn’t work. And the rules mention that wireless is a must. Hence we were disqualified. We didn’t even get to take part in the eliminiations.
How this happened even we’re not sure yet. The bot was working perfectly during the last minute checkup. Then we just packed the bot and took it to the arena. And presto, the bot’s wireless wasn’t working!
We tried hard for 3-4 hours to get the wireless to work. No use. By then the eliminiations had finished. So we just let go.

Thats the body
Comments are closed.

Video Copilot
A cell dweller
Amit's Blog
Gandhi's Ashonomics
Harsha's blog
Irrashonally urs
The instance just lost
#1 by ankit on January 17, 2011 - 9:04 pm
dont worry…..that’s the funny part of techfest..last year the same thing happened with us at iit-b techfest,,,,,,,our wireless sucks,at the end time……we still dont know how……………every thing was working fine before the final run ,,but suddenly something alien thing happened and the wireless stops working……….
#2 by Utkarsh on March 11, 2011 - 1:09 pm
Lol okay