Laboratories

Overview

Lab 1 - Development Environment & First C++ Program

  • Introduction to laboratory
  • Linux Command Line Interface (CLI)
  • C++ Review
  • CLI compilation
  • CLion and ROS 2 introduction

Responsible: Ing. Petr Šopák

Lab 2 - Project Workflow: Git, CMake & Team Project

  • Git Basics and workflow
  • Simple CMake project
  • Unit tests
  • Online repository
  • Course project template

Responsible: Ing. Petr Šopák

Lab 3 - Git & C++ Project Template

  • Hands-on Git workflow on a remote service (GitHub / GitLab / Bitbucket)
  • Team exercise: branching, conflicts, pulls, pushes
  • Bootstrap the C++ project structure used in later labs

Responsible: Ing. Jakub Minařík

Lab 4 - Data Capture & Visualization (ROS)

  • ROS 2 in CLI
  • Simple Node, Publisher, Subscriber
  • RViz, Data Visualization

Responsible: Ing. Petr Šopák

Lab 5 - Motor, Kinematics & Gamepad

  • Motor Control
  • Forward and Inverse Kinematics
  • Gamepad

Responsible: Ing. Jakub Minařík

Lab 6 - Line Estimation

  • Line Sensor Usage
  • Line Position Estimation
  • Line Sensor Calibration

Responsible: Ing. Adam Ligocki, Ph.D.

Lab 7 - Line Following & PID

  • Line Following Control Loop Implementation
  • PID controller tuning

Responsible: Ing. Petr Šopák

Lab 8 - Midterm Test (Line Following)

  • Good Luck!

Responsible: Ing. Adam Ligocki, Ph.D.

Lab 9 - Obstacle Detection & Corridor Following

  • Understanding LiDAR / ultrasonic range data
  • Basic obstacle detection
  • Reactive corridor following

Responsible: Ing. Petr Šopák

Lab 10 - Orientation-Aware Corridor Navigation

  • IMU data and yaw estimation
  • Turning behaviour at corridor corners

Responsible: Ing. Petr Šopák

Lab 11 - Visual Navigation Using ArUco Markers

  • Camera data via image_transport
  • ArUco marker detection
  • Symbolic decision making at intersections

Responsible: Ing. Petr Šopák

Lab 12 - Midterm Test (Corridor Following)

  • Good Luck!

Responsible: Ing. Adam Ligocki, Ph.D.

Final Exam - Maze Escape

  • Good Luck!

Responsible: Ing. Adam Ligocki, Ph.D.