[番外1]Vrep小車機械臂抓取

有些同學(xué)催我繼續(xù)做一些教程秉继,但實在是做教程太牽扯精力了,但是為了大家能夠快速入門Vrep辑鲤,我也是在克服各種困難杠茬。講完[連載 3]Vrep小車建模——matlab控制這篇教程之后宁赤,我覺得大家應(yīng)該對Vrep有了基本的認(rèn)識灯荧,但是可能對細節(jié)把握的不是非常準(zhǔn)逗载,這時候大家千萬不要急于求成,很多同學(xué)覺得啊啊啊挚躯,我會用vrep啦擦秽,就機械臂、機器人啥都上缩搅,然后面臨的問題就是仿真過程很多事情把握不住触幼,即使仿真有點樣子,也不能保證仿真結(jié)果準(zhǔn)確堂鲤。

插一句媒峡,大家做仿真的時候一定要注意仿真的目的:仿真是為了盡可能的模擬實際的狀態(tài)谅阿,使得得到的觀測數(shù)據(jù)對實際實驗具有指導(dǎo)作用酬滤。仿真并不是為了看起來像镜沽,而是要經(jīng)過合理的抽象贱田,真正的使仿真結(jié)果指導(dǎo)實際使用男摧。

這個番外教程不針對初學(xué)者!拇颅!乔询,需要一定的基礎(chǔ),起碼你要對三個連載教程的內(nèi)容非常熟悉黄锤。當(dāng)你掌握了一定的基礎(chǔ)知識后大家可能想了解一下如何實現(xiàn)一個控制器食拜,實現(xiàn)控制、規(guī)劃等任務(wù)流强。所以這一節(jié)的番外教程主要用于給大家展示一下設(shè)計的思路呻待。

再插一句。仿真速度基本絕對了最后的成敗奏篙,舉個例子鱼冀,有個同學(xué)四處粘貼代碼千绪,一部分控制器在non-thread script實現(xiàn),另一部分在thread script實現(xiàn)盹靴,結(jié)果thread script中各種阻塞的寫法,導(dǎo)致很簡單的功能仿真很慢梭冠,基本你最后很難仿真成功改备,因為快速的仿真意味著你調(diào)參更快更快的看到結(jié)果反饋盐捷,明確代碼運行的時序默勾。

實在是有好多的話對大家說母剥,授人以魚不如授人以漁,所以就有了這篇习霹,給大家展示一下秦爆。

完整的代碼和例程請點擊購買。(番外類型的程序絕對物超所值)

前言

廢話少說爸吮,咱們步入正題望门。咱們這一節(jié)的內(nèi)容為將機械臂安裝在移動小車上筹误,能夠?qū)崿F(xiàn)小車移動到指定位置,機械臂能夠?qū)崿F(xiàn)抓取和放下的操作哄酝。(對應(yīng)的場景就是小車進入一個工作環(huán)境祷膳,運動到工作臺前,然后抓取相應(yīng)的物體搀军,然后再放到另一個地方),工作空間見下圖

部件組成

要求基礎(chǔ)

  1. 靈活操作平移焚刺、旋轉(zhuǎn)等门烂,明確模型樹層次結(jié)構(gòu)。(見連載0連載1
  2. 會使用lua腳本完成基本的控制功能匾委,能夠讀懂lua腳本程序氓润,了解常見的Regular API(見連載2
  3. 會使用matlab與vrep連接咖气,了解常見的Remote API(見連載3
  4. 想要研究機械臂

下面的內(nèi)容安排為:

  1. 小車移動到目標(biāo)點挖滤、目標(biāo)姿態(tài)控制算法
  2. 機械臂逆解求解
  3. 抓取過程簡述
  4. 代碼結(jié)構(gòu)

小車控制算法

連載3中已經(jīng)給出了完整的lua控制代碼和matlab控制代碼(點擊購買)斩松,并給出了草圖。在連載3中并沒有好好講有限狀態(tài)機乳幸,這里拋磚引玉吧钧椰。
有限狀態(tài)機是嵌入式開發(fā)嫡霞、軟件開發(fā)、游戲開發(fā)常用的一種結(jié)構(gòu)养筒,在本小車控制時劃分為以下幾個狀態(tài):

  1. 小車停止?fàn)顟B(tài)
  2. 小車開始運行端姚,先運動到目標(biāo)點的過程
  3. 小車已經(jīng)運動到目標(biāo)點,運動到目標(biāo)朝向的過程
  4. 小車運動到目標(biāo)位置和姿態(tài)兵多,處于檢測狀態(tài)。如果目標(biāo)點位置發(fā)生偏離衅斩,小車跳轉(zhuǎn)到狀態(tài)2怠褐。

狀態(tài)機最重要的就是狀態(tài)的劃分和狀態(tài)的切換奈懒,這里只是引出思路,大家可以參考網(wǎng)上的材料進行學(xué)習(xí)溜畅,當(dāng)然后面如果有時間的話极祸,我會在連載教程里給出幾種狀態(tài)機的實現(xiàn)方式遥金。(自學(xué)狀態(tài)機可以學(xué)習(xí)Matlab下的Stateflow,會理解更加深刻)稿械。

如果大家跑了我在連載3中的例程會發(fā)現(xiàn)选泻,有時候會出現(xiàn)小車無法運動到目標(biāo)點的情況,而是繞目標(biāo)點進行旋轉(zhuǎn)(由于欠驅(qū)動的問題)美莫,這里我進行了改進页眯,大家可以試試,基本沒有任何問題茂嗓。


小車運動控制
QT-GUI控制臺說明

機械臂求逆解

如果你不清楚運動學(xué)逆解的話餐茵,那么你需要百度學(xué)習(xí)一下逆解的概念了,不知道逆解述吸,機械臂是沒法玩的忿族。
我這里用了vrep再帶的計算模塊,IK group蝌矛,配置的話直接看我的例程吧,具體配置過程會放到連載教程里入撒。機械臂采用的UR5隆豹,手抓采用的是RG2,抓取過程見下圖茅逮。

抓取過程(注意并不是從哪里抓起來璃赡,放到哪里判哥,而是會跟蹤放置臺子)

抓取過程簡述

通過求解逆解,得到機械臂各個關(guān)節(jié)的角度碉考,再通過vrep再帶的Reflexxes Motion Library type IV工具箱塌计,生成關(guān)節(jié)的控制指令,將手抓運動到指定位置即可侯谁。

代碼結(jié)構(gòu)

這個例程里面我使用了兩種方式實現(xiàn)锌仅,第一種方式為全部使用lua代碼,第二種方式為將一部分功能分離出matlab接口墙贱,供matlab使用热芹。
首先我用一個non-htread script實現(xiàn)了小車的運動控制功能,和QT-GUI控制臺惨撇,作為整個程序的控制中心伊脓,然后在UR5上實現(xiàn)了機械臂抓取的過程和逆解求解等(采用的是 thread script),在手抓RG2上實現(xiàn)了抓取和松開的功能串纺,通信全部采用Signal的方式丽旅。由于在UR5上采用的是 thread script,具有阻塞指令纺棺,因此,盡可能的將其功能完整封裝邪狞,不要讓non-thread 的腳本等待他執(zhí)行完祷蝌。詳細中文注釋代碼請點擊購買

文件清單.png

文件清單1.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市帆卓,隨后出現(xiàn)的幾起案子巨朦,更是在濱河造成了極大的恐慌,老刑警劉巖剑令,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糊啡,死亡現(xiàn)場離奇詭異,居然都是意外死亡吁津,警方通過查閱死者的電腦和手機棚蓄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碍脏,“玉大人梭依,你說我怎么就攤上這事〉湮玻” “怎么了役拴?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長钾埂。 經(jīng)常有香客問我河闰,道長科平,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任姜性,我火速辦了婚禮瞪慧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘污抬。我一直安慰自己汞贸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布印机。 她就那樣靜靜地躺著矢腻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪射赛。 梳的紋絲不亂的頭發(fā)上多柑,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音楣责,去河邊找鬼竣灌。 笑死,一個胖子當(dāng)著我的面吹牛秆麸,可吹牛的內(nèi)容都是我干的初嘹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼沮趣,長吁一口氣:“原來是場噩夢啊……” “哼屯烦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起房铭,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤驻龟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缸匪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翁狐,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年凌蔬,在試婚紗的時候發(fā)現(xiàn)自己被綠了露懒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡龟梦,死狀恐怖隐锭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情计贰,我是刑警寧澤钦睡,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站躁倒,受9級特大地震影響荞怒,放射性物質(zhì)發(fā)生泄漏洒琢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一褐桌、第九天 我趴在偏房一處隱蔽的房頂上張望衰抑。 院中可真熱鬧,春花似錦荧嵌、人聲如沸呛踊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谭网。三九已至,卻和暖如春赃春,著一層夾襖步出監(jiān)牢的瞬間愉择,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工织中, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锥涕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓狭吼,卻偏偏與公主長得像层坠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子刁笙,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348