Team Jerry

About Us

Our team, Jerry Team, is dedicated to the innovative design and development of maze-solving robots for the "Mobile Robots in the Maze" competition, hosted annually by Óbuda University. Our focus is on functionality and efficiency. Our latest, third-generation robot, Jerry 3.0, utilizes an ESP32 microcontroller, upgrading from our previous Arduino-based systems. It navigates using infrared distance sensors (processed with Kalman filters for accuracy), an RFID reader (connected via SPI) for directional information, and an MPU-6050 accelerometer/gyroscope for precise turn measurements. A key feature leverages the ESP32's WiFi capabilities to provide a web interface (via SoftAP mode) for real-time sensor data monitoring, PID parameter tuning, and loading different performance profiles (like "sprint mode") directly from a phone, significantly streamlining the testing and tuning process. Movement is controlled by two DC motors with an L298N driver. This website showcases the evolution of our robot designs over the years.

Our Results:

🥉 2023: Overall 3rd place (Arduino-based robot) 🥉
🥉 2024: Overall 3rd place & 🔧 Mechanical Design Special Award (Enhanced Arduino robot) 🔧
🥇 2025: Sprint 1st place & Overall 1st place (ESP32-based robot with web interface) 🥇

The race

Where?

Obuda University | Building G

Budapest, Tavaszmező u. 17, 1084

When?

11 April 2025

09:00-17:00

Official Rules
2024's MODEL

Jerry 2.0 during the competition

Last years robot was a huge success, winning the Mechanical Engineering Special Award in the Design and Implementation category. It was the firs year that we used a layered design. It made our Robot more compact and easier to maintain. The robot was able to solve the maze in 3 minutes and 45 seconds. We used lego tyres to enhance the robots grip on the surface.

Jerry 2.0 (2024)

Jerry 1.0 (2023)

Design Documentation

  • Csaba Gyarmati - OE-KVK
  • Mátyás Kertész - OE-KVK
  • Bendegúz András Szczuka - OE-NIK
  • Holczmann Dominik - OE-NIK
  • Csóka Ákos - OE-NIK

For us, literature research meant learning about existing similar robots, as well as the algorithms and solution methods they use. We examined the technologies we intend to use in building the robot, such as RFID readers and ultrasonic sensors. On Autodesk and academia.edu, we found several projects similar to ours, which outlined the expected problems, challenges, and possible solutions for us. The experience gained in this phase and the information found in the competition announcement made it easier for us to make decisions regarding the design and functions of our robot.

Initial solution:
In 1999, Michael Gims, Sonja Lenz, and Dirk Becker at the University of East London developed a micro-mouse. They used a non-graph theory algorithm, the Wall Following Algorithm. Their robot did not move intelligently on the map and could not solve a labyrinth with loops.

Modern solution:
In 2017, Musfiqur Rahman at the University of Liberal Arts Bangladesh developed an Arduino-based maze-solving robot.

We encountered several problems at the 2023 competition:

  • Robot size: Our robot was too large (20 x 20 cm); this year we will make it smaller to avoid collisions with obstacles.
  • Drive: We used 4 driven wheels with tank-like movement. Due to adhesion and slippage problems, the robot did not turn precisely. This year, the robot will have 2 driven wheels and a rotation measuring sensor.
  • Ultrasonic distance meters: These components do not accurately determine the distance of very close objects. This year we will relocate them on the robot and try to compensate for the problem through software.

Although we performed better at the 2024 competition compared to the previous year, we see the need for further development of the robot based on the following experiences:

  • Robot size: Although the robot was much smaller than the previous year, its turning circle diameter was 23 cm. For our new robot, we want to reduce this turning diameter to less than 17 cm.
  • Ultrasonic distance meters: The sampling time increases and decreases depending on the distance. This is a problem because the control algorithms would expect input data at uniform intervals. This can be circumvented by always waiting for the theoretical longest signal time before sending data to the controller, but this would greatly reduce the number of input data per time unit. We will rely on IR distance meters this year, as data can be read freely from these sensors at any time.

Goal

The maze-solving robot's purpose is to navigate a maze using information obtained through the RFID reader, while determining its position relative to the maze using infrared remote sensors and an accelerometer sensor.

Functional Requirements

  • The robot must be able to process and use information obtained through the RFID reader for navigation in the maze.
  • Using infrared remote sensors, the robot must be able to determine its position relative to the walls.
  • The robot must be able to turn precisely using an accelerometer.
  • The robot must be able to navigate to find the exit from the maze.

Non-functional Requirements

  • The car's frame will be 3D printed so that all parts of the robot can be mounted in any desired location.
  • The maximum size of the robot is 15 × 15 cm to fit properly in the corridors.
  • The robot's drive is provided by 2 motors with tank-like control.
  • The RFID reader must be fast enough for continuous identification of RFID information cards.
  • The infrared remote sensors must be at an appropriate distance from the walls to accurately determine the robot's position.
  1. Reading: The robot's RFID reader reads the information necessary to solve the maze, which is provided on placed RFID tags.
  2. Position determination: With the infrared remote sensors, the robot determines its own position in the maze, as well as the walls in front of it and the branches of the track. The robot constantly strives to stay in the middle of the corridor, if possible, relative to the two surrounding walls; if there are not two walls, then measuring its position relative to the available wall.
  3. Track following: The robot changes direction according to its position and the walls in front of it, and selects the next step on the track.
  4. Control: The 2 motors provide the robot's drive, which enables tank-like control. The operation of the motors is controlled by a control unit.
  5. When turning, the robot relies on the accelerometer to change direction precisely.
  6. Reaching the goal: Following the previous steps, the robot solves the maze and reaches the exit. Thorough planning and implementation of the above steps and tools will enable the efficient operation of the robot and the successful solution of the track. Implementation will take place after the first checkpoint.

Power supply and output voltage selection
Since we use batteries for the robot's power supply, their voltage must be stabilized. With the two batteries connected in series, the input voltage is the sum of the battery voltages, which varies between 6.4 V (discharged) and 8.4 V (charged) during use. The output voltage of the voltage stabilizer is determined by the maximum input voltage of the microcontroller and the maximum voltage of the motor control. The maximum voltage of the microcontroller is 20 V, and the maximum voltage of the motor control is 6 V, so we get the desired supply voltage by choosing the latter.

It should be noted that selecting a higher value is also possible, which can later be corrected with the duty cycle of the PWM signal in the motor control, so that the average voltage reaching the motor coils does not exceed 6V.

Microcontroller selection
For the robot to function, we need an adequate number of I/O pins on the microcontroller for the devices listed in the logical system design.

The selected motor controller and sensors need the following pins:

  • Motor controller:
    • 4 digital pins
    • 2 PWM pins
  • 3 ultrasonic distance meters
    • 6 digital pins
  • Gyroscope and RFID module
    • I2C output

In total, we need 12 outputs and one I2C communication channel. Among the listed boards (Arduino nano and Wemos D1 R32), both use the same chip in different packages. The Atmega328 microcontroller on them has the outputs we need, so either would be suitable for us. We decided on the Wemos D1 R32.

Maximum robot base size
The robot must be able to turn in place or turn around in any corner or even dead end. While turning, the robot must be smaller than the distance between the walls. Based on the dimensions described in the regulations, this size is 28.5 cm.

According to the plans created in Tinkercad, the length and width of the robot (including wheels) is approximately 16 × 16 cm. The diameter of this square is 22.6 cm. The robot's axis of rotation will not be in the center of this square, but in the middle between the two wheels. As shown in the image below, based on the calculated dimensions, the robot will need 16.2 cm for a complete turnaround.

Educational week Tasks Date
1 Precise interpretation of the competition announcement, identification of possible problems 2025.02.12.-02.18.
2 Literature research, searching for and understanding other similar projects, analyzing problems of our previous robot. Based on the knowledge acquired in the first lecture, designing the robot's drive. 2025.02.19.-02.25.
10 Building the robot and designing software for basic functions, building a test track 2025.03.25.
11 Software development and testing 2025.03.17.-04.10.
12 Evaluation and analysis of system-level and final tests, preparation of documentation 2025.04.03.-04.11.
13 Project presentation 2025.04.11.
  1. Frame: The robot's frame will be made using 3D printing, and will consist of several rectangular platforms connected with spacers, with dimensions of 16 × 13 × 10 cm.
  2. Motors: The drive will be provided by 2 DC motors, which enable tank-like control. The motors are placed at the bottom of the robot. A ball caster at the back of the robot will provide support.
  3. Infrared remote sensors: The robot has three infrared remote sensors that serve to determine the robot's position and navigate on the track. Two remote sensors are mounted on the sides of the robot, and one on the front.
  4. Battery: For the robot's power supply, we use 2 3.7-volt Li-Ion batteries, which are mounted on the bottom of the robot.
  5. RFID reader: The robot uses an RFID reader to read the information needed to solve the maze. The reader is placed at the front of the robot, adjusted downward.
  6. Accelerometer: Precise turning is guaranteed by an accelerometer.
  7. Microcontroller: For the robot's control, we use a Wemos D1 R32, which connects the hardware components and makes the robot's operation programmable. The microcontroller is placed on top of the robot.

Team Name: Jerry 3.0

Item Name Price/Piece (net) Price/Piece (gross) Quantity Total Price (net) Total Price (gross) Purchase Link Notes
Wemos D1 R32 2 372 Ft 3 013 Ft 1 2 372 Ft 3 013.0 Ft Link
Robot platform, 2wd 8 454 Ft 10 737.00 Ft 0 - Ft - Ft Link Only motors and wheels would be used from the platform
RM-17 motor 872 Ft 1 107.00 Ft 2 1 744 Ft 2 214.0 Ft Link
H-Bridge driver, max 2A 1 388 Ft 1 763.00 Ft 1 1 388 Ft 1 763.0 Ft Link
RC522-MFRC 1 650 Ft 2 096.00 Ft 1 1 650 Ft 2 096.0 Ft Link
NTAG213-STCK27 307 Ft 389.00 Ft 3 921 Ft 1 167.0 Ft Link
GP2Y0A51SK0F 2 358 Ft 2 995.00 Ft 3 7 074 Ft 8 985.0 Ft Link
GP2Y0A41SK0F 2 529 Ft 3 211 Ft 1 2 529 Ft 3 211.0 Ft Link
Accelerometer-MPU-6050 1 308 Ft 1 661.00 Ft 1 1 308 Ft 1 661.0 Ft Link
NCR18650B-NOPROT 2 563 Ft 3 255.00 Ft 2 5 126 Ft 6 510.0 Ft Link
PWRBID-2x18650 2 073 Ft 2 633.00 Ft 1 2 073 Ft 2 633.0 Ft Link
Arduino Prototype shield 1 532 Ft 1 946.00 Ft 1 1 532 Ft 1 946.0 Ft Link
3D printed frame - Ft - Ft 1 - Ft - Ft
Ribbon cable - RC-40-20/MF 1 059 Ft 1 345.00 Ft 1 1 059 Ft 1 345.0 Ft Link
Ribbon cable - RC-40-20/MM 907 Ft 1 152.00 Ft 1 907 Ft 1 152.0 Ft Link
Ribbon cable - RC-40-20/FF 838 Ft 1 064.00 Ft 1 838 Ft 1 064.0 Ft Link

Cost Summary

Category Net Gross
Self-cost: 5 977 Ft 7 592 Ft
From component base: 24 544 Ft 31 168 Ft
Total: 30 521 Ft 38 760 Ft

Wemos D1 R32:

  • The Wemos D1 R32 microcontroller will be the control unit for the robot.
  • All sensors and motor control are the responsibility of the Wemos D1 R32.
  • Technical characteristics:
    • Microcontroller: ESP WROOM 32
    • Operating Voltage: 3.3V
    • Input Voltage (recommended): 7-12V
    • Input Voltage (limits): 6-20V
    • Digital I/O Pins: 34
    • Analog Input Pins: 16
    • DC Current per I/O Pin: 40 mA
    • DC Current for 3.3V Pin: 250 mA
    • Flash Memory: 4MB
    • SRAM: 520 KB (ATmega328)
    • Clock Speed: 240MHz
    • Length: 68.5 mm
    • Width: 53.7 mm
    • Weight: 25 g

RFID reader:

  • Task: reading information about the track to be solved
  • Operation: detects RFID chips placed on the track and reads and transmits the information stored on them to the robot's control unit

Infrared remote sensors:

  • Task: measuring the robot's distance from the wall and detecting obstacles in front of it
  • Operation: infrared rays emitted by the sensor are reflected from objects, then the detector senses these reflected waves. Based on the intensity and reflection time of the infrared radiation, it determines the distance of the object.
  • Technical characteristics:
    • GP2Y0A51SK0F 2-15 cm
      • Maximum range: 15 cm
      • Minimum range: 2 cm
      • Sampling rate: 60 Hz
      • Minimum operating voltage: 4.5 V
      • Maximum operating voltage: 5.5 V
      • Supply current: 12 mA
      • Output type: analog voltage
      • Output voltage differential: 1.65 V
    • GP2Y0A41SK0F 4-30 cm
      • Maximum range: 30 cm
      • Minimum range: 4 cm
      • Sampling rate: 60 Hz
      • Minimum operating voltage: 4.5 V
      • Maximum operating voltage: 5.5 V
      • Supply current: 12 mA
      • Output type: analog voltage
      • Output voltage differential: 2.3 V

Motor controller:

  • Task: controlling the robot's drive
  • Operation: controls the speed and direction of the motors with enabling and PWM signals provided by the microcontroller
  • Technical characteristics:
    • Control Chip: L298N
    • Logical Voltage: 5V
    • Drive Voltage: 5V-35V
    • Logical Current: 0mA-36mA
    • Drive Current: 2A (MAX single bridge)
    • Storage Temperature: -20 to +135
    • Max Power: 25W
    • Size: Approx. 43 × 43 × 27 mm / 1.69" x 1.69" x 1.07"

Accelerometer:

  • Task: Precise measurement of the robot's rotation
  • Technical characteristics:
    • Chip: MPU-6050
    • Power supply: 3V-5v
    • Communication modes: standard IIC communication protocol
    • Chip built-in 16 bit AD converter, 16 bits of data output
    • Gyroscope range: +2500/500/1000/2000°/s
    • Acceleration range: ±2 ±4 ±8 ±16 g
    • Pin Definition: VCC, GND, SCL, SDA, XDA, XCL, ADO, INT
    • Pitch: 2.54mm
    • Board size: 20mm(length)*16mm(width)

Power supply module (XL6009):

  • Task: Providing continuous voltage to the robot

Battery (NCR18650B):

  • Task: Providing power source for the robot

Interactive 3D model of Jerry 3.0 created in Tinkercad:

You can also view the model directly on Tinkercad.

The program must consist of the following modules:

RFID reader module:
The program uses this reader to read pre-programmed cards into the program.

Infrared remote sensor module:
The program uses this module to sense the distance from obstacles in front of it.

Accelerometer module:
The program converts data from the accelerometer into a usable form to determine the robot's rotation.

Motor controller:
The program uses this module to control the robot's movement.

Main cycle module (loop):
This module contains the robot's decision-making logic.

Necessary functions:

  • Movement directions
  • Distance measurement from a given sensor
  • Z-axis rotation measurement from the accelerometer
  • Straight movement with wall alignment
  • Setup: pin assignments, initialization of RFID reader and gyroscope
  • Loop: Implementation of orientation logic

Loop explanation:

  • The robot moves forward, aligning itself with the walls until:
    • i. A wall gets in its way: it turns in the direction with more space and then continues its path
    • ii. An RFID data card gets in its way: It acts according to the data:
      1. Turns right or left
      2. In case of an exit, it stops