This page is located in archive.

B3M33ARO: Autonomous Robotics Assignment

This document contains the material for the final project assignment. The assignment is done in a group of three students.


The task is to implement a program for the TurtleBot, so that the robot explores its surroundings and finds beacons denoted by QR codes. For the QR code detection, use the detector available at src/turtlebot/detector.py of the TurtleBot repository.

The program will produce a map with marked positions of the beacons. The coordinates of the beacons in the map frame should be also printed explicitly. The origin of the map coordinate frame is at the starting position of the robot. The robot signalizes the completion of the whole exploration task by playing a sound. Implement the program so that the mapped position of the beacons is as precise as possible and that the exploration time is as short as possible. Detection of a beacon is only counted if it's position is within 50cm of the true position for beacons 2, 3, and 4 and within 25cm for the first beacon. In other words, the beacon in your map has to lie in a circle around the true location of the beacon with the diameter of 0.5 meters in case of the first beacon and 1 meter for the remaining three beacons.

The program will be demonstrated in the last week of the semester and also submitted into the (https://cw.felk.cvut.cz/brute/) together with the report. The report is required to answer the following questions:

  • How do you estimate and update the 3D position of the markers?
  • How do you update the position of the robot in relation to markers?
  • How do you plan the trajectory for the robot through the course?
  • How do you execute the planned trajectory?
  • What have you used as the testing scenario and what results did you get?

You should also conduct an experiment that would test the influence of a mapping with an ICP algorithm on the localization of the robot's position in the arena. Evaluate it through the localization accuracy of a non-trivial beacon (i.e. the one where the robot has to travel some distance) with and without the ICP. Describe your testing procedure and the evaluation results in the report. The quality (rigorousness) of your methodology will be judged when assigning points for the report.


The arena will be fenced with a 0.3m high wall, and its area will be 4×4 m. The arena may also contain obstacles apart from the beacons.

Beacons are 0.3m high triangles with QR code on one of the sides. The obstacles are the same as the beacons but without the QR code. The final configuration of beacons and obstacles will be revealed at the demonstration day. The first beacon will be placed so that it will be visible from the initial position of the robot. However, there will be four beacons. The second beacon will be placed outside of the field of view in the initial position so the robot will need at least to rotate to detect it. In order to find the last two beacons, the robot will need to explore the arena.

It is desired that the robot won't hit any of the obstacles, beacons and walls of the arena. Any contact will be penalized.

Update 18/05/2018

Robot used for the final demonstration will be equipped with the Intel RealSense sensor

Points distribution

In total, you can get 22 points from the semestral work (15 points for the successful demonstration, 7 for the report).

  • +7 for the report, of which:
    • +5 for explanations of the aforementioned questions
    • +2 for an experiment evaluating the beacon localization accuracy with and without an ICP algorithm
  • +2 for the detection and correctly placing the first beacon on the map
  • +3 for the second beacon
  • +5 for the third beacon
  • +5 for the fourth beacon
  • -0.25 for each collision
courses/bxaro/semestral_work.txt · Last modified: 2018/05/18 11:34 by kubelvla