[本文档首先讲述了基于线性弹簧的串联弹性驱动器的系统动力学模型,然后将其变换为状态空间模型,再通过非线性坐标变换与反馈线性化,将其变换为线性系统,并设计反馈线性化跟踪控制器。给出基于m函数的MATLAB仿真源程序和两个跟踪控制仿真图。仿真程序已经过验证,仿真表明所设计的控制器能够实现跟踪控制。本文档适合反馈线性化跟踪控制器的初学者学习使用。]基于线性弹簧的串联弹性驱动器的反馈线性化跟踪控制器设计及其MATLAB源程序和仿真图Shanda2010(百度文库)原创串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图1基于线性弹簧的串联弹性驱动器的反馈线性化跟踪控制器设计及其MATLAB源程序和仿真图作者:shanda2010(百度文库)时间:2019-10-07内容简介:基于线性弹簧的串联弹性驱动器是一种单连杆柔性机器人,即一种柔性关节装置,针对该机械装置的控制任务常常是要实现串联弹性驱动器的输出连杆的(角位置)位置跟踪控制,即使串联弹性驱动器的输出连杆位置q能够跟踪期望的输出连杆位置qd。通常情况下,基于线性弹簧的串联弹性驱动器的系统动力学模型是已知的,并且是非线性的。这里,要采用反馈线性化方法,将这个非线性系统变换成一个线性系统,再采用线性系统的控制方法来实现串联弹性驱动器的输出连杆的(角位置)位置跟踪控制。本文档内容涉及到了设置状态变量,并将基于线性弹簧的串联弹性驱动器的系统动力学一个经过验证的基于m函数的MATLAB仿真程序示例源代码串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图2模型变换为状态空间模型,然后,针对这个非线性状态空间模型,通过非线性坐标变换,李导数计算,将其变换为一个线性系统模型,然后再进行渐近跟踪控制器的设计,涉及到了跟踪控制器的参数配置,基于m函数的MATLAB跟踪控制器源程序的编写,MATLAB跟踪控制仿真图的展示。仿真表明,所设计的基于反馈线性化方法的跟踪控制器能够实现串联弹性驱动器的输出连杆角位置的跟踪控制,跟踪效果良好。关键词:串联弹性驱动器、李导数、反馈线性化、跟踪控制器、m函数、MATLAB源程序、跟踪控制仿真串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图3目录文档简介.............................................................错误!未定义书签。第一节基于线性弹簧的串联弹性驱动器的反馈线性化跟踪控制器设计................................................................................................41.1基于线性弹簧的串联弹性驱动器的系统动力学模型.....41.2基于线性弹簧的串联弹性驱动器的系统状态空间模型.51.3非线性坐标变换与反馈线性化..........................................51.4基于线性弹簧的串联弹性驱动器的反馈线性化控制器设计...................................................................................................71.5反馈线性化的控制律的设置理由及控制器参数设置方法.......................................................................................................8第二节反馈线性化跟踪控制器的MATLAB李导数计算...............9第三节反馈线性化跟踪控制器的MATLAB仿真源程序(m函数)及仿真图..........................................................................................123.2跟踪阶跃参考信号的MATLAB程序..................................123.3跟踪阶跃参考信号的MATLAB仿真图..........................193.4跟踪正弦参考信号的MATLAB程序..................................213.5跟踪时变参考信号的MATLAB仿真图..............................29串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图4第一节基于线性弹簧的串联弹性驱动器的反馈线性化跟踪控制器设计1.1基于线性弹簧的串联弹性驱动器的系统动力学模型在垂直平面内,基于线性弹簧的串联弹性驱动器是通过一个等效线性扭转弹簧由电机+减速器装置来驱动连杆沿其旋转轴运动。基于线性弹簧的串联弹性驱动器(即单连杆柔性关节机器人)的系统动力学模型如下所示:sinqsmextmmmmsgMqDqkqmgdqJDkquEmgd(1-1)基于线性弹簧的串联弹性驱动器的系统动力学模型参数定义及标称值(假设值)如表1-1所示。表1-1基于线性弹簧的串联弹性驱动器的动力学模型参数及其定义描述参数参数定义描述单位及假设数值q串联弹性驱动器的输出连杆的角位置radM输出连杆的等效转动惯量0.05kg·m2Jm电机转子+减速器+齿轮传动机构的等效转动惯量0.02kg·m2Dq输出连杆侧的等效摩擦阻尼系数1.5N·m·s/radDm弹性致动单元的等效摩擦阻尼系数5×10–2N·m·s/radm输出连杆的等效质量2kgd输出连杆的旋转中心与其质心之间的距离0.15mθ电机驱动单元侧的等效角位置radτext输出连杆上的外部负载扭矩N·mks等效弹簧的刚度系数5N·m/rad串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图51.2基于线性弹簧的串联弹性驱动器的系统状态空间模型根据式(1-1)可知,基于线性弹簧的串联弹性驱动器的系统动力学模型中出现了非线性项(由输出连杆的重力效应引起的),而控制项u仅出现在第二个方程中,所以没有简单的方法来设计一个大范围内适用的控制器。本文档采用反馈线性化方法来将这个非线性系统模型变换为线性系统模型。首先,写出串联弹性驱动器的状态空间模型。基于线性弹簧的串联弹性驱动器的系统状态空间模型为:1()()()xfxgxuyhxx(1-2)2113243141234sin()()00;01qgsextsmmmmmmmxDExkxxxMMMMfxxkxxDuxJJJqxqxxgxxxJ(1-3)1.3非线性坐标变换与反馈线性化针对式(1-3)所示的串联弹性驱动器的非线性状态空间模型,利用如下所示的非线性坐标变换和反馈线性化,将其变换为一个单输入输出型的线性系统模型。非线性坐标变换如式(1-4)所示。串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图61122334()()()()qfqqfqqfhxLhxLhxLhx(1-4)则通过采用如式(1-4)所示的非线性坐标变换,非线性状态空间模型(1-3)可以被变换为一个单输入单输出型的线性系统,如式(1-5)所示。这样,就可以采用线性系统的控制方法对其进行跟踪控制器的设计。qqqoqABvyC(1-5)其中,vq如式(1-6)所示,30gfLLhx。34qgffvLLhxuLhx(1-6)其中,状态矩阵A,输入矩阵B,输出矩阵C如式(1-7)所示。0100000100;;10000001000001ABC(1-7)在此,解释一下为什么要设置如式(1-4)的非线性坐标变换。首先,定义系统的输出1()yhxxq为1q,即1()qhxq,求1()qhxq的关于时间t的一阶导数,q为输出连杆角位置,即:10fghxqqfxgxuLhxxLhx(1-8)令2()qfLhxq,求2()qfLhxq的关于时间t的一阶导数,即22()0fffgfLhxLhxqqxfxgxuLhxxxLLhx(1-9)串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图7令23()qfLhxq,求23()qfLhxq的关于时间t的一阶导数,即22332()0fffgfLhxLhxqqxfxgxuLhxxxLLhx(1-10)令34()qfLhxq,求34()qfLhxq的关于时间t的一阶导数,即334433()0fffgfgfLhxLhxqqxfxgxuLhxLLhxuxxLLhx(1-11)至此,如果令43()qfgfvLhxLLhxu,则有:11212322433344()()()()qqqfqqqqqfqqqqqfhxLhxLhxvLhx(1-12)至此,通过定义式(1-4)所示非线性坐标变换,可将式(1-2)所示的非线性状态空间模型变换为如式(1-5)所示线性系统模型。1.4基于线性弹簧的串联弹性驱动器的反馈线性化控制器设计为实现渐近跟踪控制,定义控制律qv为:324321qdqdfqdfqdfqdvqkqLhxkqLhxkqLhxkqhx(1-13)控制输入u的表达式为:324321433()0qdqdfqdfqdfqdqfgfgfvqkqLhxkqLhxkqLhxkqhxvLhxuLLhxLLhx(1-14)串联弹性驱动器的反馈线性化跟踪控制器设计及MATLAB源程序和仿真图8其中,dq,dq,dq,dq,dq分别为期望的输出连杆角位置,期望位置的一阶时间导数,期望位置的二阶时间导数,三阶时间导数和四阶时间导数。1.5反馈线性化的控制律的设置理由及控制器参数设置方法至此,解释一下为什么要将控制律qv设置为:324321qdqdfqdfqdfqdvqkqLhxkqLhxkqLhxkqhx以及控制律qv中的控制参数如何设置。根据前面所述,令43()qfgfvLhxLLhxu,则qvq,则有:3243214321qdqdfqdfqdfqddqdqdqdqdvqqkqLhxkqLhxkqLhxkqhxqkqqkqqkqqkqq定义跟踪误差为qdeqq,则432143210qqqqqqqqqekekekeke(1-15)为实现渐近跟踪控制,控制器增益系数的选择应使得特征方程(1-16)满足Hurwitz条件。43243210qqqqqpssksksksk(1-16)至此,完成了控制器的设计,包括控制器参数的设置。因为基于线性弹簧的串联弹性驱动器是一个四阶的非线性系统,而经过四次求导后,将非线性系