主权项 |
一种避障约束下冗余空间机器人的混合整数预测控制方法,其特征在于:步骤(1):建立自由漂浮空间机器人的动力学模型;步骤(2):基于反馈线性化方法对步骤(1)的动力学模型进行线性化;步骤(3):根据描述的最优控制问题计算步骤(2)中线性系统的控制输入:步骤(4):将步骤(3)得到的线性系统的控制输入代入以下公式<img file="FDA0000920848270000011.GIF" wi="734" he="139" />中,得到原非线性系统的控制输入,用于对原非线性的空间机器人系统进行控制;所述步骤(1)的动力学模型是基于广义雅克比矩阵方法建立,该动力学模型如下:<maths num="0001"><math><![CDATA[<mrow><msup><mi>H</mi><mo>*</mo></msup><mover><mi>θ</mi><mo>··</mo></mover><mo>+</mo><msup><mover><mi>H</mi><mo>·</mo></mover><mo>*</mo></msup><mover><mi>θ</mi><mo>·</mo></mover><mo>-</mo><mfrac><mo>∂</mo><mrow><mo>∂</mo><mi>θ</mi></mrow></mfrac><mo>{</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mover><mi>θ</mi><mo>·</mo></mover><mi>T</mi></msup><msup><mi>H</mi><mo>*</mo></msup><mover><mi>θ</mi><mo>·</mo></mover><mo>}</mo><mo>=</mo><mi>τ</mi></mrow>]]></math><img file="FDA0000920848270000012.GIF" wi="627" he="138" /></maths>其中,H<sup>*</sup>为自由漂浮空间机器人的广义惯性张量;θ∈R<sup>n</sup>,为广义关节坐标;τ∈R<sup>n</sup>,为广义关节力矩;<img file="FDA0000920848270000013.GIF" wi="73" he="66" />表示H<sup>*</sup>对时间的导数,<img file="FDA0000920848270000014.GIF" wi="46" he="67" />为关节角速度,<img file="FDA0000920848270000015.GIF" wi="46" he="67" />为关节角加速度;所述步骤(3)中,最优控制问题描述如下:优化的目标函数为:<img file="FDA0000920848270000016.GIF" wi="1259" he="187" />优化的约束条件为:<maths num="0002"><math><![CDATA[<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>j</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>N</mi><mi>c</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mi>j</mi><mo>≥</mo><mi>N</mi><mi>c</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>f</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>u</mi><mo>)</mo></mrow><mo>,</mo><mi>j</mi><mo>≤</mo><mi>N</mi><mi>p</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>G</mi><mi>Δ</mi><mi>U</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>≤</mo><mi>g</mi><mo>+</mo><mi>c</mi><mi>ϵ</mi></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>ϵ</mi><mi>min</mi></msub><mo>≤</mo><mi>ϵ</mi><mo>≤</mo><mi>d</mi><mi>i</mi><mi>a</mi><mi>g</mi><mrow><mo>(</mo><msub><mi>ϵ</mi><mi>max</mi></msub><mo>)</mo></mrow><msub><mi>δ</mi><mi>ϵ</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>d</mi><mo>></mo><msub><mi>d</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>δ</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>+</mo><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>≤</mo><mn>1</mn><mo>,</mo><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>-</mo><msub><mi>δ</mi><mrow><mi>s</mi><mi>i</mi></mrow></msub><mo>≤</mo><mn>0</mn><mo>,</mo><mo>-</mo><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>-</mo><msub><mi>δ</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>+</mo><msub><mi>δ</mi><mrow><mi>s</mi><mi>i</mi></mrow></msub><mo>≤</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>δ</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>+</mo><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>+</mo><msub><mi>δ</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>d</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>+</mo><mi>L</mi><mrow><mo>(</mo><mi>d</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>≤</mo><mi>d</mi><mo>≤</mo><msub><mi>d</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>+</mo><mi>U</mi><mrow><mo>(</mo><mi>d</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>+</mo><mi>L</mi><mrow><mo>(</mo><mi>d</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>δ</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><mo><</mo><mi>d</mi><mo>≤</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>+</mo><mi>U</mi><mrow><mo>(</mo><mi>d</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><msub><mi>δ</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>+</mo><mi>L</mi><mrow><mo>(</mo><mi>d</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><msub><mi>δ</mi><mrow><mi>s</mi><mi>i</mi></mrow></msub><mo>≤</mo><mi>d</mi><mo>≤</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>+</mo><mi>U</mi><mrow><mo>(</mo><mi>d</mi><mo>-</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>)</mo></mrow><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>δ</mi><mrow><mi>s</mi><mi>i</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000920848270000021.GIF" wi="930" he="790" /></maths>目标函数中,ΔU<sup>*</sup>(k)为控制时域内线性系统的最优输入增量,Y(k)为预测时域内线性系统的实际输出,R(k)为预测时域内线性系统的期望输出,ΔU(k)为控制时域内线性系统的输入增量,Q和T为常数权重矩阵,ε为松弛变量,S为松弛变量对应的权重矩阵,ρ取<img file="FDA0000920848270000022.GIF" wi="841" he="75" />δ=[δ<sub>1</sub>,δ<sub>2</sub>,...δ<sub>ε</sub>,δ<sub>uf</sub>,δ<sub>sf</sub>,δ<sub>if</sub>]为引入的逻辑变量,M<sub>p</sub>为各逻辑变量相应的权重系数,δ<sub>uf</sub>,δ<sub>sf</sub>,δ<sub>if</sub>,δ<sub>si</sub>为建立避障约束时引入的逻辑变量,满足<maths num="0003"><math><![CDATA[<mrow><mo>[</mo><msub><mi>δ</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub><mo>=</mo><mn>1</mn><mo>]</mo><mo>↔</mo><mi>d</mi><mo>≤</mo><msub><mi>d</mi><mrow><mi>s</mi><mi>f</mi></mrow></msub><mo>,</mo><mo>[</mo><msub><mi>δ</mi><mrow><mi>s</mi><mi>i</mi></mrow></msub><mo>=</mo><mn>1</mn><mo>]</mo><mo>↔</mo><mi>d</mi><mo>≤</mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>,</mo><mo>[</mo><msub><mi>δ</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>=</mo><mn>1</mn><mo>]</mo><mo>↔</mo><mi>d</mi><mo>></mo><msub><mi>d</mi><mrow><mi>i</mi><mi>f</mi></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA0000920848270000025.GIF" wi="1058" he="69" /></maths>δ<sub>sf</sub>=(1‑δ<sub>uf</sub>)δ<sub>si</sub>,符号<img file="FDA0000920848270000026.GIF" wi="123" he="57" />为命题逻辑中的等价关系,Γ<sub>const</sub>为常数,M,<img file="FDA0000920848270000023.GIF" wi="38" he="59" />为模型预测控制方法下的相关矩阵;约束条件中,Nc,Np分别为模型预测控制方法下的控制时域和预测时域,u(k+j|k)表示k时刻往后j步的控制输入,x(k+j+1|k)表示k时刻往后j+1步的状态预测值,f<sub>d</sub>(x,u)由反馈线性化得到的线性模型离散化得到,c是常数矩阵,d为机械臂到障碍物最近的距离,d<sub>uf</sub>,d<sub>sf</sub>,d<sub>if</sub>为障碍物附近定义的不安全距离,安全距离以及影响距离,L,U分别表示取后边括号中函数的最小值和最大值,G,g分别为:<maths num="0004"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>G</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>Ψ</mi></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>Ψ</mi></mrow></mtd></mtr><mtr><mtd><mi>Θ</mi></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>Θ</mi></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>Θ</mi><mi>υ</mi></msub></mrow></mtd></mtr></mtable></mfenced></mrow></mtd><mtd><mrow><mi>g</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>Ω</mi><mrow><mi>N</mi><mi>c</mi></mrow></msub><msub><mi>u</mi><mi>max</mi></msub><mo>-</mo><msub><mi>Ω</mi><mrow><mi>N</mi><mi>c</mi></mrow></msub><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>Ω</mi><mrow><mi>N</mi><mi>c</mi></mrow></msub><msub><mi>u</mi><mi>min</mi></msub><mo>+</mo><msub><mi>Ω</mi><mrow><mi>N</mi><mi>c</mi></mrow></msub><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>Ω</mi><mrow><mi>N</mi><mi>p</mi></mrow></msub><msub><mi>y</mi><mi>max</mi></msub><mo>-</mo><msub><mi>Y</mi><mi>p</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>Ω</mi><mrow><mi>N</mi><mi>p</mi></mrow></msub><msub><mi>y</mi><mi>min</mi></msub><mo>+</mo><msub><mi>Y</mi><mi>p</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>D</mi><mrow><mi>υ</mi><mi>p</mi></mrow></msub><mo>-</mo><msub><mi>D</mi><mrow><mi>u</mi><mi>f</mi></mrow></msub></mrow></mtd></mtr></mtable></mfenced></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000920848270000024.GIF" wi="811" he="362" /></maths>其中,ψ,Θ<sub>υ</sub>,Ω<sub>Nc</sub>,Ω<sub>Np</sub>,D<sub>υp</sub>,D<sub>uf</sub>,Y<sub>p</sub>为建立约束时引入的相关矩阵,u<sub>max</sub>,u<sub>min</sub>分别为线性模型下控制输入能取得的最大值和最小值,y<sub>max</sub>,y<sub>min</sub>为线性模型下输出允许的最大值和最小值。 |