Professional Documents
Culture Documents
Auto Vehicle Guidance PDF
Auto Vehicle Guidance PDF
Course Outline
Class website: moodle website Assessment Term project (20%) Final exam (80%) Text books
[1] Bryson. A. E. Jr. and Ho, Y.-C., Applied optimal control: Optimization, Estimation, and Control, John Wiley & Sons (Chapter 1 & 2) [2] Bertsekas, D., Dynamic programming and optimal control, Vol. 1, Athena Scientific, (Chapter 1 & 2) [3] Several journal papers (available in the moodle)
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter optimisation (Ref.1, Chapter 1) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Deterministic shortest path problem (Ref.2, Chapter 2) Optimal search: Particle swarm optimisation (Ref.3)
Introduction
Autonomous Vehicle Path Planning
Starting Location
Final Location
Introduction
Generate a path for a vehicle to follow Guidance Law
The control law for the vehicle to follow the path: Low level controller (LQR/LQG, H, etc)
Introduction
Potential function method for obstacle avoidance
Classical approach Very simple Hard to consider some tight constraints
Introduction
Clear some ambiguities in the optimisation problem
Are the initial and the final location given? Is the length of the time fixed? Are there any constraints on the velocity and the path?
Is the velocity varying or a constant? Can be the path having sharp corners? etc.
Introduction
Path planning for a mobile robot:
Introduction
Potential Function
Concept from Fluid Mechanics Flow around the obstacles or falling object by gravitational force
[Ref] Oussama Kathib, Real-Time Obstacle Avoidance for Manipulators and Mobile Robots, The International Journal of Robotics Research, Vol. 5, No. 1, Spring 1986, pp. 90-98 Similarity!
Introduction
Potential Function
Consider a case for one obstacle
where
Introduction
Newton's 2nd Law of Motion with Conservative Force
Conservative force Newton's 2nd Law of Motion
Attractive force
Repulsive force
Q. Derive it!
Introduction
Ordinary differential equations (ODE)
Assume
Introduction
Solving ODE using MATLAB function ode45
msd_ode.m
function dxdt = msd_ode(time,state, k, c)
msd_main.m
% main m-script file x0 = [1 0]; % initial condition k = 0.5; c = 0.1; ode_option = odeset('RelTol',1e-6,'AbsTol', 1e-9); [time,xout]=ode45(@msd_ode,... [0 10],x0,ode_option,k,c);
Introduction
Simulation results for two different parameter sets:
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter Optimisation (Ref.1, Chapter 1) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Deterministic shortest path problem (Ref.2, Chapter 2) Optimal search: Particle swarm optimisation (Ref.3)
Final Location
All points that satisfy 1) are called stationary points. In order to satisfy this, all eigenvalues at the point must be positive real. 1) alone is the necessary condition for u* to minimise the cost function. 1) & 2) are the sufficient condition for u* to minimise the cost function.
We need more information to decide whether the cost at the singular point is minimum or not. e.g.
where
Q. Derive
subject to
where
where
where
(2)
Q. Derive the same necessary condition for the optimality by taking derivative of the Hamiltonian as follows:
i.e, Lagrange multiplier points the opposite direction of the cost change with respect to the constraint while keeps .
Horizontal line
where the thrust is constant,
then, the minimum/maximum occurs at a point where n number of equations of the following is satisfied:
Q. Graphically, explain the reason of the above condition for 2dimensional decision variable y.
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter Optimisation (ITE, Becerra VM, 2004) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Deterministic shortest path problem (Ref.2, Chapter 2) Optimal search: Particle swarm optimisation (Ref.3)
subject to
State-Space Form
where
Initial Condition
where subject to
linearise
discretise
where
(1)
where is a row vector whose all elements are zero except the kth element, which is 1.
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter Optimisation (Ref.1, Chapter 1) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Deterministic shortest path problem (Ref.2, Chapter 2) Optimal search: Particle swarm optimisation (Ref.3)
Final Location
3) There could be some constraints on the control and the state, e.g. as follows:
where
In order to make the 1st-order perturbation equal to zero: Q. Consider initial and final conditions for various cases: e.g. -fixed/free initial state -fixed/free final state Necessary Conditions for Optimality
2n number of ODE:
The solution satisfies the initial condition for the state and the final condition for the Lagrange multiplier.
Solve the above differential equations with the estimate initial Lagrange multiplier Check whether the final value of Lagrange multiplier is equal to the final condition Adjust the estimate and repeat the procedure until it is matched.
Q1. Set up the Two-Point Boundary Value Problem (TPBVP) for the following:
subject to where
Q3. Set up the Two-Point Boundary Value Problem (TPBVP) for the following:
Q4. Show that the optimal control input for the following:
where the initial and the final times are fixed, and all initial conditions are equal to zero, is equal to
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter Optimisation (Ref.1, Chapter 1) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Deterministic shortest path problem (Ref.2, Chapter 2) Optimal search: Particle swarm optimisation (Ref.3)
Final Location
nodes
2) Construct edges such that: For example, for any point inside this cell, the closest point among the n sample points (ri for all i = 1, 2, ..., n) is r3
>> plot(vx(:,1),vy(:,1));
(3) (5)
(4)
(6)
(3) (5)
(4)
(6)
(5) 3
(5) 3
10 2 (4)
6 (6)
(3)
(5) 3
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter Optimisation (Ref.1, Chapter 1) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Optimal search: Particle swarm optimisation (Ref.3)
Control input
subject to
where
Open Loop Control: decide all control input at the initial state Closed Loop Control: decide each k-th control when the current time is k
40 30 20 10 0 1 2 3 4 5
...... ......
Purchase cost
Shortage cost
subject to
where
1) Case I:
Q. Calculate the costs for the other purchase amount cases and decide the optimal amount of purchase.
3 0
Final State
subject to
Additional Topics
Dijkstras Algorithm
http://www.youtube.com/watch?v=8Ls1RqHCOPw
Q-Learning
http://people.revoledu.com/kardi/tutorial/ReinforcementLearning/index.html http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html
Course Outline
Introduction Autonomous vehicle path planning Potential function for obstacle avoidance (Ref. 3) Continuous path planning Parameter Optimisation (Ref.1, Chapter 1) Optimisation for dynamic systems (Ref.1, Chapter 2) Discrete path planning Discretise the problem space Dynamic programming algorithm (Ref.2, Chapter 1) Optimal search: Particle swarm optimisation (Refs. 4 and 5)
Local minimum
Global minimum
However, Be careful!
An algorithm that is the best for any problem does not exist.
No Free-lunch Theorem: Always, there are set of problems that the performance of the algorithm is worse than the others.
No algorithm can be better for all problems than the uniform random sampling algorithm.
Therefore,
Understanding the properties of the problem to be solved is the most important. Choosing an appropriate algorithm is the next important factor.
where and
are the random number between 0 and 1 are the weighting factors.
How to construct the cost function corresponding to the probability of a target existence at a given location? Formulate the cost function for search mission is beyond the scope of this lecture. If you're interested in, read the following:
[Ref] J. Hespanha and H. Kizilocak., Efficient Computation of Dynamic Probabilistic Maps, In Proc. of the 10th Mediterranean Conference on Control and Automation, July 2002
Term Project
Term Project #1 (5%)
Implement the path planning algorithm using the potential function method for multiple obstacles (at least 5)
Add the following additional force for each direction
Show the simulation results for various parameter sets Discuss about the simulation results in terms of convergence Discuss about the effect of the additional force for the path planning (Hint. It gives a damping effect of the mass-spring-damper system)
Term Project
Term Project #2 (5%) - Solve the following optimisation problem for the pendulum problem using fmincon in MATLAB
Subject to
Term Project
Term Project #3 (5%)
Construct the cost matrix (A) using voronoi diagram for the path planning problem in the Term Project #1 with the number of obstacles equal to five. Obtain the shortest path using graphshortestpath function in MATLAB Bioinformatics toolbox. Draw the optimal path, obstacles, edges and nodes in 2dimensional space. Design Q-learning algorithm and run as many scenarios as possible until the cost table is completed. Solve the shortest path problem based on the obtained cost table.
Term Project
Term Project #4 (5%) Solve the optimisation problem of Term Project #2 using Particle Swarm Optimisation and compare the results with the ones of Term Project #2