Overview
This “Certified Autonomous Driving Software Engineer” program is an intensive training initiative designed to equip engineers with the specialized skills and knowledge required to develop cutting-edge software for autonomous vehicles. The program focuses on a comprehensive exploration of core autonomous driving technologies, including perception, localization, motion planning, and control, all underpinned by a strong foundation in modern C++ and Python programming and deep learning.
The curriculum is structured to provide a logical progression, starting with essential programming and deep learning concepts and culminating in the development and implementation of complex autonomous driving algorithms. Through a blend of theoretical instruction, hands-on projects, simulations, and real-world case studies, participants will gain the expertise needed to contribute to the rapidly evolving field of autonomous driving.
Objectives
Upon successful completion of this program, participants will be able to:
- Master Modern C++ and Python:
- Develop Deep Learning Expertise:
- Implement Perception Systems:
- Develop Localization Algorithms:
- Design Motion Planning Strategies:
- Implement Vehicle Motion Control:
- Contribute to Autonomous Driving Projects:
Prerequisites
All participants should have:
- C++/Python Programming
- Basic Calculus
- Linear Algebra
- Basic Control System
Suggested Audience
Engineers with Automotive background targeting to work on Autonomous Driving (2+ to 8+ Years of Experience)
Duration
240+ Hours Approx – (6 Courses * 40 hours each)
Course Outline
- Module 1: Modern C++ Fundamentals and Resource Management
- Module 2: Template Metaprogramming (TMP)
- Module 3: C++ Standard Template Library (STL) for Embedded
- Module 4: Introduction to Python
- Module 5: Data Structures
- Module 6: Functions and Modules
- Module 7: Mathematical Operations for Autonomous Driving
- Module 1: Introduction to Deep Learning for Autonomous Driving
- Module 2: Artificial Neural Networks (ANN)
- Module 3: Convolutional Neural Networks (CNN)
- Module 4: OpenCV for Computer Vision
- Module 5: YOLO for Object Detection
- Module 6: Deployment and Optimization
- Module 1: Introduction to Perception for Autonomous Driving
- Module 2: Lane Detection
- Module 3: Scene Detection and Understanding
- Module 4: Static and Dynamic Object Detection
- Module 5: Camera and Lidar Systems
- Module 6: ROS-CARLA Bridge
- Module 7: Perception Simulation in CARLA
- Module 1: Introduction to Localization and Coordinate Systems
- Module 2: State Estimation Techniques
- Module 3: Kalman Filter (KF)
- Module 4: Extended Kalman Filter (EKF) and Unscented Kalman Filter (UKF)
- Module 5: Lidar Localization
- Module 6: Particle Filter
- Module 1: Introduction to Motion Planning
- Module 2: Path Planning Techniques
- Module 3: Motion Planning with Potential Fields
- Module 4: Optimization-Based Motion Planning
- Module 5: Rapidly-exploring Random Trees (RRT and RRT)*
- Module 6: Motion Planning for Autonomous Driving
- Module 1: Introduction to Motion Control
- Module 2: Basic Control Techniques
- Module 3: Optimization Frameworks (CasADi)
- Module 4: Model Predictive Control (MPC)
- Module 5: Vehicle Dynamics and Control
- Module 6: Implementation in CARLA-ROS