zmrs163
級別: 家園常客
|
分享下三菱凸輪計算公式。由于三菱的MS運動模塊沒有設置曲線類型自動生成的功能,因此分享幾個公式,可以自己實現計算。 |
---|---|
|
zmrs163
級別: 家園常客
|
注:公式中的INT均為向下取整。一個分辨率為D的凸輪曲線我們實際設置的點為0-D-1,最后一個點D其實和第0個點是一樣的 |
---|---|
|
zmrs163
級別: 家園常客
|
假設曲線起點的行程量為y0,終點行程量為y1,曲線從t0開始,至t1結束。公式均為曲線中任意一點行程量y和點t的關系。另外對于某些曲線類型,還存在曲線適用范圍p1,p2和加減速范圍補償t1,t2。這些在軟件中可以進行微調。對于一些分段函數構成的曲線類型,就不再討論p1,p2取值了。因為可能會有20多種情況過于繁瑣,統一只考慮p1=0,p2=1的情況。現在按照軟件中的順序一一介紹。 |
---|---|
|
zmrs163
級別: 家園常客
|
圖片:
勻加速。只考慮P1=0,P2=1的情況。其實如果修改這兩個值會引起加速度的變化,但是在軟件中加速度卻一直是同一個值,這也算是軟件的一個BUG了吧 |
---|---|
|
zmrs163
級別: 家園常客
|
圖片:
五次其實就對于三個公式,將起點終點的速度,加速度,還有位置帶入求解6個系數,然后就能求出曲線方程。由于三菱PLC沒有矩陣,解方程之類的庫,所以只考慮一種特殊情況下的解,就是起點結束點速度,加速度均為0的情況 |
---|---|
|
zmrs163
級別: 家園常客
|
圖片:
另外這個曲線不分段,可以討論下P1,P2.其實就相當于帶入方程的點不是0,t1了,因為只是曲線中間的一段.設帶入方程的變成了tt0,tt1。那么和t0,t1的關系由下面這個公式算出。補充下,帶入方程的點應該是以下6個。 (t0,y0)(t1,y1)(tt0,a0)(tt1,a1)(tt0,v0)(tt1,v1)。a0,a1,v0,v1分別代表速度加速度。tto,tt1在p1=0,p2=1的情況下就等于是t0,t1 [ 此帖被zmrs163在2020-05-20 16:24重新編輯 ] |
---|---|
|
zmrs163
級別: 家園常客
|
還有明天再更吧,有幾個公式特別繁瑣,我只寫了腳本驗證基本上和軟件生成的曲線全部一致。目前只發現一種情況可能產生偏差,就是如果原來存在曲線正中間的點并且曲線對稱,那么理論上會跑一半的行程量,但由于計算偏差我腳本算出來會少1,影響不大。 |
---|---|
|