1.一种基于非线性PID的四旋翼飞行器控制方法,包括以下步骤:步骤1,建立四旋翼飞行器的动态系统,初始化系统参数、采样时间以及控制参数;四旋翼飞行器系统的动力学模型表达式形式为:
(1)
其中, 为飞行器在惯性坐标系中的位置坐标; 代表飞行器的欧拉角,分别为滚转角、俯仰角和偏航角;l为飞行器旋翼末端到飞行器质心的距离;m为飞行器的负载总重量;I1、I2、I3分别为俯仰角、偏航角和滚转角方向的转动惯量;K1、K2、K3、K4、K5、K6分别为x坐标、y坐标、z坐标、俯仰角、偏航角和滚转角方向的助力系数;u为假设的中间控制输入,其定义为
(2)
其中,b为升力系数,Ω1、Ω2、Ω3、Ω4分别为第1、2、3、4个旋翼的转速,d为反扭矩系数;
步骤2,确定控制系统采用的控制方式为双闭环的控制方法,外环为位置控制系统,内环为姿态控制系统;
由于系统为欠驱动控制系统,控制器不能够同时对6个自由度都进行跟踪控制,设定控制的目标为航迹和滚转角,同时稳定另外两个角度;
系统的控制目标为x趋于0,y趋于0,z趋于 ,趋于 ,即四旋翼飞行器为定高,定姿态飞行模式;
控制过程先确定位置控制PID参数,再确定姿态控制PID参数,过程如下:
2.1根据四旋翼的动力学模型,位置控制的输入为 ,定义设计的控制输入结构形式为
其中, , , ,为设定的目标高度;
对Z轴控制使用前馈补偿的控制方法,前馈补偿部分为 ;
2.2姿态控制为内环控制,采用前馈补偿的方法,设计得到的输入为 (5)
式中, , 为别为设定的俯仰角、偏航角和滚转角;
2.3计算非线性误差,控制输入设计为其中, ,而fal函数为
即将 分别做为参数 带入函数 ,将分别做为参数 带入函数 ,将计算得到的结果作为非线性误差项代入式(4)和式(5);
2.4计算非线性系数,设计 参数为其中, 均为正常数;
sech为MATLAB环境下的双曲正割函数,exp为MATLAB环境下的指数函数;
步骤3,确定四旋翼飞行器的参数,选择参数 的值,完成控制器的设计。