V-rep学习笔记:机器人模型创建2—添加关节
下面接著之前經(jīng)過簡化并調(diào)整好視覺效果的模型繼續(xù)工作流,為了使模型能受控制運(yùn)動(dòng)起來必須在合適的位置上添加相應(yīng)的運(yùn)動(dòng)副/關(guān)節(jié)。一般情況下我們可以查閱手冊或根據(jù)設(shè)計(jì)圖紙獲得這些關(guān)節(jié)的準(zhǔn)確位置和姿態(tài),知道這些信息以后就可以通過[Menu bar --> Add --> Joints --> ...]來添加關(guān)節(jié)了,?之后可以通過位置和姿態(tài)對話框來調(diào)整關(guān)節(jié)位置姿態(tài)。在之前寫過的V-rep學(xué)習(xí)筆記:曲柄搖桿機(jī)構(gòu)中就是按照這種方式添加的關(guān)節(jié)。
? 如果我們有機(jī)器人的DH參數(shù)表也可以使用VREP中的工具來生成關(guān)節(jié)[Model browser-->tools-->Denavit-Hartenberg joint creator]. 以機(jī)器人學(xué)導(dǎo)論書中簡單的三連桿機(jī)械手臂為例:
? 可以很容易寫出其DH參數(shù)表:
我們將關(guān)節(jié)創(chuàng)建工具拖入場景中,選擇地面作為根節(jié)點(diǎn),然后填入表格中所示的DH參數(shù),點(diǎn)擊創(chuàng)建旋轉(zhuǎn)關(guān)節(jié)。L1、L2桿長均為0.5m,$\theta$為關(guān)節(jié)變量,這里初始化為0,則三次的參數(shù)分別輸入為:
? 有時(shí)我們無法知道關(guān)節(jié)的準(zhǔn)確位置,只能通過現(xiàn)有的網(wǎng)格模型去創(chuàng)建關(guān)節(jié)。以基座的轉(zhuǎn)動(dòng)關(guān)節(jié)為例(先將其它部分隱藏,后面會(huì)講到),可以用基座上表面的規(guī)則圓面作為參考來定位關(guān)節(jié)。
進(jìn)入Shape edit模式,通過Page selector選擇俯視圖(如下面左圖所示),在Triangle edit模式下通過框選可以很容易選中所有三角面片;或者可以選擇正視圖,進(jìn)入頂點(diǎn)編輯模式(Vertex edit mode),選中如下面右圖所示的所有頂點(diǎn),然后切換回面編輯模式,可以發(fā)現(xiàn)所有的三角面已經(jīng)選中。接著點(diǎn)擊Extract cylinder在這個(gè)位置上生成規(guī)則圓柱體。
接下來添加轉(zhuǎn)動(dòng)關(guān)節(jié):按Ctrl鍵先后選中該關(guān)節(jié)和之前創(chuàng)建的圓柱體,然后打開位置調(diào)整對話框,點(diǎn)擊Apply to selection,這一操作會(huì)使關(guān)節(jié)的X、Y、Z坐標(biāo)與圓柱體一致。如果想單獨(dú)控制X、Y、Z坐標(biāo)對齊,可以點(diǎn)左側(cè)的Apply X/Y/Z to selection,這樣就將關(guān)節(jié)放到了合適的位置。
? 剩下的關(guān)節(jié)也可以按照這種方式創(chuàng)建:
? 有時(shí)為了對特定的部件進(jìn)行操作需要隱藏其它部分以便觀察,可以通過設(shè)置物體所在圖層來實(shí)現(xiàn)這一功能。雙擊要隱藏物體的圖標(biāo)打開Common屬性頁,在可見性一欄中可以看到16個(gè)圖層:物體默認(rèn)創(chuàng)建在圖層1,將其移動(dòng)到圖層9中(默認(rèn)圖層1~8內(nèi)的物體是可見的,圖層9~16內(nèi)的物體是隱藏的),隱藏后物體名將變灰。
如果要顯示圖層9~16內(nèi)的物體可以打開Layer selection對話框:
[Layer selection dialog toolbar button]
如下圖所示,默認(rèn)只勾選了圖層1~8,要顯示圖層9只需要勾選該圖層即可:
?
?
參考:
Building a clean model tutorial
V-rep學(xué)習(xí)筆記:機(jī)器人模型創(chuàng)建1—模型簡化
V-rep學(xué)習(xí)筆記:曲柄搖桿機(jī)構(gòu)
總結(jié)
以上是生活随笔為你收集整理的V-rep学习笔记:机器人模型创建2—添加关节的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 威胁无处不在
- 下一篇: Docker aufs存储驱动layer