【机器人控制架构】控制系统架构【控制流程图、控制算法】
系列文章目錄
提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動添加
TODO:寫完再整理
文章目錄
- 系列文章目錄
- 前言
- 一、運動控制系統架構(參考一)
- 1.控制框圖
- 2.控制原理
- (1)前向通道的控制原理
- (2)反饋通道的控制原理
- 二、運動控制系統架構(參考二)
- 1.控制框圖
- 2.控制流程原理
前言
認知有限,望大家多多包涵,有什么問題也希望能夠與大家多交流,共同成長!本文先對**控制系統架構【控制流程圖、控制算法】**做個簡單的介紹,具體內容后續再更,其他模塊可以參考去我其他文章
提示:以下是本篇文章正文內容
控制系統的設計是把各個相關功能的控制器聯系起來,使得每個控制器共同協助完成機器人穩定且高動態運動控制的目標
控制對象不一樣,相應的控制系統也不一樣,下面我已足式機器人控制架構例子作為介紹
由于碩士畢設內容相關,細致的控制方法和思想等大論文通過后再分享出來,這里僅僅介紹一下控制結構的概念
過段時間續新~
目前針對四足機器人的控制問題依然沒有通用的框架和算法,雖然很多方法都經過實驗驗證,但找到一種高效通用的控制框架和算法依然是四足機器人研究的重難點問題【防盜標記–盒子君hzj】
四足機器人本質上作為移動機器人的一個分支,其控制系統除了運動控制外,還應包括環境感知、人機交互等部分
足式機器人運動控制的方法多種多樣,【防盜標記–盒子君hzj】每年也有許多新的方法發表出來,如基于動力學模型的優化控制,很難用單一的結構去描述所有的控制系統
機器人是一個復雜的系統沒有一種算法能控制所有的狀態,【防盜標記–盒子君hzj】都是根據對應的需求設計對應的控制器,在通過邏輯接口把各各控制器串聯起來
控制器的設計直接決定了機器人的運動能力,是各個子系統中最重要的部分
一、運動控制系統架構(參考一)
1.控制框圖
黃色區域表示控制架構中的控制部分,紅色區域表示控制架構中的反饋部分,被控對象可以是仿真環境中的四足機器人虛擬模型,也可以是實際的物理樣機
2.控制原理
(1)前向通道的控制原理
控制指令通過遙控器發送給控制器。控制器接收到控制指令后,首先將其轉換成控制變量及步態類型。之后步態與相位控制器結合當前步態、系統時鐘時間 、各腿與地面實際接觸狀態 、各腿與地面實際接觸狀態計算出當前每條腿的控制狀態以及相位 。【防盜標記–盒子君hzj】之后控制器將根據每條腿的控制狀態為機器人各條腿選擇合適的控制器。若,則表明該條腿當前處于支撐相,將為其運行地面接觸反力控制器。若,【防盜標記–盒子君hzj】則表明該條腿當前處于擺動相,將為其運行擺動腿軌跡規劃控制器。之后地面接觸反力控制器與擺動腿軌跡規劃控制器的結果,將被統一發送至腿控制器。【防盜標記–盒子君hzj】腿控制器會將腿坐標系下期望的位置、速度與力參數 ,映射成為關節空間下的位置、速度與扭矩參數 。最后關節控制器將全部計算為發送給執行器的扭矩指令
(2)反饋通道的控制原理
機器人反饋的原始數據采集于仿真環境或機器人本體上的傳感器。之后這些原始數據將會被處理。其中,機器人關節反饋的位置 、速度 、力矩參數被發送給關節控制器用于電機控制,關節控制器再將位置 、速度 、力矩參數上傳給腿控制器,【防盜標記–盒子君hzj】將其映射成為腿工作空間下的參數后發送給狀態估計器。另一部分反饋參數,如IMU 反饋的機身姿態 、加速度 、角速度 ,以及足底接觸傳感器反饋的地面接觸狀態 將會被直接發送給狀態估計器。【防盜標記–盒子君hzj】狀態估計器將這些反饋參數進行濾波后發送給控制器部分。
.
.
二、運動控制系統架構(參考二)
,我自己的最初版本,非畢設控制結構(已改進),后續更
1.控制框圖
將控制系統進行解耦,劃分為多個分立的控制器,每個控制器相互獨立,使得每個控制器各施其職,且優化升級單個控制器功能,其他控制器不需要進行大程度的更改;控制器通過接口實現控制器的數據交換,通過數據之間流動關系體現出來
2.控制流程原理
手柄輸入軀干的期望命令軌跡指令后,運動控制規劃層會生成軀干期望軌跡狀態,運動控制優化層同時會根據運動學/動力學模型和狀態估計器估計當前軀干狀態和腿部接觸狀態,【防盜標記–盒子君hzj】軀干當前狀態和期望狀態會有一個偏差,偏差輸入MPC控制器,MPC控制器經過計算輸出一個反作用力、軀干位置軌跡指令、腿的位置指令,使得期望狀態和當前狀態重合在一起。【防盜標記–盒子君hzj】WBC控制器根據MPC控制器計算的反作用力、軀干位置軌跡指令、腿的位置指令來計算得到電機輸出的期望位置、期望速度、和力矩,再經過步態切換器,把這三個量送到電機,電機控制器執行并反饋一樣的信息輸入到狀態估計器,狀態估計器得到新的期望狀態,形成閉環
(1)用戶通過游戲手柄給定平移速度和轉彎速率,【防盜標記–盒子君hzj】把這些兩個命令+狀態估計器估計的軀干位置和速度傳遞給期望軌跡生成器,期望軌跡生成器生成平滑且可控制的軀干質心CoM參考狀態軌跡,【防盜標記–盒子君hzj】參考狀態軌跡是根據狀態估計器反饋的軀干位置和速度和用戶給定平移速度和轉彎速率組合優化得到的
(2)如果腿處于站立狀態,則調用支撐力控制器,根據建立單剛體模型的運動方程,使用PD控制律計算期望的軀干質心加速度和角加速度【防盜標記–盒子君hzj】,再通過QP(二次規劃)求解器求解單剛體動力學模型運動方程,得到較理想的地面反作用力,再通過牛頓第三定律得到軀干相對于地面上的作用力,再通過運動學雅可比矩陣靜態力分配的方法計算出支撐腿每個關節的輸出力矩,此時電機接收的力矩命令;
(3)如果腿處于騰空狀態,則調用騰空力控制器,【防盜標記–盒子君hzj】先計算出擺動腿的關鍵點(起點、中間點、落點,其中落點參考了Raibert的估計公式),再通過貝塞爾曲線的方法生成足端軌跡曲線,再對足端軌跡曲線進行插值和求導,得到足端離散的位置和速度軌跡信息,最后根據足端離散的位置和速度軌跡信息,使用PD控制器生成關節力矩,【防盜標記–盒子君hzj】此時電機接收的位置和速度命令,因為阻抗控制(PD控制)是在電機固件實現的(阻抗控制的關節力矩包括前饋力矩+反饋力矩,前饋力矩通過動力學建模得到,反饋力矩通過位置和速度PD控制器融合的阻抗控制得到,這里的P可以理解成阻抗控制的彈簧系數【防盜標記–盒子君hzj】,D可以理解成阻抗控制的質量慣性系數,建模時忽略了電機齒輪等摩檫力,故這個PD控制器可以理解成沒有阻尼的阻抗控制器)
(4)同時,狀態估計器估計軀干的狀態,這里的狀態估計沒有用到卡爾曼濾波器,狀態估計的第一階段先使用同時使用IMU陀螺儀和加速度計讀數估計軀干方向;【防盜標記–盒子君hzj】狀態估計的第二階段使用估計的軀干方向以及腿部的運動學測量來估計基本位置和速度,從而將對身體朝向的估計與對身體位置和速度的估計解耦,【防盜標記–盒子君hzj】狀態估計其中還包含了對足端接觸布爾值的估計,同時把估計的狀態反饋給期望軌跡生成器
(5)同時,步態規劃切換器使用基于相位周期進行步態切換,決定每條腿在該相位的支/擺狀態,根據站立周期規劃處機器人的不同步態【防盜標記–盒子君hzj】
(6)同時機器人的可視化數據也會反饋給仿真動力學引擎進行實時仿真及GUI顯示
總結
以上是生活随笔為你收集整理的【机器人控制架构】控制系统架构【控制流程图、控制算法】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 团队和做的直观图_直观,可靠的日期和时间
- 下一篇: SpringBoot后台管理系统框架