4 robots are playing a soccer game, the robots are autonomously controlled, the data is transmitted by RF to the robots, the data is received from a overhead camera.
Abstract
4 robots are playing a soccer game, the robots are autonomously controlled, the data is transmitted by RF to the robots, the data is received from a overhead camera. The system includes an overhead camera, PC computer, 4 robots and RF transmitters.
The problem
The project’s problem consists of two main parts:
- Identifying the robots location from a bird’s view image.
In order to recognize the robots direction we identified the front and rear gravity center - Doing so in real time and filtering any disturbances that may be present
The solution
- Sampling and storing a reference picture:
Sampling empty field (no robots and gates) before game starts - Sampling current picture:
pacing robots and gates, starting the game, sampling the field 25 frames per second during the game - Subtracting current picture from reference picture:
subtracting each color individually pixel by pixel, using the RGB method
. |
. |
. |
. |
. |
. |
. |
. |
R |
G |
B |
R |
G |
B |
. |
. |
. |
. |
. |
. |
. |
. |
. |
. |
. |
|
|
|
The data block received from the frame grabber
- Filtering camera noises:
according to changing lighting conditions asserting dynamic threshold to colors - Threshold filtering:
ignoring “weak” colors which come from camera noise and small environment changes
Picture after Threshold filtering
- Edge detection:
using the 8 neighbors method - Labeling object:
using an algorithm that is optimized to our system to ensure real time image processing
An example of a possible object that needs to be labeled
- Calculating object parameters:
in order to recognize pawns from the objects we calculate object colors and sizes - Grouping objects to pawns:
grouping the objects to robots and asserting them to teams according to predetermined robot parameters
Pawns of the 2×2 game
- Filtering human disturbances:
like hand appearing above the field or shadows across near and above the field
An example of a human disturbance
- Broadcasting RF:
broadcasting robot positions, ball position and field position through serial port to RF system and to the robots
An example of a transmitted data package:
Sync |
Field |
Field |
Field |
Field |
Header |
Left X |
Right X |
Upper Y |
Lower Y |
Byte |
Byte |
Byte |
Byte |
Byte |
Acknowledgments:
We are grateful to our project supervisor Johanan Erez for his great support and guidance throughout this work.
We would also like to share our gratitude to Orly Wigderzon and Kobi Kohai for their technical support and their warm hospitality in their lab.Many thanks also to the Ollendorff Minerva Center for their support of the project.