ENPM818Z — On-Road Automated Vehicles

Course Description

ENPM818Z provides a deep dive into the core technical and technological components of automated passenger vehicles for on-road applications. Students explore the essential systems that enable self-driving capabilities, including perception, sensor fusion, localization, motion planning, and control.

The course emphasizes a hands-on approach using the CARLA simulation environment, where students develop and test advanced driving algorithms in simulated urban and highway scenarios. Core topics include:

  • Multi-sensor perception (LiDAR, RADAR, cameras, IMU, GNSS)

  • Real-time data fusion and SLAM-based localization

  • Motion planning and trajectory optimization

  • AI-driven decision-making for behavior prediction and control

  • System integration and simulation-based validation

By the end of the semester, students will have designed, implemented, and tested components of an automated driving system (ADS), gaining the technical foundation required for careers in robotics, automated vehicle engineering, and intelligent transportation systems.

Prerequisites

Students enrolling in ENPM818Z must have:

  • ENPM673 (Perception for Autonomous Robotics) or equivalent

  • Proficiency in ROS 2 for developing and testing robotic systems

  • Strong programming skills in Python

  • Basic understanding of robotics and computer vision

  • Familiarity with simulation environments such as CARLA (recommended)

Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Understand Core AV Technologies: Explain how perception, localization, motion planning, and control interact within an ADS.

  • Implement Multi-Sensor Fusion: Combine data from LiDAR, RADAR, camera, IMU, and GNSS sensors to improve perception accuracy.

  • Develop Localization and Mapping Systems: Implement SLAM and evaluate localization accuracy under dynamic conditions.

  • Apply Motion Planning Techniques: Create safe and efficient motion planners and controllers for urban and highway driving.

  • Design AI-Driven Decision Systems: Apply machine learning or rule-based methods for decision-making in traffic scenarios.

  • Integrate and Validate AV Systems: Use CARLA simulation to integrate multiple modules into a working ADS pipeline.

  • Analyze System Performance: Evaluate robustness and safety using simulation metrics and performance indicators.

Course Resources

Required Software and Tools - Ubuntu 22.04 LTS or 24.04 LTS - CARLA Simulator 0.9.15 - ROS 2 (Humble or Jazzy) - Python 3.8+ with numpy, matplotlib, opencv-python, and carla packages - Visual Studio Code or preferred IDE - Git and GitHub for version control

Hardware Recommendations - GPU: NVIDIA GTX 1060 (1070+ recommended) - RAM: 8 GB minimum (16 GB+ preferred) - CPU: Quad-core processor - 20 GB free storage for CARLA and datasets

Course Structure

ENPM818Z combines lectures with intensive, hands-on programming sessions in CARLA. Each week builds on prior material — progressing from single-sensor processing to full system integration. Students complete a sequence of assignments leading to a final project implementing a functional ADS pipeline.

Assignments and Evaluation

  • Assignments (30%) – Four hands-on exercises covering sensing, fusion, localization, and planning.

  • Quizzes (20%) – Short in-class quizzes reinforcing core concepts.

  • Final Project (50%) – A complete ROS 2 ADS implementation with written report and final presentation.

Late submissions incur a 10% deduction per day (maximum 3 days). Beyond 3 days, submissions receive zero credit.