Presentation is loading. Please wait.

Presentation is loading. Please wait.

3.2 系统状态方程的解 设系统的状态方程为: 其中: ARnn , B Rnr , 从0到t 对上式进行积分可得

Similar presentations


Presentation on theme: "3.2 系统状态方程的解 设系统的状态方程为: 其中: ARnn , B Rnr , 从0到t 对上式进行积分可得"— Presentation transcript:

1 3.2 系统状态方程的解 设系统的状态方程为: 其中: ARnn , B Rnr , 从0到t 对上式进行积分可得
2019年5月2日星期四 3.2 系统状态方程的解 设系统的状态方程为: 其中: ARnn , B Rnr , 从0到t 对上式进行积分可得

2 2019年5月2日星期四 对于离散时间系统状态方程为: 其中: ARnn , B Rnr , 从0到(n –1) 对上式进行求和可得

3 考查系统初值为x (kT ), 输入为 u (t ) = u (kT ) 在时间区间kT  t  (k +1)T 上的解:
2019年5月2日星期四 3.3 连续系统状态方程的离散化 考查系统初值为x (kT ), 输入为 u (t ) = u (kT ) 在时间区间kT  t  (k +1)T 上的解: 对连续系统实行计算机控制时需要通过模数转换将连续信号转换为离散信号, 数字计算机在对采样点上的数据进行处理之后, 给出的控制量u (t ) 在采样间隔期间内保持为常值(零阶保持), 故u (t )为一阶梯信号: u [kT  t  (k +1)T ]= u (kT ) (k = 0,1,2,…) 式中T 为采样周期 . 令t = (k +1)T , 则 得离散化系统: 设线性定常系统的动态方程为

4 sysd=c2d(sysc,Ts, method) 其中: sysc: 为连续时间LTI模型; Ts: 为采样周期;
2019年5月2日星期四 MATLAB命令 c2d 功能:连续系统的离散化 格式: sysd=c2d(sysc, Ts) sysd=c2d(sysc,Ts, method) 其中: sysc: 为连续时间LTI模型; Ts: 为采样周期; sysd: 返回的带有采样时间Ts的 离散时间模型. method: 取如下字符串: ‘zoh’ —— 零阶保持 ‘foh’ —— 一阶保持 ‘tustin’ —— 双线性逼近 ‘perwarp’ —— 改进的tustin法 ‘matched’—— DISO系统零极点匹 配法 缺省时为‘zoh’

5 一个连续时间系统H (s)零阶保持(zoh)离散化Hd (z)可由下图描述 双线性逼近与带有指定频率 的双线性逼近
2019年5月2日星期四 零阶保持与一阶保持 一个连续时间系统H (s)零阶保持(zoh)离散化Hd (z)可由下图描述 双线性逼近与带有指定频率 的双线性逼近 双线性逼近(tustin)利用双线性变换 来逼近采样行为,从而将连续时间传递函数 H (s), 变为Hd (z ) = H (s ), 其中: u (t ) =u [k ] , kTs t  ( k + 1 )Ts 零阶保持后的信号u (t ) 输入到系统H (s ),系统的输出y (t )经过间隔Ts 秒的采样得到离散信号y [k ]. 带有指定频率的双线性逼近(prewarp) 利用如下变换, Hd (z ) = H (s ), 其中: 一阶保持(foh)与零阶保持不同的是: 它保证在指定频率c 处有

6 该方法使得连续系统H (s )与离散系统Hd (z )有相同的直流增义(DC gain), 他们的零极点通过下列变换相对应:
2019年5月2日星期四 例:已知连续系统模型为 SISO系统的零极点匹配法 该方法使得连续系统H (s )与离散系统Hd (z )有相同的直流增义(DC gain), 他们的零极点通过下列变换相对应: 试对系统采用零阶保持与双线性逼近变换法求离散系统方程,设采样周期Ts =1s.

7 Discrete System--using c2d with zoh a = x1 x2 x1 0.5032 -0.09957
2019年5月2日星期四 >> l7221 Discrete System--using c2d with zoh a = x x2 x x b = u1 x1 0.5 x2 0 c = x x2 y d = y1 0 Sampling time: 1 Discrete-time model. Discrete System--using c2d with tustin a = x x2 x x b = u1 x1 1 x2 0 c = y d = y Sampling time: 1 Discrete-time model. Current plot held

8 2019年5月2日星期四

9 试采用一阶保持与零极点匹配法求离散化系统方程,设采样周期为 Ts=0.5s .
2019年5月2日星期四 例 已知连续系统的零极点模型为: >> l7212 Discrete System--using c2d with foh a = x x x3 x x x b = u1 x1 1 x2 0 x3 0 c = x x x3 y d = y Sampling time: 0.5 Discrete-time model. 试采用一阶保持与零极点匹配法求离散化系统方程,设采样周期为 Ts=0.5s .

10 Discrete System--using c2d with matched a = x1 x2 x3
2019年5月2日星期四 Discrete System--using c2d with matched a = x x x3 x x x b = u1 x1 1 x2 0 x3 0 c = y d = y1 0 Sampling time: 0.5 Discrete-time model. Current plot held

11 2019年5月2日星期四

12 设采样时间为Ts =0.1, 利用一阶保持将该系统离散化
2019年5月2日星期四 例:考虑带有输入时滞Td =0.35的系统: Sampling time: 0.1 >> step(H,Hd,) 设采样时间为Ts =0.1, 利用一阶保持将该系统离散化 >> H=tf([1 -1],[1 4 5],'inputdelay', 0.35) Transfer function: s - 1 exp(-0.35*s) * s^2 + 4 s + 5 >> Hd=c2d(H, 0.1,'foh') z^ z^ z z^(-3) * z^ z^ z

13 [I + G (s)H (s)]y(s) = G (s)u (s) 当[I + G (s)H (s)]–1存在时,闭环传递函数为
2019年5月2日星期四 4. 系统状态反馈与状态观测器 系统的动态输出反馈 4.1系统的输出反馈与状态反馈 系统的静态输出反馈 由反馈连接方框图可得 [I + G (s)H (s)]y(s) = G (s)u (s) 当[I + G (s)H (s)]–1存在时,闭环传递函数为 (s) = [I + G (s)H (s)]–1 G (s) 从而闭环系统为

14 其中 R12 = I +D1D2 , R21 = I + D2D1 , 且 D1R21–1 = R12–1D2 .
2019年5月2日星期四 状态空间表示: 其中 R12 = I +D1D2 , R21 = I + D2D1 , 且 D1R21–1 = R12–1D2 . 所以传递函数[I + G (s)H (s)]可逆的充分必要条件是: det (I + D1D2) = det (I + D2D1)  0 MATLAB命令 feedback 功能:两个LTI模型的反馈连接 格式: sys= feedback(sys1, sys2) sys= feedback(sys1, sys2, sign) sys= feedback(sys1, sys2, feedin, feedout, sign) 注意: 即使G (s) 和H (s)都是可控可观的, 也不能保证反馈系统的状态空间表示是可控可观的。

15 [K,prec,message] =place(A,B,p) 其中: A,B: 为状态LTI空间模型矩阵; p: 为指定的极点向量;
2019年5月2日星期四 4.2 LTI系统的极点配置 系统的状态反馈 对于一个可控系统(A, B),极点配置就是求状态反馈 u = –Ku + v, 的矩阵K,使得(A – BK)具有给定的特征值(系统的极点)。 MATLAB命令place 功能:极点配置 格式: K=place(A,B,p) [K,prec,message] =place(A,B,p) 其中: A,B: 为状态LTI空间模型矩阵; p: 为指定的极点向量; prec: 为极点配置的精确度误差, message 如果某一非零极点与指定 极点距离值大于10%时,给 出错误信息。 从而闭环系统为

16 对系统进行状态空间实现,并将极点配置为–2,与(–1 i)
2019年5月2日星期四 例. 已知一系统传递函数为 >> l7501a System is controllable 对系统进行状态空间实现,并将极点配置为–2,与(–1 i) 首先判断系统的可控性: >> l7501b k = perc = 15 message = ''

17 试判别系统的可控性,并设计状态反馈控制器,使得闭环系统的极点为-1、-2、与(-1  i).
2019年5月2日星期四 例已知一系统的状态方程为 >> l7502 System is controllable k = >> A1=A-B*k A1 = >> eig(A1) ans = i i 试判别系统的可控性,并设计状态反馈控制器,使得闭环系统的极点为-1、-2、与(-1  i).

18 [K,prec,message] =acker(A,B,p) 其中: A,b: 为状态LTI空间模型矩阵; p: 为指定的极点向量;
2019年5月2日星期四 MATLAB命令acker 功能:SISO系统的极点配置 格式: K=acker(A,b,p) [K,prec,message] =acker(A,B,p) 其中: A,b: 为状态LTI空间模型矩阵; p: 为指定的极点向量; 说明: 该命令只用于(A, b)为单输入 单输出系统。 >> l7501c k = 例. 已知一系统传递函数为 >> eig(a-b*k) ans = i i 对系统进行状态空间实现,并用命令acker( )将极点配置为–2,与(–1 i).

19 设观测器为一个LTI系统,其输入为u和y, 输出为
2019年5月2日星期四 4.3 LTI系统的状态观测器 设观测器为一个LTI系统,其输入为u和y, 输出为 观测器理论 给定一个LTI 系统 则观测器必须有如下性质:对任意的初始条件x0 , 以及w0 有 我们希望在给定输入 u 和输出y而不知道初值 x0 的情况下,求出x(t)的渐近逼近 ,使得 定理: 观测器存在的充分必要条件为(C, A)可检测,进而可以给出这样的一个观测器为(Full order Luenberger observer): 其中矩阵 L 的选择使得 (A – LC) 为Hurwitz 矩阵。

20 证明:设存在观测器  (A, C) 可检测。不失一般性,假定系统具有可观测标准形
2019年5月2日星期四 证明:设存在观测器  (A, C) 可检测。不失一般性,假定系统具有可观测标准形 设(A, C) 可检测  存在观测器 。将y = Cx + Du 代入Luneberger 观测器 由于(A, C) 可检测,所以存在矩阵L ,使得(A + LC)为Hurwitz稳定的。从而有对任意的初始条件x0 , 以及w0 有 若(A, C) 不可检测,则A22 含有不稳定特征值,因而可选择,u=0, x1(0)=0及 x2(0)使得 的解不随时间趋于0。考虑观测器,使其初值 w(0) = 0, 则观测器的输出 明说存在观测器。 对于可观测SISO系统利用命令 L=acker(A’,C’,p)’ 求矩阵L, 使得(A + LC) Hurwitz稳定. 从而不能保证对任意的初始条件x0 , 以及w0 有 。

21 试判断系统的可观测性并设计观测器使得闭环系统极点为-10、-10。
2019年5月2日星期四 >> l7503 System is observable l = 8.5000 a = x1 x2 x x b = u1 u2 x x c = x1 x2 y y d = u1 u2 y y Continuous-time model. 例: 已知状态方程 试判断系统的可观测性并设计观测器使得闭环系统极点为-10、-10。

22 对于一个n维可观测系统(A, B, C), 当C为行满秩时,可以定义一种坐标变换x = T z,使得
2019年5月2日星期四 4.4 LTI系统的降阶观测器 对于一个n维可观测系统(A, B, C), 当C为行满秩时,可以定义一种坐标变换x = T z,使得 CT –1 = [0 I ] 而系统具有如下分块形式: 由Luenberger观测器公式可得以x1为状态的子系统的观测器为: 将y1代入 从而有

23 2) 设计全阶状态观测器使得闭环极点为-2、-3与(-2i) ; 3) 设计三阶状态观测器使得闭环极点为-3与(-2i)。
2019年5月2日星期四 所以得降阶观测器为: 1) 判别可观性; 2) 设计全阶状态观测器使得闭环极点为-2、-3与(-2i) ; 3) 设计三阶状态观测器使得闭环极点为-3与(-2i)。 这样,系统(A, B, C)的状态估计按下式求得: 例:已知系统状态方程为

24 为了设计三阶状态观测器,系统方程改写如下:
2019年5月2日星期四 >> l7504a The system is observable l = 9 42 -148 -492 alc = 为了设计三阶状态观测器,系统方程改写如下: 全阶状态观测器为

25 三阶状态观测器为: >> l7504b l = 7 -28 -92 alaz = -7 -1 0 28 0 1 92 11 0
2019年5月2日星期四 >> l7504b l = 7 -28 -92 alaz = blbu = 1 -1 ahay = -21 104 336 三阶状态观测器为:

26 所谓基于观测器的控制器就是根据观测器估计的系统状态 ,然后利用状态反馈 所构成的控制器。
2019年5月2日星期四 4.5 基于观测器的控制器 证明:注意到 和y = Cx +Du 所谓基于观测器的控制器就是根据观测器估计的系统状态 ,然后利用状态反馈 所构成的控制器。 命题:给定开环系统(A, B, C, D), 控制器 使得闭环系统恰好具有 (A – BK ) 和(A – LC ) 的特征值。 说明闭环系统恰好具有 (A – BK ) 和(A – LC ) 的特征值。

27 rsys=reg(sys,K,L,sensor, known,contrlos) 其中: sys:为受控对象状态空间模型;
2019年5月2日星期四 MATLAB命令reg 功能:给出基于观测器的控制器 格式: rsys=reg(sys,K,L) rsys=reg(sys,K,L,sensor, known,contrlos) 其中: sys:为受控对象状态空间模型; K: 状态反馈增益矩阵; L: 状态估计器增益矩阵; rsys: 返回的调节器; sensor: 传感器通道号向量; known:已知外部信号通道号向量; controls: 状态反馈增益通道号向量. 说明: 增益矩阵K、L通常可利用极点配置或二次型最优方法求得。 例:已知系统状态方程为 设计基于状态观测器的控制器,使得(A – BK ) 和(A – LC ) 的特征值分别为-1、-2、-1i 和-2、-3、-2 i 。

28 2019年5月2日星期四

29 Group name I/O Channel(s) Measurement I 1 Controls O 1
2019年5月2日星期四 b = u1 x x x x c = x1 x2 x3 x4 y d = y1 0 I/O groups: Group name I/O Channel(s) Measurement I Controls O Continuous-time model. >> l7504c System is controllable and observable k = l = 9 42 -148 -492 a = x x2 x x4 x x x x

30 对于开环系统 闭环系统具有指定的极点 说明系统不稳定,而对于闭环系统 >> eig(sys.a) ans =
2019年5月2日星期四 对于开环系统 闭环系统具有指定的极点 >> eig(sys.a) ans = 3.3166 >> step(clsys,10) 说明系统不稳定,而对于闭环系统 >> clsys=feedback(sys,rsys,+1); >> eig(clsys.a) ans = i i i i i i

31 设V : Rn R 为定义在状态空间Rn 上的函数, 5.1 概述
2019年5月2日星期四 5.稳定性分析及MATLAB仿真 函数的定性 设V : Rn R 为定义在状态空间Rn 上的函数, 5.1 概述 经典控制理论中稳定性理论依据系统特征方程的根在复平面中的分布来判断系统的稳定性,其理论基础是基于方程时域的解,这种判定稳定性的方法通常称为李亚谱诺夫第一方法;而直接依据系统运动方程来判断系统稳定性的方法称为李亚谱诺夫第二方法。 1) 称V (x )是正定的,系指对任意的非零x Rn, 有V (x ) > 0, 而V (0) = 0; 2) 称V (x )是负定的,系指对任意的非零x Rn, 有V (x ) < 0, 而V (0) = 0; 3) 称V (x )是半正定的,系指对任意的非零x Rn, 有V (x )  0; 4) 称V (x )是半负定的,系指对任意的非零x Rn, 有V (x )  0;

32 则系统在状态空间原点处的平衡态是不稳定的。
2019年5月2日星期四 5.2 李亚普诺夫意义下的稳定性理论 设系统的状态方程为 (1) V (x, t )在原点某一邻域内是 正定的; (2) 在同样的邻域内也是 则系统在状态空间原点处的平衡态是不稳定的。 原点0为系统的平衡状态 f (0, t ) = 0, 若存在具有连续一阶偏导数的标量函数V (x, t ), 满足以下条件 (1) V (x, t )是正定的; (2) 是负定的; 则系统在状态空间原点处的平衡态是一致渐近稳定的; (1) V (x, t )是半正定的; (2) 是半负定的; 则系统在状态空间原点处的平衡态是稳定的。 Lyapunov曲面V (x) Lyapunov曲线V (x (t))

33 由此可知,系统大范围渐近稳定的充分必要条件是,对于一个给定的实正定矩阵Q > 0,存在一个实正定矩阵P , 使得
2019年5月2日星期四 5.3 LTI 系统的Lyapunov稳定性分析 设连续时间系统的状态方程为: 由此可知,系统大范围渐近稳定的充分必要条件是,对于一个给定的实正定矩阵Q > 0,存在一个实正定矩阵P , 使得 ATP +PA = –Q 该式称为连续时间系统的Lyapunov方程。 其中: x Rn , A Rnn , 假定A是非奇异的,则x = 0 是系统唯一的平衡点。 设P 是实正定矩阵,构造如下Lyapunov函数 V (x ) = xTP x 将其沿系统轨迹求导:

34 由此可知,系统大范围渐近稳定的充分必要条件是,对于一个给定的实正定矩阵Q > 0,存在一个实正定矩阵P , 使得
2019年5月2日星期四 设离散时间系统的状态方程为: 由此可知,系统大范围渐近稳定的充分必要条件是,对于一个给定的实正定矩阵Q > 0,存在一个实正定矩阵P , 使得 ATP A – P = –Q 该式称为离散时间系统的Lyapunov方程。 其中: x Rn , A Rnn , 假定A是非奇异的,则x = 0 是系统唯一的平衡点。 设P 是实正定矩阵,构造如下Lyapunov函数 V (x ) = xTP x 将其沿系统轨迹求差分: 5.4 Lyapunov方程的求解 MATLAB中给出了求解连续时间和离散时间系统Lyapunov方程的函数,可以方便的调用。

35 Lyapunov方程:AX+XAT+Q = 0 Sylvester 方程: AX +XB +C = 0
2019年5月2日星期四 MATLAB命令lyap 功能:求解连续系统Lyapunov方程 格式: X=lyap(A,Q) X=lyap(A,B,C) X=lyap(A,Q,[],E) 分别求解 Lyapunov方程:AX+XAT+Q = 0 Sylvester 方程: AX +XB +C = 0 广义L方程: AXET+EXAT+Q = 0 MATLAB命令dlyap 功能:求解离散系统Lyapunov方程 格式: X=dlyap(A,Q) X=dlyap(A,B,C) X=dlyap(A,Q,[],E) 分别求解 Lyapunov方程:AXAT–X +Q = 0 Sylvester 方程: AXB –X +C = 0 广义L方程: AXAT–EXET+Q = 0 说明: 若A的特征值1, 2,  , n 和B 的特征值 1, 2 ,  n 对所有的(i, j )满足: i + j  0, 则连续Lyapunov方程有(唯一)解,若条件不满足,则lyap函数产生错误信息。 Solution does not exist or is not unique. 说明: 若A的特征值1, 2,  , n 和B 的特征值 1, 2 ,  n 对所有的(i, j )满足: i ·j  1, 则离散Lyapunov方程有(唯一)解,若条件不满足,则alyap 函数产生错误信息。 Solution does not exist or is not unique.

36 Lyapunov方程:AX+XAT +Q = 0 Sylvester 方程: AX +X B +C = 0 说明:
2019年5月2日星期四 MATLAB命令lyap2 功能:求解连续系统Lyapunov方程 格式: X=lyap2(A,Q) X=lyap2(A,B,C) 分别求解 Lyapunov方程:AX+XAT +Q = 0 Sylvester 方程: AX +X B +C = 0 说明: lyap2 采用特征值分解技术求解Lyapunov方程,当A或B有重特征值时,该方法更快更准确。(应用时注意不同版本命令的变化)。 例:已知线性定常系统如图所示 试求系统的状态方程;选择正定实正定矩阵Q后计算Lyapunov方程的解,并判定系统的稳定性。 令 u = 0, 并选择实半正定矩阵Q为: 利用lyap求解Lyapunov方程的解P , 并校验解的正定性

37 运行如下Matlab程序: b = 1 p = 12.5000 -0.0000 -7.5000 -0.0000 7.5000 -0.5000
2019年5月2日星期四 运行如下Matlab程序: b = 1 p = det1 = det2 = det3 = >> l7601 a =

38 从而 是半负定的,由P 的正定性,说明原点是稳定平衡点,而且是大范围渐近稳定的。
2019年5月2日星期四 即系统的状态方程为: 事实上取Q = I3 时,可解出 正定P。 >> l7601a a = b = 1 p = eig_p = 0.1697 Lyapunov方程的解为正定矩阵 因为 从而 是半负定的,由P 的正定性,说明原点是稳定平衡点,而且是大范围渐近稳定的。

39 计算 Lyapunov 方程的解,并利用Lyapunov 函数确定系统的稳定性,求出 Lyapunov函数。
2019年5月2日星期四 例 已知线性系统动态方程为: >> l7602 p = eig_p = 0.6910 1.8090 计算 Lyapunov 方程的解,并利用Lyapunov 函数确定系统的稳定性,求出 Lyapunov函数。 Lyapunov函数为: 调用lyap函数程序如下: 从而V (x )是正定的,而 是负定的 。因此系统原点是大范围渐近稳定的。

40 2019年5月2日星期四

41 选择Q = I , 我们需要求解如下离散时间系统的Lyapunov方程。 ATXA –X +Q = 0
2019年5月2日星期四 例. 考虑如下离散线性系统 >> l7602a p = eig_p = 1.4384 5.5616 >> a'*p*a-p ans = 试确定系统原点的稳定性。 选择Q = I , 我们需要求解如下离散时间系统的Lyapunov方程。 ATXA –X +Q = 0 说明系统在原点是大范围渐近稳定的。

42 2019年5月2日星期四 第九章 线性二次型最优控制的 MATLAB 实现

43 系统控制的目的不仅仅是使得系统稳定,在系统稳定的地同时,我们希望系统具有良好的性能。最优控制就是寻求使得系统性能最优的控制率。
2019年5月2日星期四 1. 最优控制的基本概念 设 u (t ) 在 [t0 , t1]上分段连续,所谓最优控制问题,就是寻求最优控制律,使得系统状态x (t )从已知初始状态x0 转移到要求的终端状态x(tf ),在满足如下约束条件下: (1) g (x, u, t )  0; (2) M (x (tf ), tf ) = 0, 使得性能指标 系统控制的目的不仅仅是使得系统稳定,在系统稳定的地同时,我们希望系统具有良好的性能。最优控制就是寻求使得系统性能最优的控制率。 线性系统的二次型最优控制,就是设计控制率,使得系统的二次型性能指标最小的一种设计方法,通常称为 LQ (Linear Quadratic) 最优控制. 达到极值。 其中: g (x, u, t ) 是C 1(R m ) (m  r) 函数, M (x (tf ), tf )是C 1(R s ) (s  n) 函数.  [x (tf ), tf ]与F [x(t ), u (t), t ]都是x(t)与t 的连续可微函数。 1.1 最优控制问题 设系统的状态方程为: x R n , u R r , f (x , u , t ) 连续。

44 取 F [x (t ), u (t ),t ]=|u (t )|, 则 v) 无限时间线性跟踪器
2019年5月2日星期四 1.2 最优控制的性能指标 iv)无限时间线性调节器 取tf , 且 (1)积分型性能指标 i) 最小时间控制 取 F [x (t ), u (t ),t ]=1, 其中,Q  0, R > 0, 均为加权矩阵,则 ii) 最小燃料消耗控制 取 F [x (t ), u (t ),t ]=|u (t )|, v) 无限时间线性跟踪器 其中y (t )为系统的输出向量, z (t )为系统希望输出的向量。 iii) 最小能量控制 取 F [x (t ), u (t ),t ]=u2 (t ), iii、iv、v 情况下系统的性能指标叫做二次性能指标。

45 表示系统在控制过程结束后,要求系统的终端状态x (tf )应达到某些要求,终端时刻tf 可以固定,也可以自由,视最优控制问题的性质而定.
2019年5月2日星期四 (2)末值型性能指标 1.3 最优控制问题的数学分类法 (1) 拉格朗日问题 已知 表示系统在控制过程结束后,要求系统的终端状态x (tf )应达到某些要求,终端时刻tf 可以固定,也可以自由,视最优控制问题的性质而定. 求最优控制u (t ), 使得以下性能指标 (3) 复合型性能指标 为极小。 (2) 迈耶尔问题 已知 表示对控制过程及控制过程结束后的终端状态均有要求,是最一般形式的性能指标。 但是终端状态的某些分量x (tf )与终端时刻tf 没有给定,求最优控制u (t) 使得以下性能指标为极小。


Download ppt "3.2 系统状态方程的解 设系统的状态方程为: 其中: ARnn , B Rnr , 从0到t 对上式进行积分可得"

Similar presentations


Ads by Google