第一篇:浅谈基于SolidWorks 和ANSYS 的一种四旋翼飞行器旋翼的设计及分
1、前言
四旋翼无人飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器, 因其起飞降落所依赖空间小, 及姿态保持能力强等优点, 在军事和民用多个领域都有广阔的应用前景。四旋翼飞行器采用四个旋翼作为飞行的直接动力源,旋翼对称分布在机体的前后、左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,旋翼1 和旋翼3 逆时针旋转,旋翼2 和旋翼4 顺时针旋转,四个旋翼的设计对四旋翼无人飞行器的最大载重和平衡性有着重要关系,由于我们无法直观的用肉眼分析旋翼设计是否能够满足要求,所以笔者采用ANSYS 对一种四旋翼飞行器的螺旋桨进行设计及分析,由于ANSYS 三维建模效率低,因此采用SolidWorks 进行设计后,再导入ANSYS 进行相关分析和处理。
2、旋翼模型建立及调用
四旋翼飞行器螺旋桨主要是由SolidWorks 软件建立三维模型。将模型体在SolidWorks 中另存为X_T 格式,然后启动ANSYS 软件,在对话框中导入四旋翼飞行器旋翼模型X_T 文件。定义单元类型,采用三维实体单元,然后定义材料属性,定义弹性模量为 8.3 GPa,泊松比为 0.28,密度为 1180 kg/m3,接下来对旋翼模型进行网格划分。再在模型上添加面1、面2 为固定面。同时在xcomponent、y component、z component 三栏分别输入0。在inertial中Rotation Velocity 栏中的magnitude 中输入参数60,即角速度60rad/s。以螺旋桨中心孔的轴线为旋转轴。在后处理阶段选择solution 工具栏的stress 中的Equivalent, 以观察等效应力。选择solution 工具栏的strain 中的Equivalent, 以观察等效应变。选择solution 工具栏的Deformation 中的total, 以观察总应变。
3、ANSYS 分析
结合四旋翼飞行器螺旋桨以60rad/s 转动时的应力图、应变图及总的应变。我们可以看出螺旋桨螺旋桨的应力分布,其中颜色有蓝色到红色逐渐增加。我们可以看出螺旋桨螺旋桨的应变分布,其中颜色有蓝色到红色逐渐增加,应变可以看出与应力大致吻合。我们可以看出螺旋桨螺旋桨的总应变分布,其中颜色有蓝色到红色逐渐增加。分析可以得出旋翼设计安全可靠。
4、结束语
本文以四旋翼飞行器螺旋桨为研究对象,先用SolidWorks 软件对四旋翼飞行器螺旋桨进行建模,然后将SolidWorks 模型导入ANSYS中进行螺旋桨的受力分析,最后得出四旋翼飞行器螺旋桨的所受的应力图、应变图及总的应变,为螺旋桨的结构优化提供了必要的参数。
第二篇:关于四旋翼飞行器的心得
关于四旋翼飞行器的心得
对于飞行器或者航模之类的映像,是在高中时期,学校有航模小组,经常可以看到拿着航模的学生在进行试飞,当时心中感觉“航模”是非常有意思并且“高科技”。如今已经历高考进入大学,在学校的为我们安排的导师制计划中,非常幸运的加入无人机航拍飞行器小组,关于四旋翼飞行器,在查阅了相关资料后,有了一定的了解。
四旋翼飞行器也称为四旋翼直升机,是一种有4个螺旋桨且螺旋桨呈十字形交叉的飞行器。Seraphi 是一款可用于空中拍摄的一体化多旋翼飞行器,它外观时尚精美,做工精湛,还拥有集成了自身研发的飞行动力系统,并配置专业的无线电遥控系统。Seraphi集成易作、易维护的稳定设计,在出厂前已经设置并调试所有的飞行参数及功能,具有免安装、免调试的快速飞行模式。Seraphi 携带方便,可以搭配GoPro或者其它微型相机录制空中视频。
记得在TED的讲座中,有一期叫做“TED-红遍全球的的炫酷飞行器”,这个讲座说明了四旋翼飞行器的一些特点。1.时尚精美、做工精湛。Seraphi外观时尚精美,做工精湛,还拥集成了自身研发的飞行动力系统,并配置专业的无线电遥控系统。2.集成易作、易维护的稳定设计。Seraphi集成易作、易维护的稳定设计。Seraphi 携带方便,可以搭配GoPro或者其它微型相机录制空中视频。3.自由切换多种飞行模式。Seraphi内置自身研发的飞行控制系统,具备多种飞行模式,可以根据不同的飞行需要以及不同的飞行环境进行实时的智能切换以达到不一样的飞行体验。4.方向控制灵活。Seraphi具备自身研发飞控系统,方向控制灵活。在通常飞行过程中,可以根据需要,进行灵活纵。
制作航拍飞行器能够让培养我们的团队合作意识,拓宽我们的知识领域,同时让我们动手实践的能力得到提升,相信这次经历肯定能成为我的大学生活中最值得回忆的事情之一。
第三篇:动态系统建模(四旋翼飞行器仿真)实验报告
动态系统建模(四旋翼飞行器仿真)
实验报告
院(系)名称
大飞机班
学号
学生姓名
任课教师
2011年
X月
四旋翼飞行器的建模与仿真
一、实验原理
I.四旋翼飞行器简介
四旋翼飞行器通过四个螺旋桨产生的升力实现飞行,原理与直升机类似。四个旋翼位于一个几何对称的十字支架前、后、左、右四端,如图1-1所示。旋翼由电机控制;整个飞行器依靠改变每个电机的转速来实现飞行姿态控制。
在图1-1中,前端旋翼1
和后端旋翼3
逆时针旋转,而左端旋翼2
和右端的旋翼4
顺时针旋转,以平衡旋翼旋转所产生的反扭转矩。由此可知,悬停时,四只旋翼的转速应该相等,以相互抵消反扭力矩;同时等量地增大或减小四只旋翼的转速,会引起上升或下降运动;增大某一只旋翼的转速,同时等量地减小同组另一只旋翼的转速,则产生俯仰、横滚运动;增大某一组旋翼的转速,同时等量减小另一组旋翼的转速,将产生偏航运动。
图1-1
四旋翼飞行器旋翼旋转方向示意图
从动力学角度分析,四旋翼飞行器系统本身是不稳定的,因此,使系统稳定的控制算法的设计显得尤为关键。由于四旋翼飞行器为六自由度的系统(三个角位移量,三个线位移量),而其控制量只有四个(4
个旋翼的转速),这就意味着被控量之间存在耦合关系。因此,控制算法应能够对这种欠驱动(under-actuated)系统足够有效,用四个控制量对三个角位移量和三个线位移量进行稳态控制。本实验针对四旋翼飞行器的悬浮飞行状态进行建模。
II.飞行器受力分析及运动模型
(1)整体分析
如图1-2所示,四旋翼飞行器所受外力和力矩为:
Ø
重力mg,机体受到重力沿-Zw方向
Ø
四个旋翼旋转所产生的升力Fi(i=1,2,3,4),旋翼升力沿ZB方向
Ø
旋翼旋转会产生扭转力矩Mi
(i=1,2,3,4),Mi垂直于叶片的旋翼平面,与旋转矢量相反。
图1-2
四旋翼飞行器受力分析
(2)电机模型
Ø
力模型
(1.1)
旋翼通过螺旋桨产生升力。是电机转动力系数,可取,为电机转速。
Ø
力矩模型
旋翼旋转产生旋转力矩Mi(i=1,2,3,4),力矩Mi的旋向依据右手定则确定。
(1.2)
是电机转动力系数,可取为电机转速。
Ø
转速模型
当给定期望转速后,电机的实际转速需要经过一段时间才能达到。实际转速与期望转速之间的关系为一阶延迟:
(1.3)
响应延迟时间可取0.05s(即)。期望转速则需要限制在电机的最小转速和最大转速之间,范围可分取[1200rpm,7800rpm]。
(3)运动方程
飞行器受到外界力和力矩的作用,形成线运动和角运动。线运动由合外力引起,符合牛顿第二定律,如公式(1.4)所示:
(1.4)
r为飞机的位置矢量。注意:公式(1.4)是在地平面坐标系中进行描述的。
角运动由合力矩引起。四旋翼飞行器所受力矩来源于两个方面:1)旋翼升力作用于质心产生的力矩;2)旋翼旋转产生的扭转力矩。角运动方程如公式(1.5)所示。其中,L
为旋翼中心建立飞行器质心的距离,I
为惯量矩阵。
(1.5)
III.控制回路设计
控制回路包括内外两层。外回路由Position
Control
模块实现。输入为位置误差,输出为期望的滚转、俯仰和偏航角。内回路由Attitude
Control
模块实现,输入为期望姿态角,输出为期望转速。Motor
Dynamics
模块模拟电机特性,输入为期望转速,输出为力和力矩。Rigid
Body
Dynamics
是被控对象,模拟四旋翼飞行器的运动特性。如图1-3
图1-3
包含内外两个控制回路的控制结构
(1)内回路:姿态控制回路
对四旋翼飞行器,我们唯一可用的控制手段就是四个旋翼的转速。因此,这里首先对转速产生的作用进行分析。假设我们希望旋翼1的转速达到,那么它的效果可分解成以下几个分量:
:使飞行器保持悬停的转速分量;
:除悬停所需之外,产生沿ZB轴的净力;
:使飞行器负向偏转的转速分量;
:使飞行器正向偏航的转速分量;
因此,可以将期望转速写成几个分量的线性组合:
(1.6)
其它几个旋翼也可进行类似分析,最终得到:
(1.7)
在悬浮状态下,四个旋翼共同的升力应抵消重力,因此:
(1.8)
此时,可以把旋翼角速度分成几个部分分别控制,通过“比例-微分”控制律建立如下公式:
(1.9)
综合式(1.7)、(1.8)、(1.9)可得到期望姿态角-期望转速之间的关系,即内回路。
(2)外回路:位置控制回路
外回路采用以下控制方式:
Ø
通过位置偏差计算控制信号(加速度);
Ø
建立控制信号与姿态角之间的几何关系;
Ø
得到期望姿态角,作为内回路的输入。
期望位置记为。可通过PID
控制器计算控制信号:
(1.10)
是目标悬停位置是我们的目标悬停位置(i=1,2,3),是期望加速度,即控制信号。注意:悬停状态下线速度和加速度均为0,即。
通过俯仰角和滚转角控制飞行器在XW和YW平面上的运动,通过控制偏航角,通过控制飞行器在ZB轴上的运动。对(1.4)进行展开,可得到:
(1.11)
根据上式可按照以下原则进行线性化:
(1)将俯仰角、滚转角的变化作为小扰动分量,有,,(2)偏航角不变,有,其中初始偏航角,为期望偏航角(3)在悬停的稳态附近,有
根据以上原则线性化后,可得到控制信号(期望加速度)与期望姿态角之间的关系:
(1.12)
根据式(1.10)已经通过PID
控制器得到了作为控制信号的期望加速度,因此,将(1.12)式反转,由期望加速度计算期望姿态角,作为内回路的输入:
(1.13)
二、实验步骤
I.搭建Simulink仿真控制回路
根据实验原理中运动方程及控制回路设计,搭建Simulink控制回路,如图2-1所示。主要分为五个部分:Position
Control(由期望的位置误差通过控制律设计计算出期望的姿态角),Attitude
Control(由姿态角信息和各轴角速度信息通过控制律计算出给电机的控制信号),Motor
Dynamics(通过给电机的控制信号由电机模型计算出每个电机的输出力和力矩),Rigid
Body
Dynamics为四旋翼飞行器的仿真模型,由产生的力和力矩计算出仿真模型的姿态和位置信息,VR
Sink为四旋翼飞行器的虚拟显示模型。
图2-1
仿真Simulink模型
下面给出每个子系统的仿真结构图及控制律设计部分。
图2-2
Position
Control子系统
图2-3
位置PID控制器结构
图2-4
Attitude
Control子系统
图2-5
姿态角和三轴角速度之间的转换关系
图2-6
Motor
Dynamics子系统输出力及力矩模型
图2-7
Rigid
Body
Dynamics子系统
II.利用V-Realm
Builder建立四旋翼飞行器的虚拟模型
利用V-Realm
Builder建立四旋翼飞行器的大致虚拟模型,并建立四个父类分别为Simulink输入提供质心位移信息和机体姿态信息,如图2-8所示。
图2-8
四旋翼飞行器虚拟模型
III.利用MATLAB
GUI建立四旋翼飞行器仿真的控制界面
利用MATLAB
GUI建立仿真控制界面,所建立的控制界面如图2-9所示。
图2-9
MATLAB
GUI仿真控制界面
界面主要分为四个部分,Struct
Parameters
Panel设置飞行器的结构参数和外部变量,Desired
Position
Panel设置期望控制飞行器所到达的位置,Control
Parameters
Panel设置PID控制律所需的增益参数和仿真时间,Plot
Panel显示仿真结果图形并对图形效果进行简单的控制。
三、仿真结果
运行GUI,输入所需参数或者采用默认参数,点击load
data按钮分别将三组参数载入,点击Start按钮,仿真开始运行。跳出VR显示,并在仿真结束后绘制飞行器三方向的坐标信息曲线和飞行器位置曲线。VR显示过程中某一时刻如图3-1所示,仿真结束后控制界面显示的曲线如图3-2所示。期望达到的目标点设置为(10,15,20)。
图3-1
VR显示四旋翼飞行器运动状态
图3-2
四旋翼飞行器控制平台
四、总结与体会
由仿真结果可以看出,四旋翼飞行器最终位置达到了期望给定的位置,三个方向的响应曲线最终平稳,对应飞行器悬停在期望位置,达到了控制要求。本次试验收获很多,学习到了很多知识,熟悉了SIMULINK由简至繁搭建系统的过程,学习了利用V-Realm
Builder建立虚拟模型,并在SIMULINK中连接,也熟悉了MATLAB
GUI界面的编写和搭建过程。
第四篇:新手四旋翼算法总结
新手四旋翼算法总结 一.姿态结算(匿名版程序)
首先,程序中一般用了两种求解姿态的方法,一种为欧拉角法,一种为四元数法
(1)欧拉角法静止状态,或者总加速度只是稍微大于g时,由加计算出的值比较准确。
使用欧拉角表示姿态,令Φ,θ和Φ代表ZYX 欧拉角,分别称为偏航角、俯仰角和横滚角。载体坐标系下的 加 速 度(axB,ayB,azB)和参考坐标系下的加速度(axN, ayN, azN)之间的关系可表示为(1)。其中 c 和 s 分别代表 cos 和 sin。axB,ayB,azB就是mpu读出来的三个值。
这个矩阵就是三个旋转矩阵相乘得到的,因为矩阵的乘法可以表示旋转。
ccaxBayBcsssc azBsscsccsccssssccsssaxNayN(1)scccazNaxN0ayN0(2)azNg飞行器处于静止状态,此时参考系下的加速度等于重力加速度,即
把(2)代入(1)可以解的
arctg(axBaa2yB2zB)(3)
arctgayB(4)azB即为初始俯仰角和横滚角,通过加速度计得到载体坐标系下的加速度即可将其解出,偏航角可以通过电子罗盘求出。
(2)四元数法(通过处理单位采样时间内的角增量(mpu的陀螺仪得到的就是角增量),为了避免噪声的微分放大,应该直接用角增量-------抄的书)
上匿名的程序
void IMUupdate(float gx, float gy, float gz, float ax, float ay, float az){
float norm;// float hx, hy, hz, bx, bz;
float vx, vy, vz;// wx, wy, wz;
float ex, ey, ez;
// 先把这些用得到的值算好
float q0q0 = q0*q0;
float q0q1 = q0*q1;
float q0q2 = q0*q2;// float q0q3 = q0*q3;
float q1q1 = q1*q1;// float q1q2 = q1*q2;
float q1q3 = q1*q3;
float q2q2 = q2*q2;
float q2q3 = q2*q3;
float q3q3 = q3*q3;
if(ax*ay*az==0)
return;
norm = sqrt(ax*ax + ay*ay + az*az);
//acc数据归一化
ax = ax /norm;
ay = ay / norm;
az = az / norm;
// estimated direction of gravity and flux(v and w)
vx = 2*(q1q3q1q1az*vy);
//向量外积在相减得到差分就是误差
ey =(az*vxay*vx);
exInt = exInt + ex * Ki;
//对误差进行积分
eyInt = eyInt + ey * Ki;
ezInt = ezInt + ez * Ki;
// adjusted gyroscope measurements
gx = gx + Kp*ex + exInt;
//将误差PI后补偿到陀螺仪,即补偿零点漂移
gy = gy + Kp*ey + eyInt;
gz = gz + Kp*ez + ezInt;
//这里的gz由于没有观测者进行矫正会产生漂移,表现出来的就是积分自增或自减
// integrate quaternion rate and normalise
//四元素的微分方程
q0 = q0 +(-q1*gxq3*gz)*halfT;
q1 = q1 +(q0*gx + q2*gzq1*gz + q3*gx)*halfT;
q3 = q3 +(q0*gz + q1*gy2 * q3* q3 + 1)* 57.3;// yaw
Q_ANGLE.Y = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3;// pitch
Q_ANGLE.X = atan2(2 * q2 * q3 + 2 * q0 * q1,-2 * q1 * q1q0q2);
/
vy = 2*(q0q1 + q2q3);
vz = q0q0q2q2 + q3q3;可以看到vx,vy,vz为CRb的最后一列的三项,四元数矩阵带入(1)式得vx,vy,vz分别是axB,ayB,azB每一项g前的系数。且静止情况下vx,vy,vz组成向量模长基本可以认为为1.3.norm = sqrt(ax*ax + ay*ay + az*az);
//acc数据归一化
ax = ax /norm;
ay = ay / norm;
az = az / norm;以上已说,由四元数倒推回去的加速度,向量模长为1,为了比较误差进行归1化,算的由加计得出的向量。4.ex =(ay*vzax*vz);
ez =(ax*vyq2*gyq3*gy)*halfT;
q2 = q2 +(q0*gyq2*gx)*halfT;对四元数进行跟新,这里用的是方程的数值解法,求得的解释近似解,总之就是跟新了四元数 8.
norm = sqrt(q0*q0 + q1*q1 + q2*q2 + q3*q3);
q0 = q0 / norm;
q1 = q1 / norm;
q2 = q2 / norm;
q3 = q3 / norm;对四元数进行规范化,即化为模长为1,因为只有规范化的四元数才能表示刚体旋转。9.
Q_ANGLE.Y = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3;// pitch
Q_ANGLE.X = atan2(2 * q2 * q3 + 2 * q0 * q1,-2 * q1 * q1ACC_OFFSET.X;MPU6050_ACC_LAST.Y=((((int16_t)mpu6050_buffer[2])<< 8)| mpu6050_buffer[3])ACC_OFFSET.Z;MPU6050_GYRO_LAST.X=((((int16_t)mpu6050_buffer[8])<< 8)| mpu6050_buffer[9])GYRO_OFFSET.Y;MPU6050_GYRO_LAST.Z=((((int16_t)mpu6050_buffer[12])<< 8)| mpu6050_buffer[13])-GYRO_OFFSET.Z;
这里还要说一点,这里加速计的数据用的是滑动平均值滤波法 void Prepare_Data(void){ static uint8_t filter_cnt=0;int32_t temp1=0,temp2=0,temp3=0;uint8_t i;
MPU6050_Read();MPU6050_Dataanl();
ACC_X_BUF[filter_cnt] = MPU6050_ACC_LAST.X;ACC_Y_BUF[filter_cnt] = MPU6050_ACC_LAST.Y;ACC_Z_BUF[filter_cnt] = MPU6050_ACC_LAST.Z;for(i=0;i temp1 += ACC_X_BUF[i]; temp2 += ACC_Y_BUF[i]; temp3 += ACC_Z_BUF[i];} ACC_AVG.X = temp1 / FILTER_NUM;ACC_AVG.Y = temp2 / FILTER_NUM;ACC_AVG.Z = temp3 / FILTER_NUM;filter_cnt++;if(filter_cnt==FILTER_NUM)filter_cnt=0; GYRO_I.X += MPU6050_GYRO_LAST.X*Gyro_G*0.0001;GYRO_I.Y += MPU6050_GYRO_LAST.Y*Gyro_G*0.0001;GYRO_I.Z += MPU6050_GYRO_LAST.Z*Gyro_G*0.0001;} 资料在附带文件中。 一、谈话导入。 师:上节课我们学习了怎样制作自转旋翼,这节课我们接着来研究一些有趣的问题(板书课题)。 二、活动探究。 1、放飞自转旋翼。 学生分组让自己的自转旋翼飞起来。 2、学生在观察后说一说:刚才我们放飞的自转旋翼在下降时有什么不同? 学生交流。 3、请两名同学将自己的自转旋翼给大家演示一下? 学生观察后回答:哪个在空中停留的时间更长呢?(学生说)为什么这个旋翼会下降得慢一些呢?我们一起来观察一下。 4、(把两个旋翼摆放到展台上)学生认真观察两个自转旋翼,试着找出它们的不同。 学生说一说他们的不同。 5、讨论:你们认为影响自转旋翼下降快慢的因素有哪些呢? 师:这些是我们做出的猜想。我们怎样才能知道这些猜想对不对呢?(验证) 6、小组讨论怎样进行验证。 代表汇报。 7、小组实验验证。(学生分组验证,老师巡视指导) 8、验证结束以后,请每个小组先在小组内部交流,然后派出两个代表带着制作的旋翼和研究的结果上台演示交流。(学生交流的同时补充板书) 三、总结评价。 教师引导学生对各组的学习情况进行评价。第五篇:科学三年级自转旋翼教学设计