There is one week left until all the Sumo robots of the Infotronic course at the Lucerne University of Applied Sciences and Arts will enter a tournament. The robots have to pass a simple tests before they can enter the tournament: to push a ‘dummy’ robot outside the ring. This simple test is used at tournaments to avoid ‘passive’ robots just sitting in the middle of the ring ;-).
Beside of this, many robots have increased their moving speed and improved using their sensors. Some robots have now extended their equipment to gain advantage over their competition.
In order to qualify for the mini sumo class, the following rules apply:
- Passed the test to push out a dummy robot twice within 2 minutes max.
- Up to 500 g mass
- Fits into 10×10 cm box , any height
💡 That 10×10 cm only applies at the start, and there is no height limit. And this rule allows robots to ‘unfold’ after they start moving :-).
The following video shows everything in motion:
The robots run FreeRTOS with several tasks. Because of the realtime needs of the application, it is important to verify and and to tune the appliacation timing. The screenshot below shows an example pattern with FreeRTOS+Trace:
❗ The graphs show ms instead of μs as units. Something I need to check. It looks like the Trace component is using a wrong time base. Verifying the timing with a logic analyzer showed the correct units.
The Reflectance task responsible to read in the infrared line sensor takes the most processing time, because it needs to measure the reflectance time.The Reflectance task needs around 800 us on black ground until all the sensors reach their clipping value:
With the powerful ARM Cortex-M0+ running at 48 MHz there is still enough processing power and bandwidth to perform all the other tasks like running the speed and position PID or to read in the values from the ultrasonic sensor.
Happy Sumoing 🙂