The Summer School Task focuses on the cooperation of two UAVs in a 3D environment with obstacles. The objective is to inspect and monitor a land surface. This task introduces you to robotics principles that can be applied to various domains. It will also help you better understand the work we do at MRS and the systems we use.

<aside>

This page only serves as an overview to the task. All the technical details necessary are written in comprehensive detail in the github https://github.com/ctu-mrs/summer-school-2025 page. It is imperative that you read the github page paying careful attention to all the details specified.

Please read the GitHub page as if your life depends on it.

</aside>

Overall Objective

This task aims to introduce you to using robots (in our case UAVs) for inspection and monitoring purposes, with the ultimate goal of minimizing human intervention. To this end, we have chosen the task of surveilling a land surface mine, which could prove hazardous for humans.

The visualization below gives an idea of how the task would look.

surface_mine_large_new_rviz.mp4

Problem Definition

The image below shows the top view of the 3D map of the surface mine. The blue and red UAVs are equipped with RGB cameras, but in different orientations. The camera on the red UAV is downward-facing, while the camera on the blue UAV is a front-facing one. Some viewpoints require a direct downward perspective and can only be inspected by the red UAV, while others—such as those located near the mountains—are best viewed from a straight-ahead angle and can only be inspected by the blue UAV. The remaining viewpoints are flexible and can be inspected by either UAV. To distinguish them, the inspection points assigned to a specific UAV are marked in its corresponding color (Red or Blue), while the shared, arbitrary points are marked in purple.

SS2025_viewpoints_labelled.png

Task Objectives

1) Divide the Viewpoints

The first step involves dividing the viewpoints — each defined by a 3D pose consisting of x, y, z and heading — into two clusters, with each cluster assigned to one of the UAVs. It is important to notice that only the purple view points would be divided into clusters as the red and blue points are meant for the specific UAVs respectively. Note that this image is illustrative and does not necessarily depict the optimal UAV assignment.

SS2025_clusters.png

2) Finding Optimal Sequence of Viewpoints

Once all viewpoints are divided into two clusters — each assigned to one of the UAVs — an optimal visitation sequence must be determined. This corresponds to solving a Traveling Salesman Problem (TSP) for each UAV. The goal is to find a sequence that minimizes a given criterion, such as the total travel distance or the time required to visit all assigned viewpoints. The accompanying image illustrates an example, where the red and blue lines represent the optimized paths for the RED and BLUE UAVs, respectively.

SS2025_trajectory.png

3) Plan a path, ensuring constraints are satisfied

The next step is to plan a path between the sequence of viewpoints identified in the previous steps. This involves three key sub-tasks: