1. 程式人生 > >1.1 Vrep例程之BubbleRob

1.1 Vrep例程之BubbleRob

模型屬性說明

  • dynamic and respondable代表實體能受重力而falling並對其他responable物體所引起的碰撞作出反應,如下圖
  • 想要讓某模型為static,比如不受重力和碰撞影響,但能對其他非靜態的respondable物體能施加碰撞響應,所以設定enable dynamic屬性,但respondable屬性為非enable

在這裡插入圖片描述

  • 讓實體能被計算模組使用(最小距離計算模組等),需要在common properties中enable以下屬性:Collidable, Measurable, Renderable and Detectable
  • shape properties用於改變實體的視覺效果

接近感測器

在這裡插入圖片描述

  • 主要改變以上兩種選項:show volume parameters/show dectection parameters

實體間結構上繫結

法一:

We select bubbleRob_sensingNose, then control-select bubbleRob, then click [Menu bar --> Edit --> Make last selected object parent]. This attaches the sensor to the body of the robot.

法二(推薦):

檢視層次樹上拖動,使產生依賴關係

在這裡插入圖片描述

實體間物理上繫結

物理繫結前提是結構繫結
在這裡插入圖片描述

  • 新增感測器,但會出現以下問題

the slider(前面小輪) is slightly moving in relation to the robot body: this is because both objects (i.e. bubbleRob_slider and bubbleRob) are colliding with each other

  • 解決方案:
    設定不同的可響應掩碼

for bubbleRob_slider we set the local respondable mask to 00001111, and for bubbleRob, we set the local respondable mask to 11110000.

  • 出現另一個問題:即使設定電機目標速度為0也會輕微移動
    • 解決方案:增大質量和慣性(n the shape dynamics properties)

collection

在這裡插入圖片描述

  • add new collection
  • 選中object,然後add(預設為從最低層到所選中物體的層次樹的全部)

最小距離計算模組

  • 選中的兩類物體(廣義的物體,包括設定的collection,即物體集)距離

圖表使用

記錄資料

在這裡插入圖片描述

  • 先選擇資料型別,再選擇資料的來源(如來自接近感測器或距離計算模組)

設定三維曲線

在這裡插入圖片描述

  • 顯示空間中移動軌跡

封裝為模型

  • 作為超父類shape,選中Object is model base
  • 例程中主要是實現封裝模型,然後要隱藏關節,接近感測器和graph,設定所在顯示層來視覺隱藏,且選中時包圍框不包括這些部件,但要點選這些部件時自動選中其所在model,即

We also make sure the vision sensor is not not visible, not part of the model bounding box, and that if clicked, the model will be selected instead

視覺感測器

  • 設定影象處理時,至少有三項:輸入,處理,輸出!!!
    在這裡插入圖片描述

tips

  • 建立的模型預設在可見層1
  • 可建立多個scene來建立模型,保持各自獨立性
  • joints可當做motor電機
  • 新增模型時,預設在世界座標系的原點
  • 選擇A,control選B,調整位姿,則A(動)應用到B(靜)上
  • 通過相對座標系設定local 位姿
    在這裡插入圖片描述
  • 建立模型步驟
    • 建立
    • make the sphere Collidable, Measurable, Renderable and Detectable (if not already enabled)
  • 可設定模型為noFrictionMaterial in the shape dynamics properties
  • 動態模擬與非靜態模型的質量和慣性屬性密切相關

Stability of dynamic simulations is tightly linked to masses and inertias of the involved non-static shapes

  • 移動模型的小技巧:holding down the shift key allows to perform smaller shift steps. Holding down the ctrl key allows to move in an orthogonal direction to the regular direction(s)
  • layers 9-16 預設不可見
  • 模型指令碼一般為 non-threaded child script,將其繫結(associate)到模型上