机器人控制相关博客收集 - 待看

 

控制系统目标:

1)跟踪性能(Tracking Performance)好

2)抗扰动性(Diturbance Rejection)强

3)稳健性(Robustness)


机器人控制硬件
层次控制体系:基本都可以归结为5层的层次体系:
1)主机(Host),
2)运动控制器(Motion Controller),
3)伺服驱动器(Servo Driver),
4)电机(Motor),
5)机构(Mechanism )。
      主机:主要完成人机交互(操作员控制或者调试机器),高级运算(机器人运动规划等)。由于需要高等运算功能,这部分算法通常是基于操作系统的,硬件载体用通用计算机即可。
      运动控制器:主要用于改善机器人动力学(Robot Dynamics)。机器人的机械本身并不具备跟踪轨迹的能力,需要外加控制来改善。由于需要大量的实时运算,这部分通常是基于实时操作系统,比如QNX等,硬件载体可以用ARM或其他。比如,工业界的工业机器人主要使用运动反馈(Motion Feedback),也即将驱动器配置为位置控制或者速度控制模式,此时运动控制器的主要用于补偿传动系统非线性性,例如:由于齿轮间隙、微小弹性变形导致的末端偏移。
      伺服驱动器:主要用于改善电机动力学(Motor Dynamics)。由于电机本身物理特性并不具备良好的位置、速度和力矩跟踪能力,因此需要依靠控制来改善。这部分需要更高的实时性能,因为电机的响应速度快,需要us级定时,所以可以使用高性能DSP。比如,直流有刷电机中转子速度正比于反向电动势、力矩正比于电枢电流,而没有物理量能够直接控制位置,此时需要外加位置控制器。
      电机:充当执行器,将电信号转化为机械运动。
      机械本体:被控制的终极对象。

 


控制算法

机器人控制理论:机器人臂的两个比较经典而常用的方法:混合力位控制和阻抗控制。
          混合力/位控制(Hybrid Force/Position Control)Mark Raibert(现今Boston Dynamics老板)和John Craig于70s末在JPL的工作成果,当时他们是在Stanford臂上做的实验,研究例如装配等任务时的力和位置同时控制的情况。
           阻抗控制(Impedance Control)N.Hogan的工作成果。维纳晚年,对人控制机器臂很感兴趣。后来,他组织了MIT的Robert Mann,Stephen Jacobsen等一伙人开发了基于肌肉电信号控制的假肢臂,叫Boston Elbow。后来,Hogan继续Mann的工作,他觉得假肢是给人用的,不应当和工业机器人一样具有高的刚度,而应该具有柔性,所以后来引入了阻抗。

算法的编写:可以说算法就是个编程问题。基本的编程语言能力,比如MATLAB、C、C++是必须的。设计好算法之后,还需面对另外几个问题:
           离散化问题(Discretization):连续算法的离散化是必要的,因为如今计算机都是数字系统。对于线性系统,比如电机控制,方法当然就是从s域(传递函数)到z域(Z变换)再到t域(差分方程)的变换,非线性的就得研究微分方程的各种数值方法了。
           混合控制问题(Hybrid Control):几乎当前所有的机器人控制系统都不仅有一个控制模式,比如:回初始位置、运动控制模式、人工试教模式等等,每个模式需要特殊的控制算法。单个系统存在多个控制器时被称为混合控制系统,混合控制系统常常使用有限状态机(Finite State Machine, FSM)建模,状态机的切换需注意一些问题,比如芝诺问题。
           通信问题(Communication):通常机器人系统都包含几十个,甚至上百个传感器以及几个到十几个驱动器,通信时常是个头疼的问题。问题的复杂性源于:通信对象多(并发问题),顺序需要协调(时序问题),通信的速率需要兼顾(阻塞问题)。个人倾向于使用基于“事件驱动模型”+“有限状态机模型”的混合模型来处理此类问题。

 

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


         上面所说的各个传感器元件,都有廉价版可以购买学习,但随之引入的问题就是他们不精确,比如有噪声。消除这个噪声,你就需要在你的控制系统中引入更多的控制单元来消除这个噪声,比如加入滤波单元。

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

 

关于工业机器人控制系统,这几方面内容你必须掌握;中国3C电子智造行业优秀的机器人供应商推荐
https://blog.csdn.net/np4rHI455vg29y2/article/details/80073788

 

人机协作机器人关键技术之零力控制实现方案对比分析

https://blog.csdn.net/quyunfei/article/details/50375455

 

MATLAB机器人力控制

https://blog.csdn.net/weixin_39090239/article/details/90270357

 

机器人力控制概述

https://blog.csdn.net/gotouchtech/article/details/84845372

 

Robotics(1):阻抗控制和导纳控制浅析

https://blog.csdn.net/u011389706/article/details/79446940

 

 

 

你可能感兴趣的:(robot)