Simscape Mutibody Modeling學習--碰撞接觸與反應(1)

1、前記:先在此處貼上收集到關節Simscape Mutibody 接觸力建模的有用資料,後面系列逐漸展開。

    原本在做Baxter機器人碰撞檢測的時候,是參照官網這篇https://www.mathworks.com/help/robotics/examples/perform-safe-trajectory-tracking.html文章裏面的方法【在手臂末端與障礙物之間建立一個彈性阻尼系統...】做的仿真,當時在復現的時候還厚着臉皮請教了Mathworks 機器人組的應用工程師Sebastian Castro,超愛他網絡研討會的視頻https://www.mathworks.com/videos/matlab-and-simulink-robotics-arena-introduction-to-contact-modeling-part-2-1502716250563.html】。在他的幫助下解決了一些問題,就是下面的“穿牆而過”變爲左邊的四個時間戳的碰撞接觸停止,基本復現了官網的一個案例。

                             

後面他還建議我使用 Contact_Force_Libray庫來實現碰撞仿真,不過由於種種原因並沒花時間去做【其實就是懶,就是太年輕了,摳鼻^-^//】。出來混,在此處落地生個根好還上那筆分流債。

2、前期準備與相關鏈接:

(1)在matlab 2018a中安裝了必要的工具箱Simscape系列(一般在命令行窗口輸入ver可以查找所有安裝的工具箱)。

(2)於碰撞反應視頻學習:在上面已經給出,Sebastian Castro下面的那個!

(3)在Simulink中進行多體建模:https://ww2.mathworks.cn/videos/multibody-simulation-with-simmechanics-81877.html

(4)多體升降機的例子,(3)視頻中的,https://ww2.mathworks.cn/matlabcentral/fileexchange/36553-scissor-lift-model-in-simscape-multibody,根據自己的Matlab版本進行下載學習。

(5)Simscape Multibody Parts Library下載,部件庫https://ww2.mathworks.cn/matlabcentral/fileexchange/36536-simscape-multibody-parts-library,同樣根據版本下載,高版本的可以兼容低版本的,可以不用在意。

(6)接觸力庫(Simscape Multibody Contact Forces Library):https://ww2.mathworks.cn/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library,根據版本下載。裏面的案例可以打開運行,開始學習。

(7)官網上的技術博客:https://blogs.mathworks.com/racing-lounge/2017/09/12/introduction-to-contact-modeling/?fbclid=IwAR3f38dM3bgw13qDZzNzu7ZSBlA3kMHNHY-q2zeajAMGNz-Y32XwRduOsCE

(8)如何設置接觸力中的剛度和阻尼係數:https://www.mathworks.com/matlabcentral/answers/516756-how-do-i-determine-stiffness-and-damping-parameters-for-contact-forces-in-simulink?fbclid=IwAR2VEzLO4_BlQ5poHjIshnUYr-BxkCZGTREbLvgUDllpCfwTE7kNjk8XRtY

(9)上面(8)的參數設置不正確,有時候可能導致物體之間還是相互穿透:https://www.mathworks.com/matlabcentral/answers/516756-how-do-i-determine-stiffness-and-damping-parameters-for-contact-forces-in-simulink?fbclid=IwAR2VEzLO4_BlQ5poHjIshnUYr-BxkCZGTREbLvgUDllpCfwTE7kNjk8XRtY

(10)官方文檔:https://www.mathworks.com/help/physmod/sm/ug/modeling-contact-force-between-two-solids.html?s_tid=answers_rc2-3_p6_Topic

這兩天開始學習了下,按照(5)裏面的demo,實現了一個簡化版的抓取和放置(左)。決定實現PUMA560的抓取和放置的時候(右),抓手抓取的時候總是出現錯誤,還沒找到原因。

小例子:

                          

3、後記:由於Gazebo和Verp中由於自身集成了ODE, Bullet等物理引擎,實現上面的碰撞接觸和反應仿真好像更簡單。瞭解的不多就不介紹了。

     Gazebo:https://zhuanlan.zhihu.com/p/94575932

                     http://gazebosim.org/tutorials

     Verp:https://zhuanlan.zhihu.com/p/32788790

下面這個就是我直接在Gazebo中拖進的桌子和障礙物方塊來進行仿真的,Baxter機器人的運動用的是Simulink向ROS Master發送的關節位置數據。【不曉得是不是我的虛擬機運行的慢,感覺碰撞反應輕飄飄的不是很真實,不知道是不是要設置一些參考?】

                               

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