Lab exercises

Our hands-on, lab-centered course is for students interested in the fields of artificial perception, motion planning, control theory, and applied machine learning. Core of the lecture are the lab assignments. They are starting with the hard- and software that is needed to build and programme a 1/10th scale autonomous race car. The fundamental principles in perception, planning, and control, and map-based approaches follow. In the end, students develop and implement advanced racing strategies that will give their team the edge in the race that concludes the course.

The course has eight exercises, each focusing on a specific topic:

  • Lab 1 - Race Car & Simulator

    • Know the specification and abilities of the race car hardware.
    • Use simulaton models for racing cars and understand the basics and parameters of these models.
    • Use ROS and the f1tenth_simulator and be prepared for the further labs.
  • Lab 2 - ROS Basics & Safety Node

    • Understand the directory structure and framework of ROS2, implement publishers and subscribers in ROS2.
    • Understanding Cmake lists, package.xml files and dependencies in ROS2.
    • Working with launch files, RViz, plotting and reconfiguration tools.
    • Use the LaserScan, Odometry, AckermannDriveStamped and other messages in ROS2.
    • Work with Time to Collision (TTC) calculation.
  • Lab 3 - Follow the wall & Hardware Race Car

    • Work with PID controllers.
    • Driving the car autonomously via wall following.
    • Tuning algorithmns/controllers.
    • Work with actual hardware in real-world-scenarios.
    • Understand the challenges of working with physical systems.
  • Lab 4 - Reactive Methods

    • Work with reactive methods for obstacle avoidance.
    • Driving the car autonomously via a reactive algorithmn.
    • Tuning algorithmns/controllers.
    • Use live visualization of internal variables to better tune algorithmns/controllers.
  • Lab 5 - Mapping, Localization and Pure Pursuit

    • Create maps of unknown environments with SLAM or other methods.
    • Use and tune localization algorithmns on a map and with different sensor inputs.
    • Work with maps and (optimal) trajectories on given maps.
    • Driving the car autonomously via pure pursuit.
    • Tuning algorithms/controllers.
  • Lab 6 - Racing strategy

    • Develop a racing strategy fitting to a set of rules.
    • Analyze and understand differences between single-agent and multi-agent scenarios.
  • Lab 7 - Racing 1

    • Analyse and formulate project requirements, formulate goals, plan projects and identify potential future directions.
    • Work with non-fully specified/formalized project descriptions.
  • Lab 8 - (Advanced) Racing 2

    • Optimize racing strategy and evaluate with respect to performance metrics.
    • Tune and optimize your algorithm on actual hardware systems.
    • Deal with unforeseen problems and challenges.

Please note, this information is for reference only. Actual lab contents and binding information for grading of the respective semester will be published in TUWEL.