## **2. 什么是过程控制**
在SE中,我们控制方块是通过在编程块中设置方块的某些属性。
编程块中的代码,运行一次就结束。
如果你想一次性的把所有推进器推力设为10,那事情就到此结束了。
但我们最终目的是实时的控制推进器的出力,这样才能让飞船有起步有减速的精确停在我们指定的位置。
所以我们要让编程块不停的运行,最快频率是每秒60次(和SE的物理运算频率相同),下文中统一将编程块的一次运行称为一帧
在这种情况下,应该用瞬时性的角度去编写程序。
`$ 推进器出力 = 目标位置 - 飞船当前位置 $`
这就是一个瞬时性的观念。<br>
我们把 (目标位置 - 飞船当前位置) 看做误差。
`$ 推进器出力 = 误差 $`
在编程块中,只要飞船运动了,每一帧获取到的误差值是不同的。
当误差大,推进器推力就大,误差减小以后,推进器的推力就减小,越过目标以后,推进器推力就为负数(反向)。
而让推进器的推力与误差相关,就是一种瞬时性的概念。
简而言之就是这个关系不需要考虑**时间**这个变量。<br>
其实这个公式已经可以解决一部分问题了。但是它还不够好,原因是它会不可避免的产生**震荡**。
- 序言
- 写在前面的话
- 太空工程师
- MEA小组
- 一、入门
- 1.1 基础概念
- 1.2 编程工具
- 1.3 变量
- 1.4 函数 Function
- 1.5 基本语法
- 1.5.1 运算符
- 1.5.2 if
- 1.5.3 for
- 1.5.4 其他语法
- 1.3 类 Class
- 二、编程块
- 2.1 方块的概念
- 2.2 List<T>结构
- 2.3 获取方块
- 2.4 方块的使用
- 三、Ship 类
- 3.1 简介
- Ship v0.5
- 代码
- 手册(待更新)
- 例子(待更新)
- Ship v1.0
- 代码
- 例子
- 文档
- 实例化
- 内置变量
- 内置方法
- Target类
- 四、运动控制算法在SE中的应用
- 4.1 运动控制介绍
- 4.2 过程控制
- 4.3 震荡和动态误差
- 4.4 误差累加方案
- 4.5 PID算法
- 4.6 对PID算法的一点点简化
- 4.7 一阶惯性系统的PID算法优化的研究
- 五、MEA方块类
- 5.0 核心代码目录
- v1.0核心代码
- v1.1 核心代码
- v2.0 核心代码
- 5.1 类的概念
- 5.2 MEA的方块类(Block)
- 5.3 方块类文档
- 5.4 方块类2.0 全教程
- 5.4.1 安装和使用
- 5.4.2 方块类(Block)
- 5.4.3 显示屏类(DisplayScreen)
- 5.4.4 LCD类(LCD)
- 5.4.5 主控座椅类(Cockpit)
- 六、疯猴的编程笔记
- 第一个程序
- 获取和控制其他块
- 物流与生产
- 界面与通信
- 运动与姿态
- 侦测与导航
- 七、SteamZhou的笔记
- 有趣而花里胡哨的IDEA
- 八、质子对撞炮的笔记
- 属性 Property
- 接口 interface