- [連載 0]Vrep入門介紹
- [連載 1]Vrep小車建乃囟澹——前進(jìn)和轉(zhuǎn)向
- [連載 2]Vrep小車建奶敫——內(nèi)嵌腳本
- [連載 3]Vrep小車建模——matlab控制
- [連載 4]Vrep導(dǎo)入三維模型——PUMA560機(jī)械臂
- [連載 5]Vrep--Matlab Robitic Toolbox--PUMA560機(jī)械臂控制
- [番外 1]Vrep小車機(jī)械臂抓取
- [Lib庫 1]CoppeliaSim差分避障小車的Simulink實(shí)現(xiàn)(B站視頻講解)
- [Lib庫 2]CoppeliaSim機(jī)械臂抓取的Simulink實(shí)現(xiàn)(B站視頻講解)
- 知乎專欄:Vrep機(jī)器人動力學(xué)建模仿真
大家如果完成了連載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é)主要分為三個部分:
- 使用Vrep的RML庫控制機(jī)械臂各個關(guān)節(jié),實(shí)現(xiàn)關(guān)節(jié)空間的控制
- 使用Vrep自帶的IK模塊(逆運(yùn)動學(xué)求解器)進(jìn)行機(jī)械臂工作笛卡爾空間的運(yùn)動控制
- 使用Matlab驅(qū)動機(jī)械臂各個關(guān)節(jié)垃瞧,實(shí)現(xiàn)關(guān)節(jié)空間的控制
- 使用Matlab Robitic Toolbox對機(jī)械臂進(jìn)行建模蔫劣,建立機(jī)械臂DH矩陣,并使用工具箱的逆運(yùn)動學(xué)求解工具(ikine6s个从、ikine)實(shí)現(xiàn)matlab控制機(jī)械臂
- 使用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ì)介紹請看視頻教程结胀。
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é)的最終效果如下:
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é)的最終效果如下
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的功能茎用。
結(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)擊視頻教程柒昏、源代碼凳宙,謝謝大家的支持。