现代控制理论(机器人方向)习题与实践补充资料和复习说明(2019版)

版权声明:本文为zhangrelay原创文章,有错请轻拍,转载请注明,谢谢... https://blog.csdn.net/ZhangRelay/article/details/89325679
现代控制理论(机器人方向)习题与实践补充资料和复习说明(2019版)
现代控制理论正确打开方式是怎样的?

机器人/控制/学习/人工智能(OpenAI)
课程已经接近尾声(2学分-32学时),现代控制系统理论内容分为:
- 系统定量分析- 状态空间描述及其解
- 系统定性分析- 能控能观和稳定性
- 系统综合设计- 状态反馈观测估计与最优控制
其中,部分内容为自主学习部分,如最优控制和卡尔曼滤波(状态估计)。
现代控制系统实践内容分为:
- Matlab程序设计
- Python程序设计
- ROS机器人程序设计
其中,Matlab为必修并设置考核,Python和ROS为扩展讲解;
补充 OpenAI、Python Control Systems Library和Modern Robotics 。
课程实践内容以 倒立摆 为核心,进行讲解。
理论:
系统的矩阵描述, {A, B, C, D} 所代表的具体含义,A系统自身,B输入(控制),C输出(感知),D直接;
状态轨迹(解),如下图,在输入-左右轮运动-系统模型-输出-轨迹曲线;

运动轨迹?
地面机器人和空中机器人, {A, B, C, D}特性,控制的维度,感知的维度,系统的维度与矩阵线性不相关等的关联性。
思考并理解: 维度、空间、相关性、秩与系统能控性{A, B}和能观性{C, A},能量平衡与稳定性(李雅普诺夫)。
已知控制输入u,求解系统状态x,为正解;预期系统状态x,反求系统控制输入u,为逆解(系统状态x的传感器感知输出为y)。
不稳定-稳定-控制-行为-任务-规划,对自动驾驶汽车进行分析,理解其状态方程及其解,能控能观稳定性。
巧妙性与严谨性:李雅普诺夫稳定性的充分不必要? 系统状态的平方近似理解为系统的能量,是假设还是事实?
能量大于零,并且不断衰减与稳定性之间的联系?局限性在哪里?
动能:

。
零点、极点与能控性能观性稳定性之间的联系?
何为极点配置?

自动车的稳定?
如果没有支点,自行车能否保持直立放置并稳定?这个支点的作用?自行车状态的平衡如何实现?
上图为静止状态,思考骑车时候是否需要支点?( 能量的平衡<---->状态的稳定 )
动态稳定性和静态稳定性如何分析?系统可控性与系统自由度的冲突在哪里?什么样的极点配置最佳?
公式需要理解,不要死记硬背,切记,切记,切记!!!
如果上述都能掌握,可以进一步思考:
系统的状态、时间、空间、自由、稳定、控制、观测、反馈、估计、解耦、调节、优化等属性,是如何有机统一 。
实践:
新贵Python、永恒C/C++和不朽Matlab,都是必须掌握的。
倒立摆和平衡车的梗讲了太多遍了,已经厌倦了,倒立摆对于控制而言非常重要并且十分经典。
先来一段火箭发射和回收的示例吧:

发射

回收
很酷炫,有木有。

倒立摆示意
Matlab:

倒立摆演示
ROS:

Gazebo

倒立摆小车演示
以上这些控制,依据规律设计控制律,不能自我学习并改进。
OpenAI:

仿真

数值
import gym
env = gym.make('CartPole-v0')
for i_episode in range(20):
observation = env.reset()
for t in range(100):
env.render()
print(observation)
action = env.action_space.sample()