“Learning-by-doing” is one of the core principles of my embedded systems and robotics course at the Lucerne University. For this, the students apply what they learned using a robotics platform. In earlier semesters we did a Sumo battle at the end. This time, the challenge was to build a remote controller plus to add the ability to explore and solve a line maze:
Like in Sumo battles, the robots had to play a match against each other: first to complete the manual driving part, then switch to autonomous maze exploration and solving. The robot who finish first wins the match. So it was not only necessary to fine tune and make the remote controller rock solid. It was necessary, as well, to make sure the maze and line following part were working with all the real-time aspects. So the sensor data acquisition and the PID closed loop controller had to be fine-tuned for best performance and speed. The firmware runs with FreeRTOS on a NXP Kinetis K22FX512 microcontroller (see https://mcuoneclipse.com/2016/03/25/zumo-robot-with-magnetic-encoders/).
They had an example maze to train the robots. The maze layout for the finals was unknown until the event. Below are a few videos from the event:
The teams did very well, congratulations to all of them. The ranking is available on Challonge (http://challonge.com/FS2016).