Chapter10.1:非线性系统概述
Posted FUXI_Willard
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chapter10.1:非线性系统概述相关的知识,希望对你有一定的参考价值。
该系列博客主要讲述Matlab软件在自动控制方面的应用,如无自动控制理论基础,请先学习自动控制系列博文,该系列博客不再详细讲解自动控制理论知识。
自动控制理论基础相关链接:https://blog.csdn.net/qq_39032096/category_10287468.html?spm=1001.2014.3001.5482
博客参考书籍:《MATLAB/Simulink与控制系统仿真》。
1.非线性系统概述
1.1 非线性系统的特征
线性系统的重要特征:可以应用线性叠加原理;非线性系统不可以应用叠加原理;能否应用叠加原理是两类系统的本质区别;
非线性系统的运动主要有如下特点:
-
稳定性分析复杂
对于线性系统,只有一个平衡状态 y = 0 y=0 y=0,线性系统的稳定性即为该平衡状态的稳定性,且只取决于系统本身的结构和参数,与外作用和初始条件无关;
对于非线性系统,系统可能存在多个平衡状态,各平衡状态可能是稳定的,可能是不稳定的,初始条件不同,自由运动的稳定性亦不同;平衡状态的稳定性不仅与系统的结构和参数有关,且与系统的初始条件有直接关系;
-
可能存在自激振荡现象
自激振荡:指没有外界周期变化信号的作用时,系统内产生的具有固定振幅和频率的稳定周期运动,亦称自振;但线性系统在无外界周期变化的信号作用时所具有的周期运动不是自激振荡,因为线性系统产生的周期运动在外扰动作用下使系统输出发生偏离时会发生改变,不能维持周期运动;
-
频率响应发生畸变
稳定的线性系统的频率响应,即正弦信号作用下的稳态输出量是与输入同频率的正弦信号,其幅值 A A A和相位 φ \\varphi φ为输入正弦信号频率 ω \\omega ω的函数;
非线性系统的频率响应除了含有与输入同频率的正弦信号分量(基频分量)外,还含有关于 ω \\omega ω的高次谐波分量,使系统波形发生非线性畸变;若系统含有多值非线性环节,输出的各次谐波分量的幅值还可能发生跃变;
1.2 非线性系统的分析与设计方法
-
相平面法
相平面法是推广应用时域分析法的一种图解分析法;该方法通过在相平面上绘制相轨迹曲线,确定非线性微分方程在不同初始条件下解的运动形式;相平面法仅适用于一阶和二阶系统;
-
描述函数法
描述函数法是基于频域分析法和非线性特性谐波线性化的一种图解分析方法;该方法对于满足结构要求的一类非线性系统,通过谐波线性化,将非线性特性近似表示为复变增益环节,然后推广应用频率法,分析非线性系统的稳定性或自激振荡;
-
逆系统法
逆系统法是运用内环非线性反馈控制,构成伪线性系统,以此为基础,设计外环控制网络;
1.3 非线性特性的等效增益
设非线性特性表示为:
y
=
f
(
x
)
y=f(x)
y=f(x)
将非线性特性视为一个环节,环节输入为
x
x
x,输出为
y
y
y,定义非线性环节输出
y
y
y和输入
x
x
x的比值为等效增益:
k
=
y
x
=
f
(
x
)
x
k=\\fracyx=\\fracf(x)x
k=xy=xf(x)
比例环节的增益为常值,输出和输入呈线性关系;非线性环节的等效增益为变增益,因而可将非线性特性视为变增益比例环节;
-
继电特性: 继电器、接触器和可控硅等电气元件的特性通常表现为继电特性;当输入 x x x趋于零时,等效增益趋于无穷大;输出 y y y的幅值保持不变,当 ∣ x ∣ |x| ∣x∣增大时,等效增益减小, ∣ x ∣ |x| ∣x∣趋于无穷大时,等效增益趋于零;
-
死区特性: 死区特性一般由测量元件、放大元件及执行元件机构的不灵敏区造成;当 ∣ x ∣ < Δ |x|<\\Delta ∣x∣<Δ时, k = 0 k=0 k=0, k k k为 ∣ x ∣ |x| ∣x∣的增函数,且随 ∣ x ∣ |x| ∣x∣趋于无穷时, k k k趋于 k 0 k_0 k0;
-
饱和特性: 放大器及执行机构受电源电压或功率的限制导致饱和现象;当 ∣ x ∣ ≤ a |x|≤a ∣x∣≤a时,输出 y y y随输入 x x x线性变化,等效增益 k = k 0 k=k_0 k=k0;当 ∣ x ∣ > a |x|>a ∣x∣>a时,输出量保持常值, k k k为 ∣ x ∣ |x| ∣x∣的减函数,且随 ∣ x ∣ |x| ∣x∣趋于无穷而趋于零;
-
间隙特性: 齿轮、涡轮轴系的加工及装配误差或磁滞效应是形成间隙特性的主要原因;
间隙特性为非单值函数:
y = k 0 ( x − b ) , x ˙ > 0 , x > − ( a − 2 b ) k 0 ( a − b ) , x ˙ < 0 , x > ( a − 2 b ) k 0 ( x + b ) , x ˙ < 0 , x < ( a − 2 b ) k 0 ( − a + b ) , x ˙ > 0 , x < − ( a − 2 b ) y= \\begincases k_0(x-b),&\\dotx>0,x>-(a-2b)\\\\ k_0(a-b),&\\dotx<0,x>(a-2b)\\\\ k_0(x+b),&\\dotx<0,x<(a-2b)\\\\ k_0(-a+b),&\\dotx>0,x<-(a-2b) \\endcases y=⎩ ⎨ ⎧k0(x−b),k0(a−b),k0(x+b),k0(−a+b),x˙>0,x>−(a−2b)x˙<0,x>(a−2b)x˙<0,x<(a−2b)x˙>0,x<−(a−2b) -
摩擦特性: 摩擦特性是机械传动机构中普遍存在的非线性特性;图中, F 1 F_1 F1是物体运动所需克服的静摩擦力;当系统开始运动后,变为动摩擦力 F 2 F_2 F2;第三种摩擦力为黏性摩擦力,与物体运动的滑动平面相对速率成正比;
1.4 SIMULINK中的非线性模块
S I M U L I N K \\rm SIMULINK SIMULINK中的不连续系统模块库 ( D i s c o n t i n u o u s ) (\\rm Discontinuous) (Discontinuous)提供了 12 12 12种常用标准非线性模块:
- B a c k l a s h \\rm Backlash Backlash:间隙非线性;
- C o u l o m b & V i s c o u s F r i c t i o n \\rm Coulomb\\&Viscous\\ Friction Coulomb&Viscous Friction:库仑和黏度摩擦非线性;
- D e a d Z o n e \\rm Dead\\ Zone Dead Zone:死区非线性;
- D e a d Z o n e D y n a m i c \\rm Dead\\ Zone\\ Dynamic Dead Zone Dynamic:动态死区非线性;
- H i t C r o s s i n g \\rm Hit\\ Crossing Hit Crossing:冲击非线性;
- Q u a n t i z e r \\rm Quantizer Quantizer:量化非线性;
- R a t e L i m i t e r \\rm Rate\\ Limiter Rate Limiter:比例限制非线性;
- R a t e L i m i t e r D y n a m i c \\rm Rate\\ Limiter\\ Dynamic Rate Limiter Dynamic:动态比例限制非线性;
- R e l a y \\rm Relay Relay:继电非线性;
- S a t u r a t i o n \\rm Saturation Saturation:饱和非线性;
- S a t u r a t i o n D y n a m i c \\rm Saturation\\ Dynamic Saturation Dynamic:动态饱和非线性;
- W r a p T o Z e r o \\rm Wrap\\ To\\ Zero Wrap To Zero:环零非线性;
1.5 实战
实验要求:在 S I M U L I N K \\rm SIMULINK SIMULINK种,利用幅值为 1 1 1的正弦信号直接作用于限幅为 0.5 0.5 0.5的死区非线性模块,求其输出,并与输入信号进行比较。
解:
【 S I M U L I N K \\rm SIMULINK SIMULINK模型】
【 S I M U L I N K \\rm SIMULINK SIMULINK结果】
期末复习——操作系统概述 chapter(0+1)
MEMO
- OS:管理计算机硬件的软件;为应用程序提供基础;充当计算机硬件与用户之间的媒介。存于磁盘。
一个一直运行在计算机上的程序(也叫kernel内核);- 计算机系统 可以粗分为:硬件、OS、应用程序、用户;
or 硬件、软件、数据。- 计算机逻辑层次:应用程序-->系统程序-->OS-->硬件
- 程序:OS(kernel内核)、系统程序(不是内核一部分)、应用程序;
- 多核单CPU:一般情况,多核间通信共享内存。
多个单核CPU:每个CPU较为独立。- L1高速缓存:内置于CPU
- 系统程序:也叫系统工具,处于应用程序与OS交界层。
种类1. 文件管理 2. 状态信息(时间、内存、磁盘空间……) 3. 文件修改 4. 程序语言支持 5. 程序加载执行 6. 通信 7. 后台服务
OS 功能
- 用户视角:便于使用、资源管理
- 系统视角:资源分配器;控制程序(管理用户程序执行)
多道程序设计:通过合理安排使得CPU总有一个执行任务,提高CPU利用率。
因为要实现多道程序设计,OS在内存中要同时保存多个任务-->作业池 job pool
- 虚拟内存优点:用户可以执行内存大于物理内存的程序。
- 提供用户功能
- 用户界面:CLI命令行界面 or 批处理界面 e.g.GUI图形用户界面
- 程序执行:程序加载到内存中运行
- I/O操作
- 文件系统操作
- 通信:进程间(共享内存、消息传递)、网络连接的不同计算机之间
- 错误检验
- 确保系统本身高效
- 资源分配:CPU周期、I/O设备……
- 记账:记录用户使用资源的类型和数量
- 保护与安全
OS执行
现代OS是中断驱动的,陷阱(异常)是软件生成中断(可能因为一些/0错误、用户特定请求)
- 用户模式
- 内核模式:遇到陷阱or中断
中断and陷阱(异常)
- 中断(外中断):CPU指令外部事件,e.g.I/O完成、时间片到期
- 陷阱/异常(内中断):CPU指令内部事件,e.g.程序非法操作、地址越界、运算溢出、虚拟内存缺页……
系统调用
系统调用提供OS服务接口,与kernel直接相关,仅在kernel态运行。。通过中断-->向内核请求-->获取内核服务。通常用C/C++/汇编语言编写(fast)。
而API是应用编程接口,一系列定义好的函数e.g.printf()、read(),提高程序可移植性。
类型 | Windows | UNIX |
---|---|---|
进程控制 | CreateProcess() | fork() |
CreateProcess() | fork() | |
WaitForSingleObject() | wait() | |
文件管理 | CreateFile() | open() |
ReadFile() | read() | |
WriteFile() | write() | |
CloseHandle() | close() | |
设备管理 | - | - |
信息维护 | - | - |
通信 | CreatePipe() | pipe() |
CreateFileMapping() | shm_open() | |
MapViewOfFile() | mmap() |
向OS传递参数
- 利用register寄存器
- 存在块or表中,寄存器存储 块or表 的地址
- 压用堆栈,利用OS弹出
内核存储结构
- 链表、堆栈、队列
- 树(红黑树)
- 哈希函数、哈希表
- 位图:第i位与第i个资源有关。
计算机系统组成
存储结构
- 内存:(主存)CPU能访问的存储空间,易失性,断电后数据消失。ROM、DRAM、RAM、
- 外存:(辅存)断电后仍然可以保存数据,磁盘、硬盘、固态磁盘(快于磁盘)
寄存器-->高速缓存L1、L2……-->主存-->固态存储-->硬盘、、、
I/O结构
- 当程序要从硬盘读取一个文件时,先检查内存中是否有数据。若没有数据,则执行实际I/O。I/O操作执行时,用户线程将阻塞等待数据从硬盘写到内存中。对于用户来说线程是被阻塞的。
- 不中断:CPU忙等,不断轮询访问是否结束I/O,浪费CPU
- 有中断:CPU调度其他线程,I/O执行完之后,原线程发中断信号通知CPU,然后恢复进程(or线程)上下文信息。
计算机体系结构
- 单处理器系统:系统只有1个通用CPU
- 多处理器系统
- 集群系统
多处理器系统
也叫并行系统、多核系统。
-
优点
- 增加吞吐量:短期内完成更多工作
- 规模经济:共享数据等待
- 增加可靠性:如果某个核故障,可顶替
-
非对称处理系统(主从系统):高可靠性(从处理器向主处理器要任务or做预先规定任务)
-
对称处理系统SMP:现代大多OS支持,每个处理器都参与。高效
集群系统
≥2个独立系统组成,每个系统可单可多组合。松耦合。
- 对称集群:都运行程序,互相监督
复杂的应用调试 - 非对称集群:一台跑程序、一台热备份(监视活动服务器)
缺点:一台过度利用,一台没充分利用
提供高可用性服务,相比单核、SMP有更强大的计算能力-->并行计算
OS设计
用户目标and系统目标
策略与机制分离
- 策略policy:what to do
- 机制mechanism:how to do,实现
这样“实现”对功能不敏感更加可取,避免每次策略policy的改变要重定义很多很多东西。(这个好理解,和各种分层、函数道理一样)
OS常见结构
简单结构
MS-DOS:没有很好区分功能的接口and层次。
早期UNIX:两部分:内核+系统程序。发展成单片结构(UNIX、Linux、Windows仍采用简单单片结构)
分层方法
自顶向下,简化构造和调试。向上隐藏具体实现。
难点:合理定义各层、效率较差。
模块化 可加载的内核模块
现代UNIX(Solaris、Linux、Mac OS)和 Windows实现
- 核心:内核提供核心服务,其他服务在内核运行时动态实现。
微内核
Mach OS。消息传递通信模型、中断陷阱处理,都在内核内完成,大多数服务作为用户进程运行(e.g.文件服务),而不是内核进程。so一个服务出错不会影响OS其他部分。
优点:灵活利于拓展。可移植性强。安全。
采用机制、策略分离
宏内核
单内核/大内核。目前主流操作系统基于宏内核架构
混合系统
Mac OS X 和 两个移动操作系统:iOS、Android(有Dalvik虚拟机)
OS调试
故障分析
- 进程故障-->写到日志文件,OS也进行核心转储 core dump,捕获进程内存,保存到另一文件以便以后分析。
- 内核故障called崩溃 crash-->错误信息保存到日志文件,内存状态保存到崩溃转储 crash dump
OS生成
SYSGEN程序,获取硬件配置
系统引导
生成OS后,硬件需要知道内核在哪。--> 引导程序汇编语言编写,存放于固件,“固化的软件”,不是外存!!OS存放于磁盘,e.g.只读内存ROM。
引导程序定位内核,加载到内核执行。e.g.GRUB引导Linux系统。
- 开机/重启时运行,初始化各组件,定位OS,加载到内存。
以上是关于Chapter10.1:非线性系统概述的主要内容,如果未能解决你的问题,请参考以下文章
[ROS] Chinese MOOC || Chapter-10.1 Navigation Stack 10.2 move_base and plug-ins