2 系统建模
来源:互联网 发布:电力通信网络组网分析 编辑:程序博客网 时间:2024/06/06 01:39
原文链接
系统建模
- 数学模型
- 假设
- 线性化
- 系统传输函数
- 确定常数
四旋翼系统的闭环姿态控制器的设计需要系统相关的知识。这里推导了四旋翼动态模型。模型的推导基于Alexander Lebedev的硕士论文 “Design and Implementation of a 6DOF Control System for an Autonomous Quadrocopter”.
数学模型
首先,需要确定四旋翼的配置。大多数商业版本的四旋翼以X配置方式飞行。这需要一种比+-配置更复杂的控制模型,一个角度的变化,依赖四个电机的力矩。
然而,这个也有一个好处,自转可以同时由四个电机控制,这可以利用力矩的平方效果。所以,系统是用X配置。
下标b表示物体自身的坐标系统
刚体的旋转可以用欧拉方程来描述。
矩阵形式的欧拉方程可以加以推导,可以求解角度加速的问题。
定义T为电机的推力,定义H为电机的力矩,每一个电机产生的力矩tau可以如下计算:
每个电机的力矩以及对应的推力是和电机的角速度的平方成比例关系的。
这个形式可以放入推导形式的欧拉方程
推导出的形式描述了物体坐标系统下的动态行为,物体坐标系和世界坐标系的运动关系可以证明。因此,可以引出三个角度roll, pitch和yaw,这三个角度可以通过以下方程计算出来。
假设
“微小波动理论”假设四旋翼的动作,包含了关于一个稳定飞行状态的微小变化。在这个假设下,忽略了一下两点:
从其他轴的角速度上影响到的角度加速被认为是可以忽略的。
飞行方向的角度的一阶导数和物体自身角速度相等。
这个简化得到了下面这个式子
线性化
推到出的数学模型包含了非线性差分方程。按照惯例,控制器的设计只用作线性系统,所以,方程必须要线性化处理。
考虑一个转轴的推力以及一个微小变化
假定转轴产生的推力和四旋翼的重力相等
使用Taylor展开,可以使得数学模型线性化。
这就推导出了系统的线性微分方程。
系统传递函数
用PWM信号代替上式电机的转速
综合式子中的常数和转速,得到
系统传递函数的最终形式,可以把线性微分方程进行Laplace变换得到。至于飞机的偏航yaw,我们仅仅关心yaw rate的输出,相应的传递函数也可以计算出来。
确定常数
速度-推力
电机的角速度和推力的线性关系可以通过实验确定下来。
飞机的机架放在一个木板上,允许一些倾斜的移动。一条机臂上绑了螺旋桨,相对的一条机臂放在一个精确测量器上。测量到了重力等于电机产生的推力,通过声音测量仪器,可以得到电机的转速。
采用50%的脉宽冲击下的比例常数确定如下:
速度-扭矩
通过测量系统的全部能量输入(电池电压和电流的乘积)以及转速,转轴的扭矩可以计算出来。
通过改变PWM值,多次测量,可以得到比例系数。
速度-PWM
另外,PWM值(0~100%)和转轴实际角速度的线性比例关系也可以计算出来,在50%脉宽的情况下:
转动惯量
为了确定四旋翼的转动惯量,我们弄了一个简易CAD模型,基于各个独立部分的重量和外形。通过CAD软件,可以确定转动惯量。
- 2 系统建模
- 系统建模
- 系统建模
- 系统建模
- 业务建模和系统建模
- OpenGL系统设计-扩展建模(2)
- 电力系统可视化图形建模系统V1.2
- 通信系统建模与仿真 笔记2
- 课程注册系统建模
- 学籍管理系统建模
- OA系统数据库建模
- 一些三维建模系统
- 转:系统建模-上
- 转:系统建模
- 系统架构之系统建模
- OpenGL系统设计-4 三维建模(2)
- 利用Use Case为系统行为建模(2)
- C++建模实战1-高考录取系统(2)
- Codeforces-691C-Exponential notation(模拟)
- 1210
- 字符,字符集,字符编码和显示等问题
- Shell 学习(三) 数组
- 2.NavigationView
- 2 系统建模
- 安卓中Public void onCreate(Button savedInstanceState) 的意思
- gcc编译的一点小知识点
- 改成utf-8
- nyist_1005 Moo Volume
- HDU 1069 (DP)
- hdu4314(排序+dp)
- mysql安装
- Python Import机制备忘