Return to Index


Our team (me, Martin Scheubrein, and Martin Chmelar) have participated in a robotic contest organized by CTU. We've got a LEGO EV3 kit and 3 months, after that we had to show up with our robot and compete with others.


The task was simply to move around in a maze (matrix) with 1 point for each tile the robot visited for the first time within a time limit. Speed and localization were crucial, so we've implemented Monte Carlo localization, Dijkstra's algorithm for navigation, and a PID for motor control. We've put these algorithms together, flashed the firmware into a two-wheeled robot, and went for it.


Even though the robot had some "minor" flaws (mainly with the precision of EV3 sensors), it worked well enough and won first place in the 3rd round of the contest, qualifying us for the big finale! Huge success!

In the final round, however, we stood against tough competition and unfortunately failed miserably. But we learned from our mistakes and improved in the next year!


To program the robot we used BricxCC software and its lms_api. There isn't any API for sensors (just for motors, LCD, and buttons), so we have been forced to make our own API.

lms_api with our "ev3_input" API and examples (license goes to BrixCC team) can be found here.