NO
YES
NO
NO
YES
YES
NO
YES
ROS2 it is
ROS1 it is
YES
NO
YES
NO
ROS2 transition - MRS UAV System diagram
Third-party package refactoring decision making tree
MRS UAV Core
MRS UAV Modules
Robofly
Sensor drivers
Gazebo + PX4 SITL
MRS Course tasks
New features - not in ROS1 MRS yet
Octomap mapping & planning
UVDAR
Documentation
Buildfarm
Core example packages
PX4 + Mavros
Precise Landing
Computer vision examples
Summer School task (for 2026)
MRS Apptainer
MRS Docker
Portainer system
Flight Forge
Task 01 controller
Task 02 formation
Task 03 swarm
Months-worth of work (1 Tomas)
Days-worth of work (1 Tomas)
Weeks-woth of work (1 Tomas)

MRS Multirotor simulator

  • refactor
    • dynamic reconfigure
    • rviz integration
  • add sensor noise (Michal Reiser)
  • test simtime generation
  • test max simulation rate
  • HW Api plugin (needs HW API)
  • tests
    • standalone tests
    • MRS system wide tests

HW Api

  • plugin interface
  • example plugin
  • plugin manager

MRS UAV testing

  • the abstraction library
  • tests
    • example tests using the lib

Buildfarm

  • creating of ROS2 PPAs
  • revisiting bloom
  • refactoring dockerized compilation pipeline
  • on-push builds
  • test pipeline
  • coverage pipeline

START

F4F

F4F utilizes and deploys these features in an industrial setting

Linux Setup (Ubuntu 24.04)

  • nvim works
    • coc.nvim replaced ycm
    • ROS integration works
  • i3 works
  • tmux and other tools ok
  • automatic installation works

mrs_msgs

  • refactor
  • building of doxygen docs

External dependencies

  • ROS
  • Eigen
  • PCL (neccessary?)
  • OpenCV (neccessary?)

Let's adopt the ROS2 version and update it with our changes

Well then?

Let's refactor the ROS1 version into ROS2 ourselves

Let's adopt the ROS2 branch and fix it's problems

Let's refactor the ROS1 version into ROS2 ourselves

Let's adopt the ROS2 branch

Object tracking example

  • refactor

Basic robofly example

  • basic example

F4F documentation

  • update

F4F software installation guide

  • update

ICM IMU driver

  • refactor

Libcamera ROS driver

  • there should be official ROS2 branch
  • rafactor

F4F

Portainer stacks

  • refactor

Libcamera driver library

  • refactor (probably stays the same)

Hailo AI adapter

  • refactor
  • update base image builder
  • Who is going to do it?
  • Are there any dependencies to real sensor drivers?

F4F

UVDAR Gazebo plugin

  • Refactor

UVDAR Core

  • Refactor

MRS UAV Gazebo testing

  • refactor

ROS Kalibr docker

  • does Kalibr have a ROS2 version (it needs rosbag as an input)
  • refactor

Robofly's UVDAR

  • rafactor

UVDAR calibration routine

  • Refactor

MRS UAV Deployment

  • refactor config files
  • example tmux sessions

F4F

Gazebo custom drone example

  • refactor

Sensor drivers (px4_sitl_gazebo)

  • our custom fixes to the maagnetometer (did not use inclination)
  • custom fixes to lidar
  • custom fixes to GPS plugin

CPP

  • edge detector

Python

  • blob detector

F4F

Stacks

  • refactor/create example stacks

Gazebo

  • refactor the metapackage
    • launch files
    • configs

Drone spawner

  • keep the functionalities
  • dockerization?

Octomap planner

  • refactor
  • merge changes from SPRIND

SubT Planning lib

  • refactor
  • might not contain ROS

PX4 SITL

  • updgrade to the newest reasonable PX4 version

Gazebo common & extra resources

  • custom plugins
  • custom worlds

F4F

Trajectory loader

  • refactor

Summer school simulation and wrappers

  • update and refactor

F4F

Landing estimator

  • refactor

Landing controller

  • refactor

Summer school real-world deployment

  • update and refactor

F4F

Gazebo simulation package

  • refactor

April tag

  • find and adapt ROS2 version

Realsense driver

  • does it have a newer ROS2 branch?
  • refactor

F4F

Bluefox driver

  • does it have a newer ROS2 branch?

  • refactor

Path loader

  • refactor

Ouster driver

  • does it have a newer ROS2 branch?
  • refactor

Basler driver

  • does it have a newer ROS2 branch?
  • beware the multithreading problem
  • refactor

Livox360 driver

  • does it have a newer ROS2 branch?
  • refactor

Luxonis driver

  • does it have a newer ROS2 branch?
  • refactor

RPLidar driver

  • does it have a newer ROS2 branch?
  • are we using it?
  • refactor

Camera base

  • does it have an equivalent in ROS2
  • refactor

Optic flow

  • do we want to keep it?
  • refactor if yes

super low priority

MRS LLCP

  • refactor

Hector + core

  • does it have a newer ROS2 branch?
  • is anybody using it?
  • refactor

MRS PCL Tools

  • refactor
  • depends on Ouster, should we rethink this?

MRS Modulees msgs

  • refactor
  • building of doxygen docs

OpenVins + Core

  • does it have a newer ROS2 branch?
  • refactor

MRS Serial

  • refactor
  • important for RTK

MRS Bumper

  • refactor

ALOAM + core

  • does it have a newer ROS2 branch?
  • refactor
  • remove Gazebo
  • update and refactor

POINT LIO + core

  • does it have a newer ROS2 branch?
  • refactor

LIOSAM + core

  • does it have a newer ROS2 branch?
  • refactor

MRS Utils

  • refactor

Test the ROS2 branch as it is

  • remove Gazebo
  • update and refactor
  • build from scratch without the MRS UAV System with just the Multirotor Sim lib

Does it perform well?

Do we need the changes?

Is it better to merge them into the ROS2 version?

Decide if we should fix the ROS2 branch or to port the ROS1 (that worked) to ROS2

Check if the ROS2 branch needs the changes as well

START

Do we want to keep the software?

Use behavioral trees

  • check how does it work, if it is useful

MRS UAV Trackers

  • Mpc tracker
  • Line tracker
  • Midair activation tracker
  • Landoff tracker
  • Joy tracker (keep?)
  • Speed tracker (keep?)
  • Tests

MRS UAV Controllers

  • MpcController
  • Se3Controller
  • Failsafe controller
  • Midaiir actiivation controller
  • Tests

MRS UAV Autostart

  • Refactor
  • Tests

Trajectory generation

  • Refactor
  • Tests

NLOT solver ROS wrapper

  • refactor

Replace it with something better

Is there a ROS2 branch?

Do we have our own changes to the ROS1 branch

Refactor to ROS2 ourselves

  • refactor ROS bindings and integration
  • udpate examples
  • refactor ROS bindings and integration
  • udpate examples

ROS2 bridge (Hugues)

  • Is it alive? Can it be used by people who want to run their ROS1 node agains the ROS2 system?
  • investigate

F4F

CPP

  • waypoint flier
  • waypoint flier simple
  • tracker plugin
  • controller plugin
  • estimator plugin (create)
  • pluginlib example

MRS DJI Tello API

  • refactor

F4F

Unreal sim package

  • Simulator node
  • HW APi

MRS Docs

  • updating prerequisities about ROS
  • refactoring all example pages
  • refactoring pieces of ROS1-related code snippets

Cheatsheet

  • Update ROS-related stuff

Main github page

  • update when ready

MRS Internal wiki

  • update

F4F

Python

  • sweeping generator

MRS Coppelia simulation

  • I would keep it as an example
  • refactor

ROS2 inter-robot communication

  • How to correctly configure remote access to remote ROS2 machine?
  • How to replace the old Nimbro setup with native ROS2 features

RMW Zenoh

  • will it be better than FastDDS?
  • can it replace nimbro?
    • can it be configured per-topic?
  • does it perform with fast and large msgs?

Octomap server

  • refactor
  • merge changes from SPRIND

MRS Octomap Tools

  • refactor
  • is it used?

MRS UAV Managers

  • Estimation manager
  • Control manager
  • UAV manager
    • maybe try the behavioral trees?
  • Transform manager
  • Constraint manager
  • Gain manager
  • bulding of doxygen docs

Mavros

  • does it exists in Jazzy?
  • or should we implement our own?

PX4 Hw API

  • Refactor
  • Test with a real drone first (if the comunications work as expected)

Rosbag Record (deleg. Tsoy Artyom)

  • how do our customisations from ROS1 apply?
    • rosbag record is killed when it cannot write to the disk anymore
    • it publishes and prints the datarate
  • investigate

F4F

F4F

CI Scripts

  • set of common scripts used by the buildfarm and by separate repositories' actions
  • update and refactor

Safety area manager

  • refactor
  • incorporate

Diagnostics manager?

  • talk to Vojta and get an idea how it works
  • Maybe Matous should do it?

Minor points:

  • proper handling of UTM zones

MRS Errorgraph

  • refactor
  • incorporate

MRS Errorgraph viewer

  • refactor
  • incorporate

MRS UAV Shell Additions

  • will the waitFor macros gonna be needed in ROS2?
  • refactor

MRS Lib

  • param loader
  • publisher handler
  • service client handler
  • timer handler
  • timeout manager
  • lkf, ukf, dkf, nckf
  • profiiler
  • msg extractor
  • service client handler
  • subscriber handler
  • transform broadcaster
  • transformer
  • safety zone
  • IIR filter
  • batch visualizer (Afzal)
  • aloamgarm + JLKF (Vasek)
    • tests
  • dynamic publisher (Matous)[1]
    • tests
  • .. the rest of the minor libs
  • building of doxygen docs
  • building a python lib for testing
    • how to export python libs?

  1. Probably rewrite from scratch↩︎

Colcon workspace

  • how does the mixin feature work

MRS UAV Status

  • Acquisition node
  • Presentation node

Is FastRTSP good enough for images and pointclouds? (deleg. Tsoy Artyom)

  • verify
  • try the Zenoh RMW, which should work like the ROS1 with roscore
  • param loading
  • Publisher
  • Subscriber
  • Timer
  • Service client
  • Service server
  • library
  • tests
    • unit test
    • integration test
  • Pluginlib
  • tf broadcaster
  • tf listener
  • clock managament
  • image transport
  • point cloud transport
  • actionlib
  • lifecycle nodes

MRS UAV Development

  • colon alias for ease of use
  • custom roscd alias
  • pre-sourcing of a selected workspace for speedup of the process

MRS Rviz plugins

  • not essential, should be simple
  • refactor

MRS UAV Estimators

  • AGL estimators
  • Altitude estimators
  • Heading estimators
  • Lateral estimators
  • State estimators
  • Tests