Bodensee Dogs
Document register
- Poster1 pagePublished
- Presentation videoYouTubePublished
- Bill of materialsNot shared
- Team description paperNot shared
- Engineering journalNot shared
- Source codeNot shared
Sharing each document is the team's decision. “Not shared” means this team chose not to publish it, or did not submit one — not that it is missing from the archive.


In their words
We are the Bodensee Dogs from Lake Constance, Germany.
Our robot is entirely self-built, as we developed custom 3D-printed components, a linked two axle suspension system, which transmits the same impulse to diagonal wheels. Custom-molded silicone wheels that, thanks to their lack of profile, make it easier for the robot to navigate stairs. Five custom-designed boards, Main, Power, UI, ToF, and ToF Breakout, offer modularity and customizability.
The robot's software is based on a sequential control system, which, when combined with custom-programmed sensor libraries or wrappers, enables structured and rapid debugging. In addition, both the robot and the cameras feature a comprehensive SD card logging system that generates detailed crash reports, among other things.
The robot's navigation algorithm is based on a combination of the shortest path strategy and the right-hand rule.
To make it easy and quick to understand the navigation and simultaneous mapping process, we have developed a visualization tool that can display every mapping step using special “version control” logs. The tool is also used to create maps that can be used for unit tests to validate the navigation algorithm.
What sets us apart from other teams is our decision to avoid AI-based victim identification. Instead, we use a Haar-cascade-like algorithm for recognizing visual victims, ensuring fast adaptability and easy calibration. Cognitive targets are also identified using an algorithmic approach that assigns colors to pixels using a nearest-neighbor method.
To ensure the necessary performance, we have offloaded large portions of the algorithms into the camera's firmware.
Poster
Read the text of this document — 1191 words
PCBs OpenMV N6 Cameras
All PCBs are designed, assembled and We use two cameras that operate
Bodensee Dogs soldered by hand.
Main PCB (under the chassis)
Our main PCB houses the Teensy 4.0,
independently from the Teensy 4.0 to
ensure high frame rates. Both cameras are
equipped with fisheye lenses, to handle the
a fast and small microcontroller. It also narrow distance to the wall.
connects our OpenMV cameras and
Germany Rescue Maze includes the BNO055 gyro sensor.
Rescue kit deployment
We use a metal gear SG90 Servo to
Power PCB control the direction of the deployment. The
This PCB is connected to the battery torque of the servo is transferred to a
Team and supplies the robot with power. It toothed rack to guarantee linear trajectory.
We are a team of four students from the Lake Constance region in southern Germany and also integrates our motor drivers and
are members of the robotics club at our school. Robotics has become an integral part of our provides the PWM output for our Limit Switches
everyday life, which we are committed to not only on school days, but also on weekends and servo. We have two switches at the front of the
vacations. Over the past few years, we have gained valuable knowledge and strengthened robot that are triggered when the robot is
UI PCB driving against an object. This prevents
our teamwork. We highly value the importance of a strong team spirit, with each member It contains our display, switches, major offsets of the robot's position.
contributing their unique strengths, and are very proud to be part of RoboCupJunior. buttons and LEDs for debugging
purposes and clear indications during Suspension system
a run. The front and back wheels are mounted on
Laurence Schreiter a movable axle. Both axles are connected
CAD and mechanical design, Team Captain ToF PCB
with a linkage.
In order to prevent cable clutter and
“I designed and fabricated all the robot components, including the suspension plug issues, we designed ToF PCBs to Color Sensor
system consisting of silicone wheels and two movable axles.” house all ToFs and the color sensor. We use the Adafruit TCS34725 to detect
As all ToFs have the same non- the different tile colors. The strong
Finn ten Tusscher modifiable I2C address the PCB is
equipped with a Multiplexer.
illumination ensures clear distinction
PCB design, electronics developer between the colors.
“I am responsible for the design, the production, and the assembly of the ToF VL53L4CD Breakouts
Our ToF breakouts are designed Silicone Wheels
robot’s main, power, UI and ToF PCBs.” Self-made wheels allow us to fully
asymmetrically to maximize the
distance between two adjacent customize the size and profile. The soft
Jannik von Bank sensors. Therefore the robot can silicone guarantees high grip and smooth
Sequential control, logging system evaluate its position fast and traversing over ramps, stairs, bumpers and
accurately in the maze. debris.
“I integrated the seqeuntial control system with which the robot drives and
performs the different tasks. Additionally, I coded our custom logging system.”
Thilo Hirscher Sequential control Legend: Main Step
Victim Identification
Navigation and map visualization, Victim identification The foundation of our program is the Subroutine Step
Cognitive Targets
Victim Handling Start
“I am responsible for the navigation and the map, as well as the custom victim IPO model combined with sequential Redistributor Step are identified using a custom algorithm, which starts by finding,
identification algorithms. I also developed the visualization application for the control. To create a clear structure filtering and grouping color blobs. Then all pixels from the center
multi-floor map.” the control system is divided into U Turn Right Turn Left Turn Drive Plate Obstacle Handling outward get assigned a color using a 1-NN classifier. This data
Previous Achievements three types of steps, as shown on can be used to evaluate the thickness of the color rings.
●
2024: 4th place at German Open the right. Main steps should always Drive Ramp
●
2024: 2nd place at European Championship lead to a distributor step and also have Visual Victims
●
2025: 1st place at German Open the option of branching to subroutines. Blue Tile Black Tile
1.Find black blobs with the find_blobs() function.
●
2025: 3rd place at World Championship Additionally this allows us to reuse Corrections 2.Filter by size and position. Calculate rotation using axis lines.
●
2026: 2nd place at German Open subroutines or perform isolated tests on 3.Apply letter-specific Haar-cascade like feature collections.
individual or sequences of steps. Navigation A feature compares two areas of a blob based on their
brightness. If the brightness quotient is below a certain threshold,
SD Card Logging the next feature is checked; otherwise, the blob gets discarded.
For fast and easy debugging we use For example, if all the features of the letter Ψ feature collection
a custom logger. Every log message passed, the letter Ψ is identified. We implemented the Haar-
Some impressions of the is regularly saved to an SD card in cascade like system directly in the firmware of Start of run
World Championship combination with the current map the camera to ensure high frame rates. Add unexplored tiles in directions with no wall
Salvador 2025 state as well as something we call
version control messages. Every Navigation Reached
destination of
No
time the map is changed a version LOP Behavior path?
Contact control message is created to store
this difference and later saved to the
When an LOP is triggered the map gets rebuilt to the
last matching checkpoint using the version control
Yes
Search for unexplored tiles
We share our work on many different social media platforms regularly. You can find the links SD card. Furthermore we have messages of the map. This ensures that the map will
to those on the website of our robotics club at our school, the Bildungszentrum Markdorf ensured that even if the robot crashes be exactly the same as at the checkpoint. Also the tile Unexplored
tiles found?
No Calculate and drive
path to starting tile
https://markdorf-robotics.de/ or simply scan the QR code. we still flush all information to the SD on which the LOP was triggered gets flagged as Yes Exit the run
card using a custom crash handler. To view all this data we developed a map unsafe, which ensures that the robot only drives over Calculate path and path time for
Address visualization tool that can display the version control messages as a map allowing us to the tile when there is no other path.
unexplored tiles from current position
Roboter AG Bildungszentrum Markdorf view all the changes to the map and see what log messages were logged on a selected Are there
Ensisheimerstraße 30 tile. Unit testing adjacent
unexplored
No
Pick shortest path
D-88677 Markdorf, Germany With Googletest and our map visualization tool to build
tiles?
Yes
We and the dev. We and the dev. test maps, we wrote over 210 fully independent unit Pick path according to right hand rule
E-Mail use environment use environment tests to test the navigation and mapping code Drive one tile according to path
bodenseedogs@gmail.com C++ VS Code + Platform IO Micropython OpenMV IDE
thoroughly.
1 page, rendered as images so they load quickly. The text above is the document's own, extracted from the PDF.
Presentation video
Hosted on YouTube. The player loads only when you press play.
