V-REP教程(一)--bubbleRob詳細操作步驟(詳細圖文步驟操作)

該教程參考V-REP官方示例教程Tutorials–BubbleRob tutorial。
官方教程鏈接

1. 添加bubbleRob

(1)在場景中添加一個直徑爲0.2的球。【Menu bar --> Add --> Primitive shape --> Sphere】
在這裏插入圖片描述(2)在彈出的對話框中爲Sphere指定大小爲0.2。即設置【X-size】爲0.2,點擊OK

在這裏插入圖片描述創建的球將出現在可視化層1中,並且是動態可響應的。(因爲(2)中【Create dynamic and respondable shape】是勾選的)
在這裏插入圖片描述另外這個添加的球體Sphere是dynamicrespondable的,這意味着Sphere具有運動學屬性並且可以和其他物體發生相互作用,這種屬性在object properties裏面也可以看到
在這裏插入圖片描述進行仿真(官方教程裏的一部分,複製粘貼Sphere,由於兩小球的相互作用,兩小球分開)
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述(3)爲了讓Sphere能夠爲calculation modules(這個在後面傳感器計算物體之間的距離會用到)所用,需要使能Sphere的CollidableMeasurableRenderableDetectable屬性,這個在object properties裏面設置。除此之外,可以在Shape裏面設置Sphere的外觀屬性比如顏色。
在這裏插入圖片描述(4)將對象的位置沿Z軸向上移動2cm(注意V-REP默認是以m爲單位,Position爲絕對座標位置,Translation 爲相對座標位置(即移動多少)。此處按照下圖設置,也可以將Position 的** Z-coord** 設置爲0.12,即在原來的基礎上+0.02。自行體會PositionTranlation的關係)在這裏插入圖片描述(5)修改對象名稱爲bubbleRob
在這裏插入圖片描述

2.爲 bubbleRob 添加 proximity sensor(接近傳感器)

(1)添加。[Menu bar --> Add --> Proximity sensor --> Cone type]
在這裏插入圖片描述(2)修改傳感器的位置(即座標)和朝向(即方向)
修改朝向
在這裏插入圖片描述修改位置
在這裏插入圖片描述(3)修改proximity sensor(接近傳感器)的參數
在這裏插入圖片描述(4)修改proximity sensor(接近傳感器)的名稱爲【bubbleRob_sensingNose】(圖中名稱有錯誤)
在這裏插入圖片描述(5)將對象【bubbleRob_SensingNose】添加到【bubbleRob】下
在這裏插入圖片描述

3.爲bubbleRob 添加輪子

(1)新建一個場景【Menu bar --> File --> New scene】
在這裏插入圖片描述(2)添加左輪

  • 添加一個圓柱
    在這裏插入圖片描述
  • 確定圓柱的大小尺寸,在彈出的對話框中爲Cylinder設置大小(0.08,0.08,0.02)
    在這裏插入圖片描述
  • 作爲bubbleRob身體的一部分,對其進行屬性調整,如同bubbleRob一樣使能Cylinder的Collidable、Measurable、Renderable和Detectable屬性
    在這裏插入圖片描述
  • 修改輪子的位置和方向,設置Cylinder的絕對位置(Position)爲(0.05,0.1,0.04),絕對歐拉角(Orientation)(-90,0,0)
    在這裏插入圖片描述在這裏插入圖片描述
  • 修改對象的名稱爲bubbleRob_leftWheel(修改名稱參考步驟1中的(4)

(3)創建右輪,複製粘貼左輪,並修改右輪的位置,並重命名bubbleRob_rightWheel
在這裏插入圖片描述(4)將兩個輪子複製到場景1中去(分別選中兩個輪子對象,Ctrl+C,切換到場景1中Ctrl+V即可)
在這裏插入圖片描述

4. 添加關節(爲bubbleRob添加rightMotor和leftMotor)

在這裏插入圖片描述(1)將左輪的位置和角度信息添加到左關節上
在這裏插入圖片描述在這裏插入圖片描述(2)修改關節屬性,並重命名爲bubbleRob_leftMotor
在這裏插入圖片描述(3)以同樣的方式創建右關節,並設置屬性
在這裏插入圖片描述(4)將兩個輪子與兩個電機聯繫起來,並添加到bubbleRob下
在這裏插入圖片描述(5)運行仿真,小車翻滾不能保持平衡
在這裏插入圖片描述

5. 爲bubbleRob添加slider(or caster)即爲小車添加一個滑塊或者腳輪

(1)創建slider

  • 創建一個new scene,添加一個半徑大小爲0.05的sphere
    在這裏插入圖片描述
  • 設置屬性並重命名bubbleRob_slider
    在這裏插入圖片描述
  • 設置材料屬性
    在這裏插入圖片描述

(2)爲了將腳輪與bubble_Rob的其他部分連接起來,添加一個Force sensor【力傳感器】

  • 【Menu bar --> Add --> Force sensor】
    在這裏插入圖片描述
  • 重命名force_sensor爲bubbleRob_connection並把【力傳感器】擡高0.05(下圖有錯誤,應該是選擇Translation中的Along-Z設置爲0.05。如果用下圖方式設置的話,應該在第4步修改Z-coord的值時,不應該直接改爲0.05,而是在原來值的基礎上加上0.05。因爲Position是座標的絕對座標,Translation是相對座標即移動了多少)
    在這裏插入圖片描述(3)將【力傳感器】與腳輪聯繫起來,並複製到場景一中,並添加到bubbleRob下
    在這裏插入圖片描述
    (4)修改【力傳感器】和腳輪的位置(將bubbleRob_connection沿x絕對方向移動-0.07。)
    在這裏插入圖片描述

6. 使bubbleRob具有穩定性

(1)點擊仿真,會發現bubbleRob_slider相對於bubbleRob有微小的振動,這是bubbleRob_slider和bubbleRob相互作用的結果,,進行以下操作進行改進
在這裏插入圖片描述在這裏插入圖片描述(2)再次進行仿真,振動不再發生了,但是整個bubble有緩慢的移動。爲此進行以下操作,將two wheels和slider的質量和慣性矩都放大八倍,一次放大兩倍,所以一共放大三次
在這裏插入圖片描述(3)再次進行仿真,可以看到增加了質量和慣性之後機器人穩定性增強。給機器人一個前進的速度(修改電機速度時最好一個一個修改)
在這裏插入圖片描述

7. 創建bubbleRob collection

將對象【bubbleRob】設置爲模型【bubbleRob】中所有對象的基礎。同時,我們希望定義一個表示BubbleRob的對象集合。爲此,我們定義了一個集合對象。【Menu bar --> Tools --> Collections】
在這裏插入圖片描述

8. 創建calculation module

爲機器人bubbleRob添加一個最小距離函數,【Menu bar --> Tools --> Calculation module properties】
在這裏插入圖片描述

9. 創建graph

進行仿真,沒有發現什麼不同,因爲環境中沒有其他物體,爲了顯示這個最小距離,我們建立一個圖【graph】
(1)【Menu bar --> Add --> Graph】
在這裏插入圖片描述(2)重命名爲bubbleRob_graph,並將其與bubbleRob聯繫起來,設置絕對座標爲(0,0,0.005)
在這裏插入圖片描述(3)將具體參數添加進圖表裏
在這裏插入圖片描述以相同的方式添加Y和Z的數據流
(4)現在我們有3個數據流表示BubbleRob的x-、y-和z-軌跡。我們將再添加一個數據流,這樣我們就能夠跟蹤機器人與其環境之間的最小距離
在這裏插入圖片描述(5)對四個數據流進行重命名
在這裏插入圖片描述(6)分別對X,Y,Z在進行以下操作(僅以X操作爲例)
在這裏插入圖片描述(7)建立一個三維曲線來顯示bubbleRob的軌跡
在這裏插入圖片描述

  • 設置參數
    在這裏插入圖片描述
  • 給電機設置速度,進行仿真,可以看到運動軌跡(粉色軌跡)
    在這裏插入圖片描述

10. 添加obstacles(即爲場景添加障礙物)

(1)創建大小爲(0.1,0.1,0.2)的Cylinder
在這裏插入圖片描述在這裏插入圖片描述(2)設置障礙物的屬性(我們希望這個圓柱體是靜態的(即不受重力或碰撞的影響),但仍然對非靜態可響應形狀施加一些碰撞響應。)
在這裏插入圖片描述在這裏插入圖片描述(3)拖動障礙物到合適的位置
在這裏插入圖片描述再按相同的方式添加多個障礙物
(4)設置一個電機的速度爲50,開始仿真,可以在圖中看到最近的距離
在這裏插入圖片描述

11. 完成bubbleRob model模型構建

(1)選中bubbleRob,在object properties裏面check Object is model base和 Object/model can transfer or accept DNA
在這裏插入圖片描述(2)模型包圍框現在忽略了兩個關節和接近傳感器:(分別選中兩個motors、graph和已有的一個proximity sensor,在object properties的common界面勾選ignored by model bounding box,然後點擊Apple to selection;)
在這裏插入圖片描述(3)隱藏兩個電機和力傳感器
在這裏插入圖片描述(4)依次對右電機和力傳感器進行上述操作
在這裏插入圖片描述(5)分別選中兩個wheels、一個graph、一個slider、一個proximity sensor,然後再object properties的common界面勾選 Select base of model instead,這樣當我們試圖選中其中的任何一個object的時候,選中的都會是bubbleRob,這樣可以保護模型;
在這裏插入圖片描述

12. 添加vision sensor

(1)【Menu bar --> Add --> Vision sensor --> Perspective type】
在這裏插入圖片描述(2)對視覺傳感器進行設置
在這裏插入圖片描述在這裏插入圖片描述(3)我們添加一個浮動視圖到場景中
在這裏插入圖片描述(4)將視圖與視覺傳感器聯繫起來
在這裏插入圖片描述(5)設置視覺傳感器相對於 bubbleRob_sensingNose的位置和姿態角爲(0,0,0)和(0,0,0)(即讓接近傳感器和視覺傳感器的位置和角度一致)
在這裏插入圖片描述在這裏插入圖片描述(6)進行仿真
在這裏插入圖片描述

13. 最後一步:添加代碼

(1)添加腳本控制機器人運動
在這裏插入圖片描述在這裏插入圖片描述(2)進行仿真
在這裏插入圖片描述
建議:還是多看看官方教程,多操作幾遍,體會各種操作的意義。
如果操作過程中有什麼問題,大家可以一起交流學習。QQ:807561027

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章