# learn_control **Repository Path**: pi-lab/learn_control ## Basic Information - **Project Name**: learn_control - **Description**: 一步一步学控制 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-17 - **Last Updated**: 2025-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一步一步学控制 控制技术通过传感器获取自身、环境信息,通过传统、智能决策方法生成控制指令,从而让机器、无人装备实现自主完成各类任务。传统的控制方法仅仅研究控制方法本身,但是并未将感知、决策等进行有机整合,因此面对日益复杂的无人装备,显现出了巨大的局限。本教程一步一步引导大家学会如何通过感知到的信息实现更高智能程度的控制。 automatic-control-systems_1 ## 1. 为什么要研究自动控制 在学习自动控制相关的课程的时候,我们总会疑惑:学习这个知识有什么用? 在课本中,常常会花费巨大的篇幅教我们去解决一个问题。这个问题往往是在过往大量的工程实践中遇到的,这个解决方法也是十分有效且可靠的。但是作为学生的我们初次接触自动控制,之前并没有遇到那些课本中需要解决的问题,因此更没法明白为什么要解决这个问题了。所以自然而然地会觉得学习的只是没有用了。 研究自动控制的根本目的,就是希望能让期望被控制的对象能快速且可靠的听从我们的命令。我们希望被控对象可以更快更稳的实现我们的指令。因此我们需要先了解**被控对象**,需要研究被控对象的**输入与输出的关系**。就像是我们在开车前需要知道踩了油门会发生什么,踩了刹车会发生什么才能开好车一样。 研究系统的输入与输出之间的关系有很多种办法,最简单的一种就是去实验,测量出这个系统在所有输入下的输出。但是对于大部分系统而言,它的输出不止于当前时刻的输入有关,还会与之前的输入有关。大量的测试会耗费大量的精力和财力。那么有没有什么办法能先验的知道系统输入与输出之间的关系呢?我们面对的系统总是各种各样的物理系统,对于这些系统我们总是可以借助物理定律来用数学来描述被控对象。但是此时通过物理定律是通过大量的微分方程来描述被控对象的。这还是很复杂。那么有什么办法来让输入与输出之间的关系更加清晰吗?这就是**Laplace变换**和**传递函数**要解决的问题了。我们会在第二章更详细的说说这些有趣的数学方法,这里只给一个简单的解释:通过Laplace变换可以将复杂的卷积简化成简单的乘法,此时要研究被控对象输入与输出的关系就变得很简单了。 我们不难发现,Laplace变换只能对连续实践系统下使用;但是当我们使用计算机对被控对象进行控制时,我们的控制往往是不连续的,此时Laplace变换为基础的控制理论就没法解决这些问题了,我们需要**Z变换**的帮助了。Z变换研究了当系统的输入与输出在时间上时离散的时,我们该如何研究它输入与输出之间的关系。 以上对控制系统的描述都基于Laplace变换的(我们可以认为Z变换是Laplace变换在离散实践系统下的特殊情况),但是Laplace变换的积分和微分性质(后面的章节再详细说说这是什么)就决定了它无法研究系统在初始状态不为0时的反应。在这之后人们发现可以用**状态方程组**来描述一个系统的性能。这是一个很优雅的方法,与传递函数的办法相比状态方程组的办法解决了一些问题,它对系统描述的更完善了,但是也带来了一些问题。 在解决了对系统描述的问题后,如何使用我们获得的系统描述来设计一个可靠且快速的控制系统呢?基于传递函数进行的控制器设计将在第三章叙述;在哪里我们会介绍经典的**pid控制算法**,以及如何进行改进。 上述所描述的控制理论和数学基础有这样的对应关系(只包括我有过了解的): | 数学基础 | 控制课程 | | ------------ | ------------------------ | | 信号与系统 | 自动控制理论(传统控制) | | 数字信号处理 | 计算机控制理论 | | 线行系统理论 | 现代控制理论 | ## 2. 学习资料 1. [数学基础](./数学基础.md) 2. [PID控制](./PID控制.md) 3. [MPC控制](./ModulePredictiveControl.md) 4. [轮腿机器人控制](./轮腿机器人控制.md) ## 参考 ### 相关教程 - [《一步一步学编程》](https://gitee.com/pi-lab/learn_programming) - [《一步一步学SLAM》](https://gitee.com/pi-lab/learn_slam) - [《一步一步学ROS》](https://gitee.com/pi-lab/learn_ros) - [《一步一步学硬件》](https://gitee.com/pi-lab/learn_hardware) - [《一步一步学飞控》](https://gitee.com/pi-lab/research_flight_controller) * 飞行器 - 环境 - 一体化仿真系统 - https://gitee.com/pi-lab/research_uav_cv_simulation * 无人机自主飞行 - https://gitee.com/pi-lab/uav-autonomous-flight ### 相关硬件 - 步进电机两轮平衡小车 [https://item.taobao.com/item.htm?id=539848806991](https://gitee.com/link?target=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fid%3D539848806991) - 倒立摆 LQR 动量轮 [https://item.taobao.com/item.htm?id=669434997194](https://gitee.com/link?target=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fid%3D669434997194) - WHEELTEC平衡方块 [https://detail.tmall.com/item.htm?id=645051088356&skuId=4820527970371](https://gitee.com/link?target=https%3A%2F%2Fdetail.tmall.com%2Fitem.htm%3Fid%3D645051088356%26skuId%3D4820527970371) - 独轮平衡车 [https://item.taobao.com/item.htm?id=568179818192](https://gitee.com/link?target=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fid%3D568179818192) - 自平衡自行车 [https://item.taobao.com/item.htm?id=566889846395](https://gitee.com/link?target=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fid%3D566889846395) - 球平衡机器人 [https://item.taobao.com/item.htm?id=564184170186](https://gitee.com/link?target=https%3A%2F%2Fitem.taobao.com%2Fitem.htm%3Fid%3D564184170186)