Countdown

Day(s)

:

Hour(s)

:

Minute(s)

:

Second(s)

Competition Categories

Explore each RoboMac category, its objective, required skills, difficulty, and team requirements.

AI Football is a video game in which two football teams participate, each consisting of 3 individual players. The goal of the video game is for each team to score as many goals as possible within two halves. Each half lasts 45 seconds, and each player can take on the role of attacker or goalkeeper at any time.

The task in this category is for each participating team to write a program that autonomously controls the three football players in the video game. The control of each player is carried out by changing their direction and movement speed. At any moment, the program can decide whether the player will dribble the ball or shoot it. The team that scores the most goals is the winner.

Each football player will have different physical attributes such as: mass, size, acceleration, speed, and shot power. The teams must create a program that independently decides the playing strategy for each player based on their physical attributes. The program should be implemented in Python programming language. Participants may use auxiliary libraries to develop different control algorithms.

Required qualifications Programming (Python, NumPy, SciPy), general knowledge of kinematics and working with vectors, general knowledge of Artificial Intelligence
Participants per team 2–3 participants

In a time when technology is omnipresent in human life, the need for interaction with it is increasing. For us humans, the most natural way to communicate with robots and artificial intelligence is speech.

In this category, the participants are tasked with implementing a voice command system for a mobile robot JetBot in Macedonian. The task is difficult in several aspects: they have to create a Macedonian speech recognition model from scratch, and teach it to work for different voices, in different acoustic environments and in noise conditions.

Software Audacity, Spyder, Jupyter Lab
Libraries NumPy, SciPy, Librosa, Keras
Programming Python
Difficulty Advanced
Participants per team 2-3 competitors

Goal: Design and implementation of an autonomous mobile robot capable of following a predefined path while detecting nearby objects and visualizing its environment in real time.

The robot must use line-following sensors (such as infrared sensors) to track and navigate along a continuous path marked on the ground. While moving, it must also use an ultrasonic distance sensor to detect objects positioned near the path on either side.

As the robot progresses, it should continuously measure the relative position of each detected object with respect to the main path. This includes the distance of the object from the robot, the approximate lateral offset from the path, and the position along the path where the object is detected.

The system must maintain a dynamic internal representation of the path traveled and the objects encountered. This information must be displayed in real time on a TFT display mounted on the robot. The display should draw the path as a continuous line representing the robot’s trajectory, mark detected objects along the path at their relative positions, and annotate each object with its measured distance from the robot or path.

Additional constraints: the robot should operate autonomously without external control, the visualization must update continuously as the robot moves, distance measurements should be reasonably accurate, and the system should handle multiple objects and distinguish between them.

Required qualifications Experience with Arduino programming, as well as basic skills in electronics and soldering
Difficulty Advanced
Participants per team 3 participants

The objective of this category is to first determine the inverse kinematics of a robotic manipulator with 6 degrees of freedom (6-DOF) so that its gripper can be positioned at a desired position given by (X, Y, Z) coordinates.

The attached Raspberry Pi camera above the gripper of the robotic manipulator is then used to obtain an image of the object on which the gripper itself is placed. Using image processing tools, it is necessary to determine its shape and/or color.

After determining the shape and color of the object, it should be picked up with the help of the gripper and perform a certain task. The coordinates (location) of the objects are known in advance to the participants, the only thing that is not known is the type (shape/color) of the object that will be placed at that location.

Programming Python
Difficulty level Advanced
Participants per team 2-3 competitors

Each team receives an identical JetBot robotic car equipped with an advanced NVIDIA microcomputer, a graphics processing unit, and a wide-angle camera enabling machine vision. The teams’ task is to train the car to drive autonomously using modern artificial intelligence techniques such as neural networks and machine learning.

The robots compete in speed and precision on a track with clearly defined edges and a surface marked in gray. The winning team is the one whose robot completes X full laps the fastest and most successfully. If a robot veers off the track with both wheels, the team is required to manually return the robot to a position designated by the referee, after which it may continue the race.

The race is supervised by referees, and a special photo-finish system precisely measures the time for each competing robot, ensuring accuracy and fairness in determining the best team.

Software JupyterLab, Python, PyTorch, Ubuntu Linux
Difficulty Advanced
Team members per team 2–3 competitors

Objective: This is a competition in autonomous robotics where teams design and program robots with the goal of pushing their opponent out of a circular ring. The robots must start within dimensions of 10×10 cm and a weight of ≤500 g, and then operate without any remote control.

Participants will need to use knowledge of electronics and Arduino programming to build and program a robot that can detect an opponent in its surroundings for attack or avoidance, while also recognizing the boundary lines of the surface in order to navigate safely within the ring.

The matches take place on a black ring with a diameter of 77 cm and a white border, and the winner is the robot that successfully pushes the opponent outside the ring.

Programming Arduino
Difficulty Beginner
Number of team members 2-3 competitors