[連載 1]Vrep小車建碾Γ——前進和轉(zhuǎn)向

相信大家在看完Vrep入門介紹之后已經(jīng)開始摩拳擦掌,準(zhǔn)備自己動手完成一個模型吧司恳,下面就介紹如何制作一個可以前進和轉(zhuǎn)向的小車。
此教程是基于vrep 3.3.2版本制作的彪蓬,初學(xué)可以先安裝3.3.2版本進行學(xué)習(xí)朽砰,后面再使用更新的版本。(舊版下載鏈接:鏈接:https://pan.baidu.com/s/1PIl5t-Pwx2dawOIHfzDelA 提取碼:qirx)

Step1模型準(zhǔn)備

說明:這個模型可以從零開始建立并思,也可以根據(jù)我給大家提供的起始文件庐氮,起始文件我放在淘寶上了,大家可以購買得到宋彼,收費的目的是為了讓大家更加珍視這次Vrep的學(xué)習(xí)過程弄砍,希望大家不要半途而廢,也是我堅持完成系列教程的動力所在宙暇。寶貝鏈接

起始文件

Step2構(gòu)建驅(qū)動輪

這里搭建的小車為大家熟知的萬向輪小車输枯,通過小車后面兩個輪子的速度匹配實現(xiàn)前進、轉(zhuǎn)向占贫、后退等運動桃熄,是最常見的小車運動形式之一。現(xiàn)在我們先構(gòu)建一個主動驅(qū)動輪。
主動驅(qū)動輪的構(gòu)建思路如下:

  1. 建立一個扁平狀的圓柱體瞳收,作為驅(qū)動輪的實體
  2. 調(diào)整驅(qū)動輪的位置和方向碉京,滿足滾動的要求
  3. 設(shè)置實體輪子的動力學(xué)參數(shù)
  4. 將實體輪與貼紙輪組合,完成一個驅(qū)動輪構(gòu)建
  5. 通過復(fù)制操作螟深,完成兩個驅(qū)動輪的擺放

2.1添加實體

向環(huán)境中添加一個圓柱體谐宙,從菜單欄依次選擇[Menu bar --> Add --> Primitive shape --> Cylinder],參數(shù)按照下圖1進行配置界弧,僅需要修改紅框中的內(nèi)容凡蜻,得到圖2中的結(jié)果。

圖1 添加圓柱體對話框

圖2 添加輪子實體后

2.2調(diào)整位置和方向

默認(rèn)添加輪子的方向不符合滾動要求垢箕,需要將其豎直起來划栓。首先在模型樹選中剛加入的圓柱體Cylinder,點擊旋轉(zhuǎn)按鈕条获,根據(jù)圖3完成操作忠荞。


圖3 旋轉(zhuǎn)實體輪

調(diào)整輪子的位置,將相對于world坐標(biāo)系的Z方向位置為0.1175(=0.235/2)帅掘,設(shè)置過程見圖4.


圖4 設(shè)置輪子的空間位置

2.3設(shè)置實體輪子的動力學(xué)參數(shù)

關(guān)閉平移和旋轉(zhuǎn)的對話框委煤,雙擊模型樹中,模型前面的圖標(biāo)修档,見圖5碧绞,打開模型屬性窗口。按照圖6完成模型的質(zhì)量屬性和轉(zhuǎn)動慣量屬性修改萍悴。完成此項工作之后头遭,可以嘗試運行一下仿真,看看實體輪是否會運動癣诱。

圖5 雙擊顯示模型屬性對話框

圖6 模型質(zhì)量屬性和轉(zhuǎn)動慣量屬性設(shè)置

2.4與貼紙輪結(jié)合计维,完成一個主動驅(qū)動輪的設(shè)計

由于添加的實體圓柱輪看起來實在太丑,因此我為大家提供了一個貼紙輪撕予,為什么叫做貼紙輪呢鲫惶?是因為這個輪子只提供一個外觀,并不參與到動力學(xué)計算中实抡,就好像我在上面貼了一層圖案欠母。貼紙輪的獲取方式請點擊寶貝鏈接

好看的貼紙輪^-^

將貼紙輪位置設(shè)置與實體輪重合吆寨,我們這里采用一種更為便捷的方式赏淌,也是后面涉及到Vrep裝配最常用的手段之一,請大家注意啄清。
首先先用鼠標(biāo)點選貼紙輪六水,然后摁住Ctrl鍵,選擇實體輪,點擊移動按鈕掷贾,在平移對話框里選擇Apply to selection睛榄,完成移動,具體過程見圖7想帅。移動后的效果見圖8场靴。

這里需要強調(diào)一下點擊的順序,先選擇的是希望移動的部分港准,最后選擇的是目標(biāo)位置旨剥。這里希望將貼紙輪移動到實體輪這里,所以首先點擊貼紙輪叉趣,然后點擊實體輪泞边。

圖7 將貼紙輪移動到實體輪的位置

圖8 移動后的效果

2.5通過復(fù)制操作该押,完成兩個驅(qū)動輪的擺放

這里我們在學(xué)習(xí)兩個操作疗杉,第一個是復(fù)制操作,第二個是調(diào)整模型樹中的層次關(guān)系蚕礼。
用Ctrl按鍵同時選擇實體輪和貼紙輪烟具,利用快捷鍵Ctrl + c,Ctrl + v完成復(fù)制粘貼。
選擇模型樹中的LeftWheel_visual奠蹬,用快捷鍵del將其刪除(由于我們剛才已經(jīng)復(fù)制產(chǎn)生了新的貼紙輪朝聋,就不需要原來的貼紙輪了)。
現(xiàn)在修改模型樹中的模型名稱囤躁,雙擊模型樹的模型名稱進入編輯狀態(tài)冀痕,見下圖,將Cylinder修改為RightWheel狸演,將Cylinder0修改為LeftWheel言蛇,將RightWheel_visual0改為LeftWheel_visual

編輯模型名稱

修改模型名稱

現(xiàn)在調(diào)整模型樹的層次結(jié)構(gòu),在模型樹窗口中宵距,鼠標(biāo)拖動LeftWheel_visualLeftWheel上腊尚,拖動RightWheel_visualRightWheel上,完成后的效果如下:
模型樹調(diào)整之后

Vrep簡單易用主要體現(xiàn)在模型樹的操作十分靈活满哪,裝配非常方便婿斥,靈活應(yīng)用平移旋轉(zhuǎn)工具調(diào)整好相對位置之后就可以用模型樹固定下相對關(guān)系,對于組裝復(fù)雜的模型非常便捷哨鸭,大家后面會慢慢體會到民宿。

完成上面的工作之后,將兩個輪子按照XOZ平面對稱放置像鸡,左驅(qū)動輪的設(shè)置如圖9活鹰,右輪類似,將Y方向坐標(biāo)設(shè)置為-0.25即可。

圖9 左驅(qū)動輪的設(shè)置

最后的樣子為下圖:
步驟2完成圖

3添加車身和萬向輪

3.1添加車身

車身采用一個長方體即可华望,在[Menu bar --> Add --> Primitive shape --> Cuboid]蕊蝗,設(shè)置參數(shù)如下圖:

添加車身

將車身名稱改為Car_body,點開平移對話框,設(shè)置其位置如下圖:
更改車身位置

Car_body_visual移動到Car_body上赖舟,操作參考2.4與貼紙輪結(jié)合蓬戚,完成一個主動驅(qū)動輪的設(shè)計,完成后效果如下(由于車身貼紙比車身小一點宾抓,所以看不到了):
車身貼紙與車身重合

將車身貼紙移動到車身下一層子漩,修改車身動力學(xué)屬性,如下圖石洗。至此已完成車身的構(gòu)建幢泼,可以嘗試運行一下仿真,看看效果讲衫。

車身動力學(xué)屬性調(diào)整

3.2構(gòu)建萬向輪

真實的模擬萬向輪相對麻煩一點缕棵,這里為了第一個教程的簡便,我們采用一種投機取巧的辦法涉兽,我們把萬向輪抽象為一個與地面沒有摩擦力的實體招驴,即實現(xiàn)了萬向輪的功能。

這種“投機取巧”的行為在后面的動力學(xué)仿真中會經(jīng)常用到枷畏,通過合理的抽象别厘,將一些次要功能簡單化的實現(xiàn),從而將注意力集中到核心問題上拥诡,達(dá)到自己的研究目的触趴。這是我們用到的第一個投機取巧的功能,后續(xù)我會不斷介紹一些小技巧渴肉,讓大家能夠更快更好的完成仿真冗懦。

鑒于大家已經(jīng)認(rèn)真完成上面的操作走到這里,下面我將不再細(xì)致的講解已經(jīng)說明的操作宾娜。
通過菜單欄添加一個球體(Sphere)批狐,設(shè)置球體直徑為0.15,修改其名稱為Universal_wheel前塔,調(diào)整其空間位置如下圖嚣艇。將貼紙輪與球體重合,并修改層次關(guān)系华弓。最后設(shè)置一下球體的動力學(xué)屬性以食零,完成萬向輪的構(gòu)建。

萬向輪設(shè)置

最后別忘了一點寂屏,我們需要設(shè)置萬向輪與地面無摩擦贰谣,選擇noFrictionMaterial娜搂。
萬向輪材料屬性設(shè)置

完成上述內(nèi)容后可以嘗試運行一下仿真,發(fā)現(xiàn)車體迅速分解吱抚,下一節(jié)我們就添加約束關(guān)系百宇。

4添加各部件約束,完成車體模型樹構(gòu)建

4.1將萬向輪與車身固定

在Vrep中有兩種方式可以將兩個具有動力學(xué)屬性的物體固定

  1. 采用力傳感器(Force sensor)將兩個物體進行連接秘豹,實現(xiàn)固連
  2. 采用GroupMerge將兩個物體進行組合

我們這里先采用第一種方式携御,[Menu bar --> Add --> Force sensor],移動其位置既绕,并按照下圖設(shè)置模型層次啄刹。運行仿真,可以看到萬向輪與車身不會分開凄贩。

力傳感器添加

4.2添加驅(qū)動關(guān)節(jié)
驅(qū)動關(guān)節(jié)可以模擬機器人的驅(qū)動電機誓军,能夠?qū)崿F(xiàn)速度控制、位置控制和力控制等疲扎。我們這里準(zhǔn)備采用速度控制昵时。

采用菜單欄命令[Menu bar --> Add --> Joint --> Revolute ],得到下圖评肆。將關(guān)節(jié)名字重命名為RightMotor债查。

image.png

這里我們還是采用2.4節(jié)的位置調(diào)整方式,不過這次我們不僅要調(diào)整關(guān)節(jié)的位置瓜挽,還需要調(diào)整關(guān)節(jié)的方向。調(diào)整關(guān)節(jié)位置依然是首先選擇關(guān)節(jié)征绸,然后選擇右輪久橙,然后選擇位置選項卡,完成平移管怠。
調(diào)整驅(qū)動關(guān)節(jié)位置

旋轉(zhuǎn)操作類似淆衷,依次執(zhí)行下圖的操作,完成方向設(shè)置渤弛。


調(diào)整驅(qū)動關(guān)節(jié)方向

重復(fù)上面的操作祝拯,完成左輪的驅(qū)動關(guān)節(jié)添加,最后調(diào)整關(guān)節(jié)的模型層次樹她肯,最后結(jié)果見下圖佳头。運行仿真,發(fā)現(xiàn)車體沒有解體晴氨,證明我們的車身結(jié)構(gòu)已經(jīng)搭建完成康嘉。


關(guān)節(jié)添加完成圖

如果在完成車身結(jié)構(gòu)搭建后,運行仿真發(fā)現(xiàn)車身會運動籽前,可以選擇不同的求解器亭珍,看看不同求解器的差別敷钾,下面將解決無緣無故車體運動的問題。


嘗試不同的求解器試試

5完成全部工作

5.1設(shè)置可見和不可見屬性
現(xiàn)在模型和帖子混在一起肄梨,既看起來丑阻荒,也沒有發(fā)揮貼紙的作用,下面將簡單的實體隱藏众羡。
選擇Car_body财松,打開屬性對話框,按照下圖設(shè)置纱控,將其隱藏辆毡。

image.png

同理,對于非貼紙類型的甜害,都隱藏舶掖,得到下圖,是不是好看多了尔店?
調(diào)整隱藏關(guān)系后

感覺車身位置略高眨攘,我們需要重新調(diào)整一下貼紙的位置,
修正車身高度

5.2設(shè)置關(guān)節(jié)驅(qū)動參數(shù)
關(guān)節(jié)需要打開Motor enable嚣州,使得關(guān)節(jié)能夠輸出扭矩鲫售,提供動力,將左右兩個關(guān)節(jié)均按照下圖設(shè)置该肴,設(shè)置完成后嘗試運行一下仿真情竹。
關(guān)節(jié)驅(qū)動設(shè)置

可以看到模型可以運動,試著給兩個電機不同的速度信號匀哄,實現(xiàn)轉(zhuǎn)向秦效。

細(xì)心的同學(xué)可能會發(fā)現(xiàn)給關(guān)節(jié)電機是正方向的指令,但是小車卻是向后運動涎嚼。這個沒有關(guān)系阱州,只要我們在給電機輸入指令是注意一下即可。強迫癥的同學(xué)請嘗試旋轉(zhuǎn)關(guān)節(jié)法梯,將其正方向與小車前進方向?qū)?yīng)苔货,這里不再贅述。

結(jié)語

下一節(jié)教程我想介紹一下如何用內(nèi)嵌腳本實現(xiàn)一些簡單的功能立哑,歡迎大家交換想法~~
到這里已經(jīng)完成了本節(jié)的教程夜惭,實屬不易啊,如果覺得不錯請為我的文章捐贈刁憋,我會有更大的動力完成后面的教程

最后編輯于
?著作權(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

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

  • 好消息诽俯,我要在過年前更新Vrep的一系列教程了,大家有什么需求可以在下面留言或者私信給我3性痢暴区! [連載 0]Vrep...
    monkey61閱讀 19,801評論 23 16
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫闯团、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,059評論 4 62
  • 關(guān)于德國留學(xué)的步驟颜启,每個階段偷俭,都有可能不同$终担或者說每個個體涌萤,都有參考性,但卻不能完全的照搬口猜。不過负溪,對于大部分人而言...
    留學(xué)二三事兒閱讀 388評論 0 1
  • 首先,我得承認(rèn)自己是一個閱讀量較少的人济炎,經(jīng)炒眨看到文字較多的文章時就會選擇跳過,最多就是看完標(biāo)題须尚,所以我經(jīng)常說自己是...
    delincky閱讀 378評論 0 0