日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Adams驱动函数单位与符号d的问题

發布時間:2023/12/8 编程问答 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Adams驱动函数单位与符号d的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于Adams驅動函數單位與符號d的問題

  • 驅動函數單位與`d`的聯系
  • 關于`d`的理解
  • 驅動函數寫法
  • 總結

筆者在做Adams與Matlab聯合仿真過程中,設置驅動函數發現與理想的情況不符合。通過上網查資料、問前輩,前后花費了近一個月的時間仍然沒有解決問題┗( T﹏T )┛太迷惑了。
最后通過與同學討論與自己的實驗找到了一點規律,希望對有同樣的問題的同學有些幫助。
同時,由于實驗不充分,許多問題沒有得到充分的驗證,希望大家以懷疑與糾錯的態度閱覽本文,若其中有不正確的地方,望多多批評指正。

驅動函數單位與d的聯系

  • 對于滑動關節,數值參數后均不加d。
  • 轉動關節,數值參數后不加d ,理解數值參數單位為弧度;數值參數后加d ,理解數值參數單位為角度。

雖然在軟件中設置了默認角度單位值(一般機械設計行業默認MMKS,角度單位為度),但是在轉動關節中若數值后不加符號d,默認為弧度。

例如,設置一個幅值為90度,周期為10s的驅動函數,有以下可能情況,但僅方法1滿足要求:

# 方法1 (正解) step (MOD( time , 10 ),0,0d,5,90d) + step (MOD( time , 10 ),5,90d,10,0d) -90d # 方法2 (所有角度數值均理解為弧度單位) step (MOD( time , 10 ),0,0,5,90) + step (MOD( time , 10 ),5,90,10,0) -90 # 方法3 (混合方法1與2) step (MOD( time , 10 ),0,0,5d,90d) + step (MOD( time , 10 ),5,90d,10d,0) -90

關于d的理解

所有表達式、函數的輸入、輸出參數均無單位(角度無單位換算后即rad)。
若要輸入單位為角度的數值參數進行計算,通過將其乘以pi/180,換算為弧度大小,再代入函數實現。為了表述簡便,令d = *pi/180。

對于輸入為角度參數的函數,有兩種實現方法:

  • 輸入角度參數單位為弧度,直接代入函數進行計算。

  • 輸入角度參數單位為角度,將角度參數后加d,換算為弧度后,代入函數進行計算。

    分別詳細地有:

    • 在驅動函數表達式中,如果可以將[數值]d視為角度進行表達式的正常計算(調用的函數形參單位可以度時),可以認為d表示前一個數值參數單位為度。
    30d # --> 30度 30d * time # --> 30*t 度*s step(time, 0, 0d, 5, 90d) # step中參數為單位為度 1 + 1d # --> 1rad + 1度 = 58.296度 (交換律) 1 - 1d # --> 1rad - 1度 = 56.296度 (交換律) 2 * 45d # --> 90度 (交換律) sin(90d) # --> sin(90d) = 1 = 1rad = 57.296度
    • 在驅動函數表達式中,如果不可以直接視為角度進行表達式的計算(調用的函數形參單位不可為度時),將[角度數值]d(單位: 度)轉化為[弧度數值](單位:rad)代入計算。可以理解為
    # 除法 1 / 1d # --> 42.8064度 """ 計算過程: ∵d不可直接視為單位進行除法 ∴1 / 1d = 1 / (1 * (pi/180)) = 1 / (1 * (pi/180)) rad = 180 / pi rad = 180 / pi * (180/pi) 度 = 3282.80635 度 = 9 * 360度 + 42.806358 度 = 42.806358 度 """ # 開方 sqrt(1d) # --> 7.5694度 """ 計算過程: ∵d不可直接視為單位進行開方運算 ∴sqrt(1d) = sqrt(1 * (pi / 180) rad) = sqrt(1 * (pi / 180)) = sqrt(1 * (pi / 180)) rad = 0.1321109099 rad = 7.569397566 度 """
    • d表示時間微分結果(待研究)
    DTOR * 779737d # --> 0

    驅動函數寫法

    • 數值參數
    # 期望得到180度 3.1415926 # --> 180度 pi # --> 180度
    • 數值參數 + d
    # 期望得到180度 180d # --> 180度
    • 數值參數 + d 并配合可用表達式
    # 期望得到0~180度的動態變化 step(time, 0, 0d, 5, 180d)
    • DTOR * 非數值表達式(返回一個無單位數值參數)
    # 期望得到一個度數為表達式的返回值的角度(expression = 180, 單位: 度) # DTOR 為度單位變化為rad的值 = pi/180 DTOR * [expression] # --> 180度

    [注意] 語法要求不可直接在表達式之后+d。
    例如,表達大小等于10度的角度大小:
    不可使用:sqrt(100)d
    可替換為:DTOR * sqrt(100)

    總結

    • 如果有一個確定的角度數值參數(實際的數值,如180,90之類的數),使用[數值參數]d的方法。
    180d 180d * time
    • 如果有一個返回值單位為角度的表達式(例如varval(系統變量)),使用DTOR * [expression]的方法。
    DTOR * varval(InputFromMatlab_UintInDegree)

    總結

    以上是生活随笔為你收集整理的关于Adams驱动函数单位与符号d的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。