本月累计签到次数:

今天获取 积分

3

机器人控制该怎么入门?

这里指的控制是自动控制,偏向机器人运动控制一类,应该如何入门,如何在把基础功打扎实、建立完整的知识构架的原则下,高效地学习?
已邀请 :
看你究竟想搞什么了,如果只是编个程,实现一些算法,学一些嵌入式就可以了。如果你想搞控制算法研究,那下面这些学科有意义:
1.multibody system dynamics(用来Modellling)一般归在力学下。
2.control theory/cybernetics,基本是applied maths的范畴,线性方面基础需要,但是由于Robot模型基本都是nonlinear的,所以用的也不多,线性控制传统上切入是泛函和线代。非线性算法是重点,现代的描述多用微分几何。另外可能会牵涉到例如优化,算子,拓扑等等这种领域,这一块基本就是数学。
3.辅助读一些robotics专门的书(不用太多,主要是了解一些术语和意义,比如forwards/backwards kinematics, DH parameter这种,前两块是主要)。另外如有兴趣的,可以看一些SO3 group的书。
4.扩展类的,比如读一些FEM/BEM,MOR等等。

autonomous的话(比如最近比较热的cv,cl等等)主要属于CS范畴,和传统的cybernetics不是一个东西。
大概可以概括为三点:
1、传感器驱动及相关滤波算法。
2、动力系统及其闭环控制。
3、应用及人机界面

简单解释下
第一点可以让机械感知周围环境;第二点可以让机械运动并稳定的运动;第三点可以让机械有目的的运动并将状态等信息呈现给人类。

要做“机器人”,这三个领域就是基础。注意,是三个独立的领域。不但都要熟悉而且要融会贯通。
主要需要掌握的几个思想:
1. 反馈
2. 稳定性
3. 动态性能
4. 状态及其估计

当然,学这么一点是绝对不够控制真正意义上机器人的。后面的东西还很多
对于工科领域来说,脱离实践的学习都是肤浅的,对于控制这种强调经验的技术更是如此。如果去问一个程序员怎么学习一块技术,他必然让你去多编程。机器人领域也是。如果想把基本功打扎实,那么实践更是必不可少了。

对于普通学生入门来说 一款合适的机器人平台 + 入门级的控制算法进行试验。同时深入地学习相应地理论知识。

对于一个有控制基础,需要现学现用的工作者来说,啃一本诸如《现代控制工程》的书籍,在工作者演练,下面的平台内容直接略过。

关于平台的选择和相应的学习教程,我放在最后,防止大图分散了重点。

先结合机器人来说一下控制。对于设计任何一个控制系统来说,需要了解自己的输入、输出、控制元件,和算法。在一个简易的机器人系统里,分别对应的原件是:
输入 --- 传感器 (声呐,红外,摄像头,陀螺仪,加速度计,罗盘)
控制元件 --- 电机
控制算法 --- 控制板 (小到单片机,大到微机)
输出 --- 你的控制目标 (比如机器人的路径跟踪)

对这四方面都有了解之后,才能基本对机器人的控制有一个较为感性的认识。这是入门的基础。如果你对输入和输出做一个测量,比如用电机将某个轮子的转速从10加速到100,把这个测量勾画出来,那么这一个响应曲线。如何将电机准确快速地从10加速到100,这就需要一个简易的反馈控制器。
上面所说的各个传感器元件,都有廉价版可以购买学习,但随之引入的问题就是他们不精确,比如有噪声。消除这个噪声,你就需要在你的控制系统中引入更多的控制单元来消除这个噪声,比如加入滤波单元。

上面说这么多,只是想表达,理论和算法都是有应用背景的,但同时,学习一些暂时无法应用的算法也并不助于入门,甚至可能走偏门,觉得越复杂越好。所有的工程应用者都会说某某算法非常好,但是经典还是PID。倘若不亲手设计一个PID系统,恐怕真的领略不到它的魅力。我大学本科的控制课程包含了自动控制理论和现代控制理论,但是直到我设计一个四旋翼无人机的时候,才真正建立了我自己对机器人控制的理解。

要回复问题请先登录注册