在线观看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 中的機械臂算法分析和介紹

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

    關注

    114

    文章

    16876

    瀏覽量

    182443
  • 電機
    +關注

    關注

    143

    文章

    9219

    瀏覽量

    148000
  • 動力學
    +關注

    關注

    0

    文章

    107

    瀏覽量

    17171
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械產品

    大象機器人成立于2016年,專注協作機器人研發與應用,產品線涵蓋輕量級協作機器人、人形機器人、仿生機器人等多種形態。拳頭產品myCobot系列以“全球最輕的六軸機械”聞名,累計銷量超數萬臺,覆蓋
    發表于 04-25 17:59

    海康威視推出大模型機械防碰撞相機

    工業機械負載作業時,往往重達幾百斤甚至更重,提升效率的同時,如果它們“意外傷人”,后果不堪設想。
    的頭像 發表于 03-17 09:47 ?398次閱讀

    如何使用PLC控制myCobot 320機械

    根據持續的用戶反饋,目前市場對 PLC 與 myCobot 系統集成的需求很大,因此本文提供的案例介紹了如何使用 PLC(可編程邏輯控制器)來控制 myCobot 320 機械。本案例重點
    的頭像 發表于 01-23 14:03 ?809次閱讀
    如何使用PLC控制myCobot 320<b class='flag-5'>機械</b><b class='flag-5'>臂</b>

    使用myCobot 280機械結合ROS2系統搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權轉載自github。本項目的主要內容是使用myCobot 280機械結合ROS2系統搭建機械分揀站。
    的頭像 發表于 01-15 09:22 ?509次閱讀
    使用myCobot 280<b class='flag-5'>機械</b><b class='flag-5'>臂</b>結合ROS2系統搭建<b class='flag-5'>機械</b>分揀站

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

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

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

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

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

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

    【原創】 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 ?850次閱讀
    OrangePi AIpro應用:<b class='flag-5'>機械</b><b class='flag-5'>臂</b>應用開發指南

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

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

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

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

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

    和智能化的任務,提升了人機協作的效率和效果。我們個人平時接觸不太到機械這類的機器人產品,但是有一種小型的機械我們人人都可以擁有它myCobot,價格低廉的一種桌面型
    的頭像 發表于 07-03 14:09 ?1364次閱讀
    大象機器人開源協作<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 ?1187次閱讀
    基于六維力傳感器的<b class='flag-5'>機械</b><b class='flag-5'>臂</b>自動裝配應用

    基于MATLAB的信號處理系統與分析

    基于MATLAB的信號處理系統與分析,包括信號的導入、預處理、分析、特征提取以及頻譜分析等關鍵步驟,并通過實例展示MATLAB在信號處理與
    的頭像 發表于 05-17 14:24 ?1609次閱讀
    主站蜘蛛池模板: 操操操综合网 | 被公侵犯肉体中文字幕一区二区 | 国产精品日本亚洲777 | 色精品一区二区三区 | 日本天天射 | 婷婷综合激情网 | 靠比久久 | 一区二区三区四区在线 | 男人的午夜 | 999久久精品国产 | 午夜三级网 | 国产精品久线观看视频 | 中文字幕不卡一区 | 艹逼视频免费观看 | 天堂在线网站 | 美国激情ap毛片 | xxxx.欧美| 免费国产黄网站在线观看视频 | 国产资源免费观看 | 免费在线观看视频网站 | 一久久| 97色婷婷成人综合在线观看 | 久青草久青草高清在线播放 | 亚洲免费成人 | 综合激情五月婷婷 | 男人女人的免费视频网站 | 免费被视频网站在线观看 | 日本偷偷操 | 手机在线观看a | 手机在线免费观看视频 | 人人插视频 | 久操伊人| 四虎国产精品永久在线 | 69老司机亚洲精品一区 | 日韩一卡 二卡 三卡 四卡 免费视频 | 黄黄的网站在线观看 | 黄视频免费在线观看 | 亚洲免费mv | 亚洲成人免费在线观看 | 精品日韩 | 九九黄色网 |