天天看點

機器人控制相關部落格收集 - 待看人機協作機器人關鍵技術之零力控制實作方案對比分析MATLAB機器人力控制機器人力控制概述Robotics(1):阻抗控制和導納控制淺析

控制系統目标:

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

繼續閱讀