Robotic Sailing ⛵
Since 2016, I am an active member of the Sailing Team Darmstadt e.V. (est. 2008), which is a non-profit student group based in at the TU Darmstadt, Germany. Our goal is to develop fully autonomous sailing boats capable of navigating the open sea.
With kind permission from © Sailing Team Darmstadt e.V. More images can be found on Instagram: @sailingteam_darmstadt.
Software Contributions
Over the years, I spent countless hours developing software for the boat(s). While starting as a small tinkering project, we steadily grew it into a rather professional-like development effort driven by the growth in memberships. One of my main contributions there were the modularization of the large codebase that has grown over the years and the introduction of clear quality principles supported by extensive CI tools. Additionally, I developed (mostly in Python):
- A foundational library for working with cartesian
(x, y)
and polar(latitude, longitude)
geometries. - Import and transformation of various data formats, like nautical navigation charts (ENCs) and topography data.
- Tools for creating globe-spanning navigation graphs and augmenting them with datasets.
- A system for managing local tangent plane coordinates (LTPs) and object permanence.
- Interfacing with hardware, among others using the python-can library of which I am now one of the core developers.
- A novel tool for writing declarative test cases for ROS2.
- Property-based and mutation testing.
- A lot of infrastructure and tooling behind the scenes.
- More …
Most of the code is internal as of now but will be open-sourced eventually.
Member of the board
In addition to the technical contributions above, I also led the team in various ways over the years, including by: daily operations, membership recruitment, finance and sponsorings, multiple fair exhibitions, and strategic decisions.
- 2017 — 2019: Treasurer (Finanzvorstand)
- 2019 — 2020: Vice Chairperson (2. Vorsitzender)
- 2020 — 2022: Chairperson (1. Vorsitzender)
- 2022 — 2023: Member of the board (Beisitzer)