在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于MATLAB 中的機械臂算法分析和介紹

MATLAB ? 來源:djl ? 作者:MathWorks ? 2019-09-11 14:58 ? 次閱讀

前面,我們講了機械臂的運動學(kinematics)(點擊藍字查看):正向運動學和反向運動學。

正向運動學指的是在已知機械臂各個關節角度的情況下,推算end-effector(機械臂終端)的位置和方向(合稱pose)。反向運動學指的是在已知end-effector的位置和方向,推算各個機械臂的關節角度。我們主要研究反向運動學。

讓我們看一下基于反向運動學的控制邏輯圖:

關于MATLAB 中的機械臂算法分析和介紹

在給出機械臂的end-effector的pose后,反運動學模塊計算出各個關節所需要的角度,然后通過電機產生力矩(torque)去執行。在此期間,通過反饋(feedback)去消除一些控制誤差。

但是,事實上會有很多的干擾因素存在。例如:

地球引力(gravity)

慣量(inertia)

摩擦力(friction)

科里奧利力和離心力(Coriolis and centrifugal)

由于連桿之間是通過關節(joint)耦合在一起,連桿之間會有反作用力和反向慣量

以及一些人為的要求,例如:

我們想要機械臂運動的速度,按照我們預先的設定運行(velocity and acceleration)

我們想要求機械臂在觸碰外物時候做出安全保護(external force)

這些我們暫且稱之為disturbance(干擾),當然有些“干擾”是我們故意要求的,比如說需要按照預設軌跡的速度運行。加入“干擾”后的示意圖如下:

關于MATLAB 中的機械臂算法分析和介紹

如果我們能提前計算出來這些“disturbance”,然后在控制環路中將它“抵消”(有時候也叫前饋控制)。這樣,就能使得機械臂“完美”運行了。讓我們再改一下控制邏輯圖:

關于MATLAB 中的機械臂算法分析和介紹

為了計算這些“disturbance”。我們需要考慮幾個因素:

機械臂各個關節角度,即q

機械臂各個關節的速度,即qd(對q求導)

機械臂的各個關節的加速度,即qdd(對qd再次求導)

機械臂的質量和各個連桿的重心點

有了這些因素,我們可以通過數學方法:

u=M(q)qdd + C(q,qd)qd +G(q)

求出所需要的力矩,其中M項代表克服了機械臂的加速度慣量以及不同連桿之間的慣量影響所需力矩、C項代表了克服科里奧利力和離心力所需力矩、G項代表了克服地球引力力矩。

其中Inverse Dynamics叫做反向動力學,它的作用是輸入想要的關節速度(qd)、關節加速度(qdd)、關節角度(q),輸出為每個關節所需要的力矩(u)。當然也有正向動力學(forward dynamics),它的作用和反向動力學相反,輸入關節角度(q)、關節速度(qd)、每個關節的力矩(u),輸出為每個關節的加速度(qdd)。

上述的控制邏輯圖,是一個“前饋控制”的例子,它的作用是預先計算出所需的力矩,輸入給控制器,“反饋”的存在是為了消除一些誤差,例如摩擦力和其他噪音。

總之,我們需要這么一個“動力學”模型,使得我們可以抵消各種不同的“disturbance”的影響 --- 慣量、地球引力、科里奧利力和離心力等等。另外,實際電機的功率是有限的,通過反向動力學我們也可以準確知道電機需要提供多少力矩,從而為電機選型提供參考依據。

下圖初略表示了end-effector – inverse kinematics – inverse dynamics之間的關系:

關于MATLAB 中的機械臂算法分析和介紹

Robotics System Toolbox(RST)中的動力學算法

RST 提供了動力學方面的函數和Simulink block。

MATLAB函數:

關于MATLAB 中的機械臂算法分析和介紹

Simulink blocks:

關于MATLAB 中的機械臂算法分析和介紹

讓我們看一個簡單的例子:

這是一個工作在2D空間的機器人。標明了各個結構件的質量、長度和重心。在靜止狀態下,兩個關節分別需要多大的力矩去抵消地球引力并支撐起這個機器人?

關于MATLAB 中的機械臂算法分析和介紹

我們先一步步地構造這個機器人:

關于MATLAB 中的機械臂算法分析和介紹

然后加入重心、質量:

關于MATLAB 中的機械臂算法分析和介紹

然后在速度和加速度都是0的情況下,調用inverse Dynamics函數算出力矩:

關于MATLAB 中的機械臂算法分析和介紹

tau =

20 10

很明顯,第一個關節要比第二個需要更大的力矩。

我們也可以用gravityTorque這個函數試一下,結果是相同的。

關于MATLAB 中的機械臂算法分析和介紹

gravTorq =

20 10

如果我們將速度或者加速度改變一下,看看力矩的變化,例如:

關于MATLAB 中的機械臂算法分析和介紹

相應地,所需力矩也增大了。

tau =

30.5981 12.1340

Simulink 示例

在MATLAB Central File Exchange上搜索“Designing Robot Manipulator Algorithms”。

這是一個機械臂按運動軌跡抓取物體的例子:

關于MATLAB 中的機械臂算法分析和介紹

在前面運動學算法中,我們也介紹了這個例子。當時我們用反向運動學(inverse kinematics)去計算end-effector的位置。這次我們用力矩控制的方式來重新看一下這個問題。這里有兩種方式供參考:

關于MATLAB 中的機械臂算法分析和介紹

首先,inverse kinematics根據end-effector的位置,計算出各個關節(電機)所需要的角度位置,然后交給各個關節的電機去執行。由于關節控制的是角度。所以叫Joint Space Control (即關節角度控制)。

前饋部分(feedforward)負責計算出所需力矩(用來抵消重力,按預定軌跡運動等等)。

反饋部分(feedback)用PID去消除誤差。

關于MATLAB 中的機械臂算法分析和介紹

這個做法是直接控制end-effector的位置,并用PID去消除end-effector的位置誤差。也叫做task space control,即直接控制在XYZ空間(也叫笛卡爾坐標的位置)。

前饋部分只做一件事:計算抵消地球引力的力矩。

反饋部分用PID去控制end-effector的位置。然后用Jacobian矩陣將end-effector(在笛卡爾坐標)的力矩,轉化成各個關節的力矩。

關于MATLAB 中的機械臂算法分析和介紹

Computed Torque Control

有了機械臂的動力學模型(dynamic model),我們可以應用的控制方法有很多種。通常來說,反饋是必要的 – 可以消除控制誤差和一些噪音。從力矩計算的角度來看,可以做:

力矩前饋控制。剛才兩個例子都是將計算好的力矩做前饋。由于機械臂的移動速率遠遠小于電機控制速率,所以計算力矩的頻率并不高。比如說,電機的控制頻率為5K Hz,前饋力矩計算的頻率大約是50Hz。對控制器的硬件要求不高。

計算力矩控制(computed torque control)。computed torque control工作在較高的控制頻率上(例如1K Hz),要比力矩前饋控制頻率高的多。對控制器硬件要求較高。

Simulink提供dynamics方面的blocks,可以方便地搭出computed torque controller:

關于MATLAB 中的機械臂算法分析和介紹

computed torque controller的輸入:

q,機械臂關節角度

qd,預設的機械臂關節要達到的角度 (desired q)

dq,機械臂關節速度,即對q求導

dqd,預設的機械臂關節要達到的速度 (desired)

ddqd,預設的機械臂關節要達到的加速度 (desired )

computed torque controller的輸出:

u,機械臂各個關節的力矩

有了computed torque controller我可以做出比較復雜的控制系統,例如一方面要求機械臂按預定的trajectory(含角度、速度、加速度等信息)運行;一方面又要求機械臂遭受外力干擾后改變運行軌跡(trajectory)。

如果感興趣,可以看MATLAB自帶的“Perform Safe Trajectory Tracking Control Using Robotics Manipulator Blocks”這個例子。機械臂在碰到遮擋的硬物,改變預設的運行軌跡,保證運行安全。

關于MATLAB 中的機械臂算法分析和介紹

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16416

    瀏覽量

    178762
  • 電機
    +關注

    關注

    142

    文章

    9050

    瀏覽量

    145908
  • 動力學
    +關注

    關注

    0

    文章

    105

    瀏覽量

    16994
收藏 人收藏

    評論

    相關推薦

    深度解析!RK3568 加持機械是如何實現顏色識別與抓取的?

    ;2、掌握機械識別顏色抓取積木的實現方法。三、實驗原理顏色識別抓取積木功能:實現識別出不同顏色的積木,機械夾取后并放在相應的位置
    的頭像 發表于 01-15 08:07 ?43次閱讀
    深度解析!RK3568 加持<b class='flag-5'>機械</b><b class='flag-5'>臂</b>是如何實現顏色識別與抓取的?

    RK3568國產實驗箱+人工智能機械:跳舞、疊羅漢、夾方塊、積木搬運案例全解!

    基于語音控制實現機械特定動作的方法。三、實驗原理程序功能通過語音控制機械實現特定復雜動作:機械
    的頭像 發表于 12-12 19:01 ?373次閱讀
    RK3568國產實驗箱+人工智能<b class='flag-5'>機械</b><b class='flag-5'>臂</b>:跳舞、疊羅漢、夾方塊、積木搬運案例全解!

    機械的高效運作,連接器起關鍵作用

    ? ? ?機械是靈活且可編程的自動化設備,在工業生產中發揮著至關重要的作用。其廣泛的應用領域涵蓋了裝配與搬運、焊接與噴涂、檢測與測量、碼垛等多個環節,極大地提升了生產效率與質量,并成功替代人工完成
    的頭像 發表于 11-11 18:07 ?278次閱讀

    【原創】 drawbot 平面機械scara寫字畫畫機器人DIY教程貼

    M205 X0.8 電機運動平滑度 (下面介紹)M503 查看機械設置參數M501 載入用戶參數(保存到EEPROM的參數)M502 恢復出廠設置M500 保存用戶參數(保存到EEPROM)M370
    發表于 08-30 11:54

    OrangePi AIpro應用:機械應用開發指南

    2024世界人工智能大會上,香橙派攜OrangePiAIpro20T在世博展覽館H1-A301展區亮相,給大家帶來AI+互動的沉浸式體驗。其中,搭載OrangePiAIpro開發板的智能機械吸引了
    的頭像 發表于 08-19 16:42 ?621次閱讀
    OrangePi AIpro應用:<b class='flag-5'>機械</b><b class='flag-5'>臂</b>應用開發指南

    工業機器人和機械的設計、功能和應用有哪些區別?

    自動化設備,專門用于在工業生產線或其他工業環境執行各種操作任務。它們通常具備多軸關節結構,能夠在三維空間內自由移動,并搭載各種工具、夾具或傳感器來完成特定的任務。 工業機器人和機械都屬于自動化設備,用于執行
    的頭像 發表于 08-16 09:43 ?539次閱讀

    奧比光推出2.0版大模型機械

    近期,奧比光研發團隊融合前沿多模態大模型技術,推出最新2.0版大模型機械演示方案。新方案搭載公司最新深度相機Gemini 335L和Femto Bolt,能夠基于語音指令,自動執行沏茶、插花、滴
    的頭像 發表于 07-19 16:50 ?754次閱讀

    大象機器人開源協作機械機械接入GPT4o大模型!

    和智能化的任務,提升了人機協作的效率和效果。我們個人平時接觸不太到機械這類的機器人產品,但是有一種小型的機械我們人人都可以擁有它myCobot,價格低廉的一種桌面型
    的頭像 發表于 07-03 14:09 ?967次閱讀
    大象機器人開源協作<b class='flag-5'>機械</b><b class='flag-5'>臂</b><b class='flag-5'>機械</b><b class='flag-5'>臂</b>接入GPT4o大模型!

    國產Cortex-A55人工智能教學實驗箱_基于Python機械跳舞實驗案例分享

    又不必要。 從力學的角度分析,物件在空間只有6個自由度。因此為抓取和傳送在空間不同位置和方位物件,傳送機構也應具有6個自由度。 實驗程序流程 1、創建機械對象 2、機械
    發表于 06-28 14:37

    基于六維力傳感器的機械自動裝配應用

    外部環境的關鍵裝置,六維力傳感器通常安裝于機器末端執行器與機械之間,用于檢測作業的機器人與環境之間的多維交互力/力矩,并將交互力/力矩反饋給機器人力控制系統,
    的頭像 發表于 06-06 13:49 ?815次閱讀
    基于六維力傳感器的<b class='flag-5'>機械</b><b class='flag-5'>臂</b>自動裝配應用

    自然語言控制機械:ChatGPT與機器人技術的融合創新(下)

    引言 在我們的上一篇文章,我們探索了如何將ChatGPT集成到myCobot 280機械臂中,實現了一個通過自然語言控制機械的系統。我們詳細介紹
    的頭像 發表于 04-11 15:54 ?941次閱讀
    自然語言控制<b class='flag-5'>機械</b><b class='flag-5'>臂</b>:ChatGPT與機器人技術的融合創新(下)

    機械技術的前沿探索:年度案例回顧!

    在過去的幾年里,機械技術經歷了前所未有的發展,其應用領域從傳統的制造業擴展到了醫療、服務、物流等多個新興行業。這種跨界擴展得益于科技的飛速進步,尤其是在傳感器、控制系統和人工智能領域的突破。特別是
    的頭像 發表于 03-12 15:14 ?1179次閱讀
    <b class='flag-5'>機械</b><b class='flag-5'>臂</b>技術的前沿探索:年度案例回顧!

    如何去提升機械的位置控制性能?

    1.背景介紹 機械的位置控制是機械最重要的功能。機械
    的頭像 發表于 03-05 08:43 ?1048次閱讀
    如何去提升<b class='flag-5'>機械</b><b class='flag-5'>臂</b>的位置控制性能?

    【國產FPGA+OMAPL138開發板體驗】(原創)2.手把手玩轉游戲機械

    ChatGPT來增強其交互能力。 5.1 ChatGPT集成 AI算法實現 為了使機械具有AI功能,我會使用機器學習和AI算法來優化其運動軌跡和控制參數。例如,可以使用強化學習
    發表于 02-01 20:18

    使用ChatGPT學習大象機器人六軸協作機械mechArm!

    調試的過程,出現了一些問題,在識別收拾的時候,它是一直識別,這就意味著如果在1s內識別了10次的話,會給機械發送10個命令,這樣肯定不是我一開始所設想的。我一開始的想法是,當相機
    的頭像 發表于 01-31 14:39 ?701次閱讀
    使用ChatGPT學習大象機器人六軸協作<b class='flag-5'>機械</b><b class='flag-5'>臂</b>mechArm!
    主站蜘蛛池模板: 中国一级特黄剌激爽毛片| 韩国一区二区三区视频| 99久久99久久精品免费看子伦 | 午夜影院免费在线观看| 一级录像| 欧洲国产精品精华液| 国产精品毛片天天看片| 免费观看在线视频| 四虎亚洲国产成人久久精品| 丁香天堂网| 22222se男人的天堂| 久久久久久夜精品精品免费啦| 欧美一欧美一区二三区性| 亚洲欧美一区二区三区麻豆| 亚洲一区二区三区四区在线观看| 国产精品大全| 黄 在线| 海棠高h粗暴调教双性男男| 一区二区网站| 在线免费观看一级毛片| 性夜影院爽黄a免费视频| 78m-78模成视频在线| 观看在线人视频| 国产激情三级| 欧美19禁| 亚洲va久久久噜噜噜久久男同| 久久精品国产99国产精品澳门| 美女一级毛片免费观看| 成人激情在线| 性欧美欧美| 免费大片看黄在观看| 午夜免费r级伦理片| 看全色黄大色大片免费久久| 毛片在线网| 又大又粗进出白浆直流动态图| 国产成人毛片毛片久久网| 爽天天天天天天天| 我被黑人巨大开嫩苞在线观看| www.激情五月| 在线观看国产日本| 亚洲黄色成人|