IU:TestPage

From IU
Revision as of 16:14, 9 February 2023 by R.sirgalina (talk | contribs)
Jump to navigation Jump to search

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

Course Sections and Topics
Section Topics within the section
1.0 Introduction to Optimization & Variation of Calculus & Hamiltonian theory
(Optimal control) & Pontryagin’s Minimum Principle
  1. Constrained optimization
  2. Least squares fitting
  3. Least squares fitting with regularization
  4. Smoothing
  5. Penalty functions
  6. Robust estimation
  7. Feasible problems
  8. Quadratic problems
  9. Linear problems
  10. Extremum
  11. Convexity
  12. Linearization of function up to the second variation
  13. Incremental of a function
  14. Incremental of a functional
  15. Fixed value problem
  16. Free terminal point problem
  17. Fix point problem ( t f is fixed and x(tf) is free)
  18. Fix point problem ( t f is free and x(tf) is fixed)
  19. Free endpoint problem: if tf and x(tf) are uncorrelated
  20. Free endpoint problem: if tf and x(tf) are depended on each other
  21. Constrained Minimization of functions
  22. Ï Elimination method (direct method)
  23. Ï The Lagrange multiplier method: examples, general
  24. formulation
  25. Constrained Minimization of functional: Point constraints,
  26. differential equation constraints
  27. Hamiltonian
  28. The necessary condition for optimal control
  29. Boundary conditions for optimal control: with the fixed final
  30. time and the final state specified or free
  31. Boundary conditions for optimal control: with the free final
  32. time and the final state specified, free, lies on the moving
  33. point x f = θ (t f ) , or lies on a moving surface m(x(t)) )
  34. Optimal control problem
  35. Pontryagin’s Minimum Principle
  36. Optimal boundary value problem
  37. Minimizing the square of the jerk
  38. Minimizing the square of acceleration
2.0 Graph-based Path planning & Sampling-based path planning
  1. Configuration Space vs Search Space for Robot
  2. Path Planning Problem Formulation
  3. Search-based Planning: Mapping
  4. Search-based Planning: Graph
  5. Graph Searching
  6. Depth First Search
  7. Breath First Search
  8. Cost Consideration
  9. Dijkstra’s Algorithm
  10. Greedy Best First Search
  11. A*: Combination of Greedy Best First Search and Dijkstra’s
  12. Algorithm
  13. A*: Design Consideration
  14. Graph-based search problem classification
  15. KinoDynamic A*:Heuristics, Generating motion primitives,
  16. finding neighbours
  17. Hybrid A*: Motion model, finding neighbours, the cost to go h, and cost so far g
  18. Probabilistic Road Map (PRM)
  19. Rapidly-exploring Random Tree (RRT)
  20. Rapidly-exploring Random Tree* (RRT*)
  21. Pros and Cons of RRT and RRT*
3.0 Linear Quadratic Regulator (LQR) & Model Predictive Control (MPC)
& Curve Fitting & Frenet frame trajectory planning
  1. LQR Formulation
  2. LQR via least squares
  3. Hamilton Jacobi Bellman (HJB) Approach
  4. Bellman Optimality
  5. LQR with HJB
  6. Hamiltonian formulation to find the optimal control policy
  7. Linear quadratic optimal tracking
  8. Optimal reference trajectory tracking with LQR
  9. Ways to solve Optimal Control (OCP) Problems
  10. OCP Using Nonlinear Programming Problem (NLP)
  11. Model Predictive Control: Prediction model, Constraints
  12. Reference trajectory tracking
  13. Simplified Motion Model
  14. With Multiple Shooting and direct collocation
  15. Continuous nonlinear system linearization
  16. Discrete-time nonlinear system linearization
  17. Linear Time-Varying Model Predictive Control
  18. Path tracking control
  19. Path tracking control with MPC: kinematic model, trajectory
  20. generation, dynamic model, and cost, formulation
  21. n degree polynomial fitting
  22. Euler–Lagrange equation
  23. Minimum jerk trajectory (MJT) generation
  24. Quintic polynomial
  25. Lagrange polynomials
  26. Lagrange first-order, second-order, and nth-order
  27. interpolation
  28. Spline interpolation: Linear, Quadratic, and Cubic Spline
  29. Other types of curve fitting: Gradient descent, Double arc
  30. trajectory interpolation
  31. Nonlinear curve fitting
  32. Bezier curve fitting
  33. B-spline curve fitting
  34. Frenet frame
  35. Curve parameterization of the reference trajectory
  36. Estimate the position of a given Spline
  37. The road-aligned coordinate system with a nonlinear
  38. dynamic bicycle model
  39. Frenet frame trajectory tracking using a nonlinear bicycle
  40. model
  41. Transformations from Frenet coordinates to global
  42. coordinates
  43. Polynomial motion planning
  44. Frenet frame trajectory generation algorithm
  45. Calculate global trajectories

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

Activities within each section
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

  1. Can be a final exam, project defence, or some other equivalent of the final exam.
  2. For the final assessment, students present the project work they have accomplished during the course. Below are the grading criteria for each section.
  3. Section 1/2/3 Mini-Project
  4. 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
  5. Understanding how to formulate a given motion planning problem
  6. Checking implementation accuracy
  7. Reporting on finding and difficulting while formulating and implementing the proposed approach

Section 2

Section 3


The retake exam

Section 1

  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