Skip to content

Bulme

Rescue Maze

Overview

This repository contains the code and documentation for my diploma project at HTL Bulme. The goal of this project is to design and implement a robust sensor integration and communication system for a rescue robot.
The system integrates multiple sensors, such as Time-of-Flight (ToF) sensors, the TCS34725 RGB module, and the L3GD20H gyroscope, using the I2C communication protocol.

Most of the tools used in this project come from the open-source community, or at least are free available, and can be built without purchasing additional software.

By sharing this project, I aim to contribute to the community.
Feel free to copy, modify, and experiment with the code. If you encounter any issues, please open an issue, and I will work on fixing the bug.

Features

  • Time-of-Flight (ToF) Distance Measurement
  • Gyroscope Data Acquisition
  • Mapping algorithm for searching a labyrinth
  • Custom I2C Addressing: Dynamic configuration of I2C addresses for multiple sensors on the same bus, ensuring seamless communication.
  • Multi-Pin I2C Implementation: Utilizing the SoftWire library to run I2C on different pins of the Arduino Mega.
  • Documentation & Prototyping Tools: Includes documentation of the used equipment and helpful scripts.
  • AI-Based Letter Recognition: A custom-trained model using Edge Impulse for letter recognition.
  • Datasheets: Collection of datasheets for the sensors and microcontrollers used in the project.
  • Serial Communication: Implemented serial communication between the Arduino and OpenMV Cam.
  • PWM Control: Flexible functions for Pulse Width Modulation (PWM).

Switching between driving modes:

  • Gyroscope-based navigation
  • ToF-based navigation

Credits

This project was developed as part of my diploma thesis at HTL Bulme Graz-Gösting, with guidance and support from my teachers and fellow members of the RoboCup team. Special thanks to the open-source community for providing the software and knowledge that made this project possible.