发明名称 一种欠驱动机械臂系统的PD平衡控制方法
摘要 本发明提供一种欠驱动机械臂系统的PD平衡控制方法,包括:欠驱动机械臂系统的控制器发出电压信号,启动直流电机,直流电机输出转矩信号控制主驱动臂和欠驱动臂从垂直向下的初始位置摆起至目标平衡位置;用主驱动臂的编码器和欠驱动臂的编码器分别实时检测主驱动臂的输出角度和欠驱动臂的输出角度,判断主驱动臂和欠驱动臂是否偏离目标平衡位置,是,则对欠驱动机械臂系统进行PD平衡控制,控制主驱动臂和欠驱动臂保持在目标平衡位置;否则保持当前直流电机的输出转矩,使主驱动臂和欠驱动臂保持在目标平衡位置。本发明通过控制器进行控制信号与反馈信号的综合,实现欠驱动机械臂的控制,加快响应速度,扩大抗干扰空间,提高摆臂的稳态精度。
申请公布号 CN104166347B 申请公布日期 2017.04.12
申请号 CN201410385207.5 申请日期 2014.08.06
申请人 东北大学 发明人 王良勇;崔文娟;柴天佑;迟瑛
分类号 G05B13/04(2006.01)I;G05D3/12(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 沈阳东大知识产权代理有限公司 21109 代理人 朱光林
主权项 一种欠驱动机械臂系统的PD平衡控制方法,其特征在于:包括以下步骤:步骤1:欠驱动机械臂系统的控制器发出电压信号,启动直流电机,直流电机输出转矩信号控制主驱动臂和欠驱动臂从垂直向下的初始位置摆起至目标平衡位置;步骤2:用主驱动臂的编码器和欠驱动臂的编码器分别实时检测主驱动臂的输出角度和欠驱动臂的输出角度,判断主驱动臂和欠驱动臂是否偏离目标平衡位置,是,则执行步骤3;否则保持当前直流电机的输出转矩,使主驱动臂和欠驱动臂保持在目标平衡位置;步骤3:对欠驱动机械臂系统进行PD平衡控制,控制主驱动臂和欠驱动臂保持在目标平衡位置;步骤3.1:根据欠驱动机械臂系统的动力学模型,分别针对直流电机的转矩信号和主驱动臂的输出角度、直流电机的转矩信号和欠驱动臂的输出角度,建立并联的主驱动臂线性模型和欠驱动臂线性模型,求得主驱动臂线性模型的输出角度和欠驱动臂线性模型的输出角度:<maths num="0001"><math><![CDATA[<mrow><msubsup><mi>q</mi><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>A</mi><mi>i</mi></msub><mo>(</mo><msup><mi>z</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>)</mo><mo>)</mo></mrow><msub><mi>q</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><msub><mi>B</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>z</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>)</mo></mrow><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001179580260000011.GIF" wi="856" he="63" /></maths>其中:i=1,2,i=1表示主驱动臂,i=2表示欠驱动臂;<img file="FDA0001179580260000012.GIF" wi="172" he="63" />是线性模型的输出角度;q<sub>i</sub>(k+1)是编码器检测到的输出角度;u(k)为直流电机的转矩信号;A<sub>i</sub>(z<sup>‑1</sup>)、B<sub>i</sub>(z<sup>‑1</sup>)为表征欠驱动机械臂系统动力学特性的参数,z<sup>‑1</sup>是后移算子,A<sub>i</sub>(z<sup>‑1</sup>)=1+a<sub>i1</sub>z<sup>‑1</sup>+a<sub>i</sub>2z<sup>‑2</sup>,B<sub>i</sub>(z<sup>‑1</sup>)=b<sub>i0</sub>+b<sub>i1</sub>z<sup>‑1</sup>,未知参数a<sub>il</sub>,a<sub>i2</sub>,b<sub>i0</sub>,b<sub>i1</sub>通过欠驱动机械臂系统动力学特性线性化求得;步骤3.2:将主驱动臂的编码器检测到的主驱动臂的输出角度与主驱动臂线性模型的输出角度的差值作为主驱动臂的虚拟未建模动态,欠驱动臂的编码器检测到的欠驱动臂的输出角度与欠驱动臂线性模型的输出角度的差值作为欠驱动臂的虚拟未建模动态:<maths num="0002"><math><![CDATA[<mrow><msub><mi>v</mi><mi>i</mi></msub><mo>&lsqb;</mo><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>=</mo><msub><mi>q</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msubsup><mi>q</mi><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001179580260000013.GIF" wi="568" he="61" /></maths>步骤3.3:根据主驱动臂线性模型、欠驱动臂线性模型、直流电机的转矩信号、主驱动臂的虚拟未建模动态和欠驱动臂的虚拟未建模动态建立欠驱动机械臂系统的离散数学模型:A<sub>i</sub>(z<sup>‑1</sup>)q<sub>i</sub>(k+1)=B<sub>i</sub>(z<sup>‑1</sup>)u(k)+v<sub>i</sub>[x(k)]其中,v<sub>i</sub>[x(k)]是虚拟未建模动态;步骤3.4:建立虚拟未建模动态补偿的PD控制模型:H<sub>i</sub>(z<sup>‑1</sup>)u<sub>i</sub>(k)=R<sub>i</sub>(z<sup>‑1</sup>)w<sub>i</sub>(k)‑G<sub>i</sub>(z1)q<sub>i</sub>(k)‑K<sub>i</sub>(z<sup>‑1</sup>)v<sub>i</sub>[x(k‑1)]式中:H<sub>i</sub>(z<sup>‑1</sup>),R<sub>i</sub>(z<sup>‑1</sup>),G<sub>i</sub>(z<sup>‑1</sup>),K<sub>i</sub>(z<sup>‑1</sup>)为虚拟未建模动态补偿的PD控制模型参数,H<sub>i</sub>(z<sup>‑1</sup>)=(1+h<sub>i</sub>z<sup>‑1</sup>),h<sub>i</sub>是待定系数;R<sub>i</sub>(z<sup>‑1</sup>)=G<sub>i</sub>(z<sup>‑1</sup>)=g<sub>i0</sub>+g<sub>i1</sub>z<sup>‑1</sup>,g<sub>i0</sub>=K<sub>pi</sub>+K<sub>di</sub>,g<sub>i1</sub>=‑K<sub>di</sub>,K<sub>pi</sub>和K<sub>di</sub>是比例系数和微分系数;u<sub>i</sub>(k)为虚拟未建模动态补偿的PD控制模型的输出,即主驱动臂的直流电机的转矩信号或者欠驱动臂的直流电机的转矩信号;w<sub>i</sub>(k)是当前k时刻的目标平衡位置;q<sub>i</sub>(k)是当前k时刻编码器检测到的输出角度;v<sub>i</sub>[x(k‑1)]为k‑1时刻的虚拟未建模动态;步骤3.5:根据主驱动臂的编码器检测的主驱动臂的输出角度和欠驱动臂的编码器检测的欠驱动臂的输出角度、直流电机的转矩信号求解k‑1时刻的虚拟未建模动态:<img file="FDA0001179580260000021.GIF" wi="513" he="67" />式中:<img file="FDA0001179580260000022.GIF" wi="827" he="67" />是k时刻线性模型的输出角度;步骤3.6:将虚拟未建模动态补偿的PD控制模型代入欠驱动机械臂系统的离散数学模型,得到欠驱动机械臂系统的闭环方程:[A<sub>i</sub>(z<sup>‑1</sup>)H<sub>i</sub>(z<sup>‑1</sup>)+z<sup>‑1</sup>B<sub>i</sub>(z<sup>‑1</sup>)G<sub>i</sub>(z<sup>‑1</sup>)]q<sub>i</sub>(k+1)=B<sub>i</sub>(z<sup>‑1</sup>)G<sub>i</sub>(z<sup>‑1</sup>)w<sub>i</sub>(k)+[H<sub>i</sub>(z<sup>‑1</sup>)‑B<sub>i</sub>(z<sup>‑1</sup>)K<sub>i</sub>(z<sup>‑1</sup>)]y<sup>i</sup>[x(k‑1)]+H<sub>i</sub>(z<sup>‑1</sup>)Δv<sub>i</sub>[x(k)]式中:Δv<sub>i</sub>[x(k)]=v<sub>i</sub>[x(k)]‑v<sub>i</sub>[x(k‑1)];步骤3.7:采用闭环极点配置方法确定虚拟未建模动态补偿的PD控制模型参数H<sub>i</sub>(z<sup>‑1</sup>)、R<sub>i</sub>(z<sup>‑1</sup>)和G<sub>i</sub>(z<sup>‑1</sup>);步骤3.8:令H<sub>i</sub>(z<sup>‑1</sup>)‑B<sub>i</sub>(z<sup>‑1</sup>)K<sub>i</sub>(z<sup>‑1</sup>)=0,使得K<sub>i</sub>(1)=H<sub>i</sub>(1)/导(1),确定虚拟未建模动态补偿的PD控制模型参数K<sub>i</sub>(z<sup>‑1</sup>);步骤3.9:根据建立的虚拟未建模动态补偿的PD控制模型得到虚拟未建模动态补偿的PD控制模型的输出,进而得到直流电机的转矩信号u(k):u(k)=αu<sub>1</sub>(k)+βu<sub>2</sub>(k)式中:α和β是线性加权系数;步骤3.10:根据得到的直流电机的转矩信号调整直流电机的输出转矩,将主驱动臂和欠驱动臂控制在目标平衡位置。
地址 110819 辽宁省沈阳市和平区文化路3号巷11号