IU:TestPage
Revision as of 16:14, 9 February 2023 by R.sirgalina (talk | contribs)
Motion planning for autonomous vehicles
- Course name: Motion planning for autonomous vehicles
- Code discipline:
- Subject area: Robotics
Short Description
Prerequisites
Prerequisite subjects
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
1.0 Introduction to Optimization & Variation of Calculus & Hamiltonian theory (Optimal control) & Pontryagin’s Minimum Principle |
|
2.0 Graph-based Path planning & Sampling-based path planning |
|
3.0 Linear Quadratic Regulator (LQR) & Model Predictive Control (MPC) & Curve Fitting & Frenet frame trajectory planning |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
ILOs defined at three levels
Level 1: What concepts should a student know/remember/explain?
By the end of the course, the students should be able to ...
Level 2: What basic practical skills should a student be able to perform?
By the end of the course, the students should be able to ...
Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?
By the end of the course, the students should be able to ...
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 90.0-100.0 | - |
B. Good | 75.0-89.0 | - |
C. Satisfactory | 50.0-74.0 | - |
D. Fail | 0.0-50.0 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Assignment | 50 |
Quizzes | 20 |
In-class activity | 10 |
Mini-project | 20 |
Recommendations for students on how to succeed in the course
Resources, literature and reference materials
Open access resources
Closed access resources
Software and tools used within the course
Teaching Methodology: Methods, techniques, & activities
Activities and Teaching Methods
Learning Activities | Section 1 | Section 2 | Section 3 |
---|---|---|---|
Lectures | 1 | 1 | 1 |
Interactive Lectures | 1 | 1 | 1 |
Lab exercises | 1 | 1 | 1 |
Development of individual parts of software product code | 1 | 1 | 1 |
Individual Projects | 1 | 1 | 1 |
Quizzes (written or computer-based) | 1 | 1 | 1 |
Discussions | 1 | 1 | 1 |
Presentations by students | 1 | 1 | 1 |
Written reports | 1 | 1 | 1 |
Experiments | 0 | 0 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Quiz | 1. Solving constrained optimization? 2. Solving Least squares fitting with regularization? 3. Solving smoothing of a trajectory? 4. Solving problems with penalty functions? 5. How to estimate robust control? |
10 |
Individual Assignments | A1: Fix point problem ( t f is fixed and x(t f ) is free) Define a motion planner where the start and final states are fixed, Given an objective function, the objective is to derive optimal control based on Hamiltonian and simulate on Gazebo-based environment Submit a report and source code: - Experimenting on different scenarios - Check problem formulation and implementation accuracy A2: Fix point problem ( t f is fixed and x(t f ) is free) Define a motion planner where the start and final states are fixed, however placing a set of state and control constraints. Given an objective function, the objective is to derive optimal control based on Pontryagin’s Minimum Principle and simulate on Gazebo-based environment Submit a report and source code: - Experimenting on different scenarios - Importance of placing constraints on state and control spaces A2: Optimal boundary value problem Define a motion planner that minimizes the square of acceleration for ground vehicle Submit a report and source code: - Experimenting on different scenarios - Check problem formulation and implementation accuracy - Effects of minimizing jerk over acceleration |
20 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Quiz | 1. Difference between configuration space vs search space for robots? 2. How to estimate heuristics for KinoDynamic A*? 3. How to find the motion model, neighbours, cost to go h, and cost so far g for Hybrid A*? 4. Different between Depth First Search, breath first search, and best first search algorithms? 5. How to classify graph-based search problem? |
5 |
Individual Assignments | A1: kinematically feasible path planning Implementation of the Hybrid A* for car-like ground vehicle and simulate planning in various environments Submit a report and source code: - Experimenting on different scenarios - Check problem formulation and implementation accuracy A2: Dynamically feasible path planning Implementation of the KinoDynamic A* for car-like ground vehicle and simulate planning in various environments Submit a report and source code: - Experimenting on different scenarios - Check problem formulation and implementation accuracy A2: Sampling-based path planning Develop a sampling-based path planner, RRT*, and compare with KinoDynamic A* and Hybrid A* Submit a report and source code: - Experimenting on different scenarios - Check problem formulation and implementation accuracy - Check the performance in term of reaching the goal and execution time |
15 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Quiz | 1. List down ways to solve optimal control (OCP) problems. 2. How to formulate OCP using nonlinear programming problem (NLP)? 3. Difference between multiple shooting and direct collocation? 4. Explain the hamilton Jacobi bellman (HJB) approach? 5. How to formulate optimal reference trajectory tracking using (Linear Quadratic Regulator) LQR? |
5 |
Individual Assignments | A1: Path tracking control with Model predictive control (MPC) Develop a motion planner that sends a set of control commands to the robot to follow a path. Need to design path tracking controller considering: kinematic model, trajectory generation, dynamic model, and cost, formulation Submit a report and source code: - Experimenting on different scenarios - Check problem formulation and implementation accuracy A2: Hamilton Jacobi Bellman (HJB) Approach Define jerk minimization problem and apply Linear Quadratic Regulator for tracking the trajectory. Initially, the analytical solution should be developed and develop in a Gazabo-based simulated environment Submit a report and source code: - Experimenting on different scenarios - Checking the accuracy of the trajectory tracker A2: Lagrange polynomials and Spline interpolation Apply a path planner to generate a set of intermediate waypoints and then apply Lagrange polynomials and Spline interpolation and generate trajectory Submit a report and source code: - Compare the properties of these - Check problem formulation and implementation accuracy - Compare results with nonlinear curve fitting algorithms: B-spline and Bezier |
15 |
Final assessment
Section 1
- Can be a final exam, project defence, or some other equivalent of the final exam.
- For the final assessment, students present the project work they have accomplished during the course. Below are the grading criteria for each section.
- Section 1/2/3 Mini-Project
- Need to select a topic from the provided project list, and propose the approach to solve the problem. Afterwards, need to develop and test the proposed approach in a simulated setup
- Understanding how to formulate a given motion planning problem
- Checking implementation accuracy
- Reporting on finding and difficulting while formulating and implementing the proposed approach
Section 2
Section 3
The retake exam
Section 1
- For the retake, students have to implement a given motion planning problem. First, need to formulate it with logical reasons for justifying it. Second, need to develop the proposed idea in a simulated setup. Answer a set of theoretical questions that comes from section 1, section 2, and section 3.
Section 2
Section 3