You might have read about the Mechanical and Embedded aspects of FIRA that our team is working on. This post sheds light on the Programming aspect of FIRA. The programming team chiefly works on two major areas :
- Vision Module ( Image Processing )
- Strategy Module ( Artificial Intelligence )
The whole system is set up as shown in the image below.
In this post , I will be describing the Vision module. In FIRA, the Vision system has to detect the position of the ball, and the position and orientation of bots of both the teams. The Vision System has to be both fast and accurate. We use the following algorithms to achieve the goals specified above.
- Blob Detection Using Region Growing.
- Look Up Tables (LUTs) to speed up color lookup.
- Hysteresis to minimise the ROI to search for the robots.
Region growing is a very well known algorithm. If you want to know more about it, google it or send us a mail. We will be happy to help you out. The figure below presents the workflow of the algorithm that we used.
LUT ( Look Up Tables)
- Manual Thresholding of colors.
- Save the colors , and load them later so as to avoid thresholding each time the software is run.
- Fix the minimum and the maximum blob sizes to identify as robots.
- Fix the ROI to search for the robots in the entire Camera View.
- View the Detected Bots and Ball as blobs in the software GUI.