[連載 5]Vrep--Matlab Robitic Toolbox--PUMA560機(jī)械臂控制

大家如果完成了連載4的內(nèi)容,接下來面臨的就是如何驅(qū)動機(jī)械臂了综慎,那么這一節(jié)的主要目標(biāo)就是全面介紹在Vrep莱找、Matlab和Simulink中酬姆,如何使用Vrep自帶的Lua腳本和Matlab結(jié)合Peter Corke的Robitic Toolbox以及Simulink的VrepLib庫,來控制機(jī)械臂奥溺,完成一些有趣的運(yùn)動辞色。

前言

這篇文章距離上一篇文章時隔太久了,一方面是最近幾個月事情太多浮定,沒有抽出太多時間相满;另一方面是準(zhǔn)備一篇手把手的文字教程實(shí)在是很耗時間。所以這次我想稍微改變一下桦卒,文檔的內(nèi)容我只列出提綱和大概的內(nèi)容立美,完成的過程和講解通過錄制視頻來完成,這樣更加生動一些闸盔,這次先嘗試一下悯辙,看看大家的反饋吧^_^
本節(jié)教程需要大家熟悉 連載 2連載 3這一節(jié)的內(nèi)容,并要有基本的機(jī)械臂基礎(chǔ)知識躲撰,我這里主要是參考的這兩本書——《機(jī)器人學(xué)導(dǎo)論(原書第4版)》《機(jī)器人學(xué)针贬、機(jī)器視覺與控制――MATLAB算法基礎(chǔ)》。推薦大家入手這兩本書拢蛋,是非常好用的工具書桦他。
此教程是基于vrep 3.5.0版本制作的,初學(xué)可以先安裝此版本進(jìn)行學(xué)習(xí)谆棱,后面再使用更新的版本快压。(舊版下載鏈接:鏈接:https://pan.baidu.com/s/1PIl5t-Pwx2dawOIHfzDelA 提取碼:qirx)

本節(jié)介紹

本節(jié)主要分為三個部分:

  1. 使用Vrep的RML庫控制機(jī)械臂各個關(guān)節(jié),實(shí)現(xiàn)關(guān)節(jié)空間的控制
  2. 使用Vrep自帶的IK模塊(逆運(yùn)動學(xué)求解器)進(jìn)行機(jī)械臂工作笛卡爾空間的運(yùn)動控制
  3. 使用Matlab驅(qū)動機(jī)械臂各個關(guān)節(jié)垃瞧,實(shí)現(xiàn)關(guān)節(jié)空間的控制
  4. 使用Matlab Robitic Toolbox對機(jī)械臂進(jìn)行建模蔫劣,建立機(jī)械臂DH矩陣,并使用工具箱的逆運(yùn)動學(xué)求解工具(ikine6s个从、ikine)實(shí)現(xiàn)matlab控制機(jī)械臂
  5. 使用VrepLib脉幢,通過Simulink快速搭建vrep控制模型(推薦閱讀!`氯瘛O铀伞)。
    本節(jié)的知識容量比較大奕污,但是可以歸為三個部分且互相獨(dú)立萎羔,大家可以根據(jù)自己的需求進(jìn)行選擇學(xué)習(xí)。第一部分:內(nèi)容1和2是基于vrep自身的編程工具實(shí)現(xiàn)的碳默;第二部分:內(nèi)容2和3是基于Vrep與Matlab的接口以及Matlab Robitic Toolbox實(shí)現(xiàn)的贾陷;第三部分:內(nèi)容4是基于我自己的寫的Vrep的Simulink工具箱——VrepLib實(shí)現(xiàn)的,給大家介紹一下基于Simulink非常簡便的Vrep控制流程的開發(fā)腻窒。
    完整的例程模型請點(diǎn)擊購買

基礎(chǔ)知識

對于機(jī)械臂的操作來說昵宇,大家必須具備一些基本知識,下面列出的這些內(nèi)容并不是讓大家立即翻書弄明白了再來看教程儿子,而是先有一個初步概念瓦哎,我會在視頻講解中介紹一下,大家看完整個教程之后再補(bǔ)充相關(guān)的知識就可以了柔逼。
基礎(chǔ)知識:理解 坐標(biāo)變換->正運(yùn)動學(xué)蒋譬、機(jī)械臂求解->逆運(yùn)動學(xué) 是非常重要的。坐標(biāo)變換的基礎(chǔ)需要大家要熟知齊次變換矩陣愉适、歐拉角犯助、四元數(shù),明確它們表達(dá)的含義和優(yōu)缺點(diǎn)维咸;機(jī)械臂描述需要大家知道DH矩陣或者其變種的計(jì)算方式剂买;正運(yùn)動學(xué)的意義和逆運(yùn)動學(xué)的解析解和數(shù)值解的大概計(jì)算方式惠爽。

1.Vrep驅(qū)動PUMA560機(jī)械臂

這一部分采用Lua 與 Reflexxes Motion Library的方式,去驅(qū)動各個關(guān)節(jié)的位置進(jìn)行變化瞬哼,也可以采用程序直接控制關(guān)節(jié)位置婚肆,這一部分內(nèi)容比較常規(guī),大家可以瀏覽[連載 2]Vrep小車建淖浚——內(nèi)嵌腳本熟悉Lua的基本編程较性,聽結(jié)合本節(jié)視頻和源碼實(shí)現(xiàn)下圖的功能,詳細(xì)介紹請看視頻教程结胀。

Lua腳本關(guān)節(jié)驅(qū)動示例

2.Vrep逆運(yùn)動學(xué)求解工具IK驅(qū)動機(jī)械臂

上一節(jié)采用直接驅(qū)動機(jī)械臂關(guān)節(jié)赞咙,控制的是機(jī)械臂的關(guān)節(jié)空間上的變化,但是實(shí)際控制過程中糟港,我們更關(guān)心機(jī)械臂末端的笛卡爾空間的狀態(tài)攀操,因此需要求解機(jī)械臂逆解去計(jì)算不同狀態(tài)下對應(yīng)的關(guān)節(jié)角度。本節(jié)視頻中會詳細(xì)介紹Vrep中IK的搭建方式和注意事項(xiàng)秸抚。本節(jié)的最終效果如下:

機(jī)械臂末端達(dá)到空間指定位置
機(jī)械臂末端形成復(fù)雜軌跡

3.Matlab驅(qū)動機(jī)械臂

這一部分采用Matlab驅(qū)動機(jī)械臂崔赌,與內(nèi)容1類似,大家要熟悉[連載 3]Vrep小車建乃时穑——matlab控制的內(nèi)容,掌握Matlab與Vrep通信的基本知識(為了結(jié)果更加真實(shí)县钥,因此要開啟Vrep與Matlab的同步機(jī)制)秀姐。同時在本節(jié)會介紹Matlab Robitic Toolbox的函數(shù)(jtraj)使用方法,從而用于關(guān)節(jié)空間的驅(qū)動若贮。本節(jié)的最終效果如下

Matlab驅(qū)動機(jī)械臂

4.Matlab Robitic Toolbox控制機(jī)械臂

本節(jié)內(nèi)容較多省有,涉及到的知識點(diǎn)也比較多,大家要具有耐心谴麦。首先講一下標(biāo)準(zhǔn)DH矩陣的建立方式蠢沿,這里請注意由于三維模型的差異和關(guān)節(jié)坐標(biāo)系的設(shè)置導(dǎo)致本節(jié)給出的puma560機(jī)械臂與《機(jī)器人學(xué)、機(jī)器視覺與控制――MATLAB算法基礎(chǔ)》書中給出的DH矩陣略有不同匾效。(注:大家都很疑惑一個puma560機(jī)械臂的DH矩陣為什么不是唯一的舷蟀,甚至不同的教科書上給出來的不一樣,這是和DH矩陣本身的的特點(diǎn)密切相關(guān)的面哼,對于DH矩陣大家不要生搬硬套野宜,直接根據(jù)計(jì)算方式求一個自己可以用的就可以了。)
建立DH矩陣后魔策,給大家介紹一下如何采用Matlab Robitic Toolbox計(jì)算運(yùn)動學(xué)逆解匈子,以及不同的求解方式的注意事項(xiàng)。
最后用matlab實(shí)現(xiàn)機(jī)械臂末端位置和姿態(tài)的跟隨控制闯袒。

5 使用VrepLib虎敦,通過simulink快速搭建vrep控制模型(推薦閱讀S卧馈!F溽恪)

很多同學(xué)和我反饋控制算法都是使用simulink搭建的胚迫,而vrep并沒有很好的simulink接口,很難將自己的控制算法與vrep結(jié)合起來擂橘,我也是深受苦惱晌区,因此花了很長時間開發(fā)了vrep與simulink接口庫——VrepLib,VrepLib主要功能是建立simulink與vrep的連接通贞,并利用封裝好的模塊搭建仿真程序朗若,減輕工作量,加快算法驗(yàn)證速度昌罩。目前這個庫我已經(jīng)發(fā)布出來了哭懈,感興趣的同學(xué)可以點(diǎn)擊購買。下面展示一下如何用這個庫實(shí)現(xiàn)內(nèi)容3和內(nèi)容4的功能茎用。

只需要少數(shù)幾個模塊即可完成內(nèi)容3的功能.png

完成內(nèi)容4的程序框圖

結(jié)語

本節(jié)介紹基于Vrep開發(fā)環(huán)境的機(jī)械臂三種控制方法遣总,分別介紹了采用Lua控制、matlab控制和simulink控制轨功,并給出詳細(xì)的示例旭斥;同時也介紹了機(jī)械臂關(guān)節(jié)空間運(yùn)動和笛卡爾空間運(yùn)動的差別,結(jié)合Vrep自帶的IK計(jì)算模塊和Matlab Robitic Toolbox的工具箱函數(shù)講述逆運(yùn)動學(xué)求解古涧、軌跡生成等垂券。總的來說是Vrep——機(jī)械臂這一內(nèi)容的引路石羡滑,機(jī)械臂控制仍然有很多內(nèi)容需要大家去研究菇爪,希望本教程可以給大家一定的幫助。本節(jié)更多內(nèi)容請點(diǎn)擊視頻教程柒昏、源代碼凳宙,謝謝大家的支持。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末职祷,一起剝皮案震驚了整個濱河市氏涩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌堪旧,老刑警劉巖削葱,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淳梦,居然都是意外死亡析砸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門爆袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來首繁,“玉大人作郭,你說我怎么就攤上這事∠掖” “怎么了夹攒?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胁塞。 經(jīng)常有香客問我咏尝,道長,這世上最難降的妖魔是什么啸罢? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任编检,我火速辦了婚禮扰才,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衩匣。我一直安慰自己,他們只是感情好琅捏,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布生百。 她就那樣靜靜地躺著,像睡著了一般柄延。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拦焚,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天杠输,我揣著相機(jī)與錄音赎败,去河邊找鬼。 笑死蠢甲,一個胖子當(dāng)著我的面吹牛僵刮,可吹牛的內(nèi)容都是我干的鹦牛。 我是一名探鬼主播搞糕,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼曼追,長吁一口氣:“原來是場噩夢啊……” “哼窍仰!你這毒婦竟也來了礼殊?” 一聲冷哼從身側(cè)響起针史,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碟狞,失蹤者是張志新(化名)和其女友劉穎啄枕,沒想到半個月后族沃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡常空,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年未辆,在試婚紗的時候發(fā)現(xiàn)自己被綠了窟绷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咐柜。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖为狸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辐棒,我是刑警寧澤牍蜂,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站鲫竞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏从绘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一陕截、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧农曲,春花似錦、人聲如沸驻债。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至青扔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間微猖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工凛剥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逻炊。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓犁享,卻偏偏與公主長得像余素,于是被迫代替她去往敵國和親炊昆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容