在一些三維制圖軟件或仿真軟件里,都有運動副的概念,webots的節(jié)點里好像沒有,不要擔心,在物理插件里可以做到,不過要學習有關于ODE(開源動力學引擎的)一些內容。在webots中,怎樣建立一個鉸鏈呢,我做了一個簡單的例子,小區(qū)門口的那種可以控制的欄桿,效果圖如下。
那每一個桿件,它們的關系在怎么定義呢?其實關系是在ODE中定義的,我們只需要建立一些沒有約束關系的桿件就行。場景樹貼出在下面,雖然這些節(jié)點是以servo定義的,但是在不需要約束關系的桿件,例如連桿3,將type改成none,那么,桿件3與gan Robot的關系就不是servo關系了,在仿真中可以看成兩個零件。模型就不介紹怎么建立了,后面會給出整個仿真的文件。
建立完模型之后,點擊菜單欄的 向導 —>新物理插件,代碼如下:
1 //來自“博客園,_阿龍clliu” http://www.cnblogs.com/clliu/, 2 #include <ode/ode.h> 3 #include <plugins/physics.h> 4 5 6 7 dBodyID getBody(const char *def) { 8 dBodyID body = dWebotsGetBodyFromDEF(def); 9 if (! body) dWebotsConsolePrintf("Warning: did not find body with DEF name: %s", def); 10 return body; 11 } 12 13 14 void webots_physics_init(dWorldID world, dSpaceID space, dJointGroupID contactJointGroup) { 15 16 &nbs