Maritime Informatics & Robotics Summer School

Maritime Informatics & Robotics Summer School

Two-week international summer school on maritime informatics and robotics at the University of the Aegean, running annually since 2024: around 45 postgraduate students per edition, a hands-on lab track from ArduPilot setup through simulation to companion-computer fleet programming, with published notes and a public code repository.

Status: recurring. Third edition delivered in July 2026; the school has run annually since September 2024.

At a glance

ForThe SmartMove lab, Department of Product and Systems Design Engineering, University of the Aegean
FormatTwo intensive weeks in Syros: expert lectures in the mornings, a hands-on lab track in the afternoons, then pool tests, sea trials, and team presentations
AudienceAround 45 international postgraduate students per edition, mostly active CS and robotics postgrads from universities across Europe and beyond
RoleOrganizing team member; co-teach the three setup labs; design and teach the two software labs
MaterialsPublished lab notes and a public code repository, reworked for 2026
StackArduPilot (SITL), Mission Planner, Python (pymavlink, DroneKit), MQTT, Raspberry Pi 5

The school

The SmartMove lab runs an international summer school on maritime informatics and robotics every summer in Syros. The mornings carry invited lectures: motion planning, localization and mapping, motion control and ROS, visual navigation, maritime safety systems. The afternoons carry the lab track, where student teams work step by step toward operating autonomous surface vessels. In the second week the school moves to the water: pool tests, ROV sessions, sea trials, and closing team presentations.

The first edition ran in September 2024 at a smaller scale; the 2025 and 2026 editions each brought around 45 international postgraduate students to the island for two weeks. Backgrounds vary: computer science and robotics dominate, but the range runs from mechanical and naval engineering to a few business students drawn to maritime robotics.

The lab track

I co-teach the initial setup labs with colleagues: team building and introduction, ArduPilot installation with Mission Planner (configuration, setup, logging), and RC setup with parameter tuning and mode configuration. The two software labs that follow are exclusively my responsibility, from the syllabus and the written notes to classroom delivery. In more detail:

  • Lab 03, Software In The Loop and auto modes. Every student runs a complete simulated vessel on their own laptop: ArduPilot SITL with boat physics, spawned at real Syros coordinates. The lab covers manual driving, guided commands, and fully autonomous missions, so teams can rehearse everything the real vessels will later do. Setting up and getting comfortable with SITL, however time-consuming that can be on some machines, is a deliberate educational goal in itself: it is the ArduPilot community’s standard simulation environment, it is the infrastructure Lab 04 runs on, and it stays with the students as their own tool for experimentation after the school.
  • Lab 04, companion computer and autopilot integration. The Raspberry Pi 5 layer that turns an autopilot into a programmable vessel, taught as eight progressive Python projects: from reading live telemetry, through MQTT publishing (the protocol itself is covered in the lab: standard IoT technology, and a natural fit for vessel communications), multi-vessel roles, and command processing, to autonomous follow-the-leader and formation keeping across a simulated fleet. A ninth project, running missions from code, closes the notes as a guided, suggested next step alongside other ideas for further development: that is the core idea of Lab 04, familiarity with the libraries and the technology, and a base on which students can develop more sophisticated scenarios.

The teaching system

For the 2026 edition I reworked the teaching materials almost end to end:

  • Published notes. Both software labs are written as canonical notes and rendered to single-file HTML on the school’s site, replacing the shared google docs of earlier editions.
  • Clone-based setup. Students clone the public repository and get requirements, environment templates, and all eight projects; every project is verified end to end from a fresh clone on the setups students bring: Windows with WSL2, and native Linux (Ubuntu 24.04 / 26.04).
  • Class-scale messaging. The fleet projects publish telemetry through a Mosquitto broker I set up and run on university infrastructure: it serves the school and my code examples as well as the lab’s real vessels, and it is load-tested well beyond a classroom.
  • A live fleet view. A browser dashboard built for the session shows per-vessel cards with follow and stop commands, and a room-wide map with heading-aware vessel icons, fed by the same telemetry the students’ code publishes. It exists deliberately to demonstrate what MQTT communication makes possible: the same stack put to work in multiple ways.

The fleet behind it

The curriculum mirrors the lab’s real hardware. SmartMove operates a fleet of eight identical one-metre autonomous surface vessels, each carrying a Pixhawk autopilot and a Raspberry Pi 5 companion computer, alongside larger research vessels on the same stack and a BlueROV2 Heavy underwater ROV; everything runs ArduPilot. I have worked on that fleet for years, from assembly and wiring to vessel logic and sea trials, and the labs teach the same stack in simulation before the students meet the real vessels in the field.

The fleet in action

After the 2026 school I ran the full Lab 04 stack once more to document it: four simulated vessels on ArduPilot SITL, the scout driven from QGroundControl, and three followers holding formation over the MQTT broker. The clip below shows the room map while the fleet is under way; it plays at five times real speed.

Follow-the-leader on the room map, at 5× speed

A follower’s console from the same run, at the moment the follow command arrives:

Successfully published to MQTT topic: scout/kogias/vessel1/position (QoS=0)
{"timestamp": "23/07/2026 - 16:17:19", "heading": 180, "ground_speed": 0.03, "latitude": 37.4391456, "longitude": 24.9453889, "boat": "vessel1"}

**************************************************
Command to start following is issued
**************************************************

Arming vehicle...
Vehicle armed.
Vehicle is in GUIDED mode. Started following.
Distance to scout: 28.33 meters. Mode: FOLLOWING
Issuing new goto command. Distance to scout: 28.33 meters
[...]
{"timestamp": "23/07/2026 - 16:17:26", "heading": 45, "ground_speed": 2.96, "latitude": 37.4391539, "longitude": 24.9454314, "boat": "vessel1"}
Distance to scout: 27.03 meters. Mode: FOLLOWING
[...]
{"timestamp": "23/07/2026 - 16:17:29", "heading": 42, "ground_speed": 5.41, "latitude": 37.4392433, "longitude": 24.9455307, "boat": "vessel1"}
Too close to scout. Loitering to maintain position.
Distance to scout: 0.59 meters. Mode: LOITERING

Screenshots

A two-minute session recording at real speed, switching between the fleet map and QGroundControl while the fleet is under way

Outcome

The 2026 edition ran end to end on the reworked materials: both software labs were delivered as planned, and the notes and code are now public and current for the next edition. The same infrastructure keeps developing inside the lab between schools: the curriculum covers what two intensive weeks allow, and the lab’s own experiments take it further through the year.


© 2026 Thomas Kogias. All rights reserved. · tkogias at gmail dot com