PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
crazyking
Regular Member
 

加入日期: Dec 2002
文章: 94
如果資料已經有收集,可以先用excel試試回歸方法,確認是不是你要的,還有適合的演算法,一般都用最小平方法回歸,提供參考
引用:
作者老柏(第四)
好說


目前架構是這樣,驅動器啟動龍門同動模式,軸卡就只能控一個軸(兩個馬達當一個用),在龍門同動模式下只要左右ENCODE誤差超過設定值會自動跳掉

問題是發現用過一段時間後還是會斜掉,原因不明,我的推測是他在非啟動時間(龍門同動還沒SERVOR ON之前)被其他機構推到或頂到,但確切原因我還是沒找到


以往龍門同動校正我都是在馬達斷電狀態先把一邊靠到底(用手轉聯軸器),另一邊用手轉聯軸器直到感覺最鬆的狀態

所以我想說寫一個程式,繞過軸卡直接控制驅動器
->暫時性解除龍門同動模式
->單軸驅動器以低扭力限制模式往復移動一次(兩端都移動直到卡住)
->邊移動邊紀錄當時的馬達出力、座標位置
->計算出馬達出力最低點的座標位置(這就是這一篇主題我要問的數學)
->叫馬達移動到扭力最低點的座標位置

至於這個程式可以包進去你上面說的執行程序中也沒問題
     
      
舊 2014-06-28, 02:02 PM #21
回應時引用此文章
crazyking離線中  
山賊
Major Member
 

加入日期: Jun 2002
文章: 125
引用:
作者老柏(第四)
好說
目前架構是這樣,驅動器啟動龍門同動模式,軸卡就只能控一個軸(兩個馬達當一個用),在龍門同動模式下只要左右ENCODE誤差超過設定值會自動跳掉

問題是發現用過一段時間後還是會斜掉,原因不明,我的推測是他在非啟動時間(龍門同動還沒SERVOR ON之前)被其他機構推到或頂到,但確切原因我還是沒找到
以往龍門同動校正我都是在馬達斷電狀態先把一邊靠到底(用手轉聯軸器),另一邊用手轉聯軸器直到感覺最鬆的狀態

所以我想說寫一個程式,繞過軸卡直接控制驅動器
->暫時性解除龍門同動模式
->單軸驅動器以低扭力限制模式往復移動一次(兩端都移動直到卡住)
->邊移動邊紀錄當時的馬達出力、座標位置
->計算出馬達出力最低點的座標位置(這就是這一篇主題我要問的數學)
->叫馬達移動到扭力最低點的座標位置

至於這個程式可以包進去你上面說的執行程序中也沒問題


1. 就是因為使用兩組馬達在平行雙軸上運行, 只要兩組馬達或驅動機構本體直徑有誤差, 時間久了兩端運行累積距離就會不一樣進而造成歪斜..

2. 被其它機構影響也不無可能, 譬如運行平台上還有其它機械機構 (此處簡稱為 A ) 在運行, 因為慣性使然, 該 A 機構運行時所產生的反作用力最終是由雙軸的兩個馬達機構承擔, 若兩個馬達機構所承擔的軸向作用力大小不同, 難保不會造成歪斜..

3. 既然您是用手動方式, 先將一軸靠到底以進行歸零定位, 為何不將另一軸也靠到底便完成歸零定位? 您只要確定兩個底是在同一軸向位準即可; 而所謂的底, 可以是光電介面, 也可以是機械檔板, 看您自己方便..

4. 若每次歪斜的角度與距離差距都一樣, 那麼您只要再手動校準一次, 便可以量出校準時, 需要移動該單一軸的方向與距離量, 以後只要偵測到歪斜程度超過容許值, 便進行驅動該單軸往該方向與所需距離量即可..

5. 若每次歪斜的角度與距離都不同, 那麼在程式上可以這麼做:

5a. 只要驅動單軸即可.
5b. 您有提到可以記錄扭力輸出值, 那麼先進行單一方向的單軸驅動, 若偵測到扭力增加, 代表方向錯誤, 便往另一方向驅動即可..
5c. 您可以只律定扭力低於某一值, 便完成校準..
5d. 或是偵測扭力增加時, 便往另一方向進行驅動, 此時扭力降低, 待偵測到扭力變化再度呈現由低變高, 從這些記錄裡, 便可以獲得扭力最小值的點..
5e. 因為 A/D 轉換會有變化低於最低解析量的問題, 您可以單純採用兩方向扭力由低變高的兩個位置的中心點為最低扭力點, 或是它們斜率的交叉點為最低扭力點也可, 這是數值方法中, 對非線性方程式求根的兩個基本技巧的運用..
5f. 程式上需有一計數記時器, 若自動校準超時, 代表卡死, 須尋求人工協助..

我想以上方式, 應該很容易解決您目前所遇到的問題..
 
舊 2014-06-28, 02:37 PM #22
回應時引用此文章
山賊離線中  
老柏(第四)
Senior Member
 
老柏(第四)的大頭照
 

加入日期: Mar 2012
您的住址: 地球
文章: 1,303
引用:
作者山賊
1. 就是因為使用兩組馬達在平行雙軸上運行, 只要兩組馬達或驅動機構本體直徑有誤差, 時間久了兩端運行累積距離就會不一樣進而造成歪斜..

2. 被其它機構影響也不無可能, 譬如運行平台上還有其它機械機構 (此處簡稱為 A ) 在運行, 因為慣性使然, 該 A 機構運行時所產生的反作用力最終是由雙軸的兩個馬達機構承擔, 若兩個馬達機構所承擔的軸向作用力大小不同, 難保不會造成歪斜..

3. 既然您是用手動方式, 先將一軸靠到底以進行歸零定位, 為何不將另一軸也靠到底便完成歸零定位? 您只要確定兩個底是在同一軸向位準即可; 而所謂的底, 可以是光電介面, 也可以是機械檔板, 看您自己方便..

4. 若每次歪斜的角度與距離差距都一樣, 那麼您只要再手動校準一次, 便可以量出校準時, 需要移動該單一軸的方向與距離量, 以後只要偵測到歪斜程度超過容許值, 便進行驅動該單軸往該方向與所需距離量即可..

5. 若每次...

最主要是已經出去的機種沒有SENSOR(應該說只有單邊有SENSOR,且直接連到軸卡沒連到驅動器),我想補漏洞

如果兩邊都有SENSOR的話,我直接用慢速扭力限制模式一起退到SENSOR就好了
__________________
[/url]
老柏                 老柏(第二)

老柏(第三)              老柏(第四)
舊 2014-06-28, 03:53 PM #23
回應時引用此文章
老柏(第四)離線中  
egoAaron
Amateur Member
 
egoAaron的大頭照
 

加入日期: Nov 2011
文章: 42
看图應該用高斯方程去擬和
google "grace fitting"
舊 2014-06-28, 04:22 PM #24
回應時引用此文章
egoAaron離線中  
山賊
Major Member
 

加入日期: Jun 2002
文章: 125
引用:
作者老柏(第四)
最主要是已經出去的機種沒有SENSOR(應該說只有單邊有SENSOR,且直接連到軸卡沒連到驅動器),我想補漏洞

如果兩邊都有SENSOR的話,我直接用慢速扭力限制模式一起退到SENSOR就好了


那麼就使用前面所提過, 加鎖機械擋板來作為歸零定位用 (我還是比較傾向於使用光電 SENSOR, 以避免碰撞噪音與日久碰損磨耗), 在遠比最短發生歪斜時間之前, 就讓程式自動進行歸位程序, 就類似早期 APPLE ][ 磁碟機, 每次開機就進行磁頭歸零一樣..

要不就定時採行前面提過的雙向扭力偵測運算方式也可, 只要您的設備可以偵測扭力 (或是馬達電流大小) 即可..

因為扭力的最低點就是方程式的根, 您可以想像兩軸相對位置差即為 X 軸, 而該龍門同動機構就是反應方程式本身, 扭力值就是 Y; 您並不需要取得所有的點以建立反應方程式, 而是丟入 X , 讓該機械機構反應出扭力 Y, 以 X 的方向與偏移量來觀察 Y 的大小變化, 即可得出趨近於最低扭力 Y 的 X 點:

            X
        <------->
       移動此端以偵測扭力 Y 的變化
          +----+
      ====|    |========
          |    |
          |    |
          |    |
      ====|    |========
          +----+
           此端固定



   Y
   |
   |
   |  *             *
   |
   |   *           *
   |
   | ︿  *       * ← 可接受扭力上限
   | |   *    *
   | ﹀     *
   |
   |     可接受 X 偏移量 
   |    <------->
   +------------------ X


   Y
   |
   |
   |  *             *
   |
   |   *           *
   |
   |   \*       */
   |    \*    */
   |     \ * /
   |      \/ 
   |       ↑ 切線交點
   |
   +------------------ X

此文章於 2014-06-28 05:27 PM 被 山賊 編輯.
舊 2014-06-28, 05:25 PM #25
回應時引用此文章
山賊離線中  
老柏(第四)
Senior Member
 
老柏(第四)的大頭照
 

加入日期: Mar 2012
您的住址: 地球
文章: 1,303
引用:
作者山賊
那麼就使用前面所提過, 加鎖機械擋板來作為歸零定位用 (我還是比較傾向於使用光電 SENSOR, 以避免碰撞噪音與日久碰損磨耗), 在遠比最短發生歪斜時間之前, 就讓程式自動進行歸位程序, 就類似早期 APPLE ][ 磁碟機, 每次開機就進行磁頭歸零一樣..

要不就定時採行前面提過的雙向扭力偵測運算方式也可, 只要您的設備可以偵測扭力 (或是馬達電流大小) 即可..

因為扭力的最低點就是方程式的根, 您可以想像兩軸相對位置差即為 X 軸, 而該龍門同動機構就是反應方程式本身, 扭力值就是 Y; 您並不需要取得所有的點以建立反應方程式, 而是丟入 X , 讓該機械機構反應出扭力 Y, 以 X 的方向與偏移量來觀察 Y 的大小變化, 即可得出趨近於最低扭力 Y 的 X 點:

            X
        <------->
       移動此端以偵測扭力 Y 的變化
          +----+
 ...

感謝您的圖解,我就是要這樣做,我問的數學問題就是想找出這條曲線,我怕我抓的所有點之中剛好沒有最低點,所以我才來問說有沒有辦法用計算的方式找到這條曲線,進而求出最低點
__________________
[/url]
老柏                 老柏(第二)

老柏(第三)              老柏(第四)
舊 2014-06-28, 09:24 PM #26
回應時引用此文章
老柏(第四)離線中  
山賊
Major Member
 

加入日期: Jun 2002
文章: 125
引用:
作者老柏(第四)
感謝您的圖解,我就是要這樣做,我問的數學問題就是想找出這條曲線,我怕我抓的所有點之中剛好沒有最低點,所以我才來問說有沒有辦法用計算的方式找到這條曲線,進而求出最低點


我的意思是, 您根本不須找出那條曲線的方程式以建立在程式中, 而是把該龍門同動機台當作是方程式本體 f(x), 當您刻意輸入偏差的 X 值, 透過該機台 f(x) 自然得出扭力值 Y..

闢如兩組割線交插 (取四點):

   Y
   |
   |  a              d
   |  *             *
   |   b            c
   |   *           *
   |
   |    *       *
   |     *    *
   |       *
   |       O
   +----------------- X







          P



假設 O 是期望中理想的扭力最低點, 我們刻意移動一軸造成左歪斜分別到 Xa, Xb, 就會得到扭力 Ya, Yb; 再刻意移動該軸造成右歪斜分別到 Xc, Xd, 就會得到 Yc, Yd:

   +-----+
  ==\     \==========
     \     \
      \     \
  =====\     \======= 
        +-----+

             +-----+
  ==========/     /=
           /     /
          /     /
  =======/     /====
        +-----+

座標 (Xa,Ya) 與 (Xb,Yb) 形成 \ 的割線, 座標 (Xc,Yc) 與 (Xd,Yd) 形成 / 的割線, 兩割線交會點 P 其 X 座標會趨近 O 的 X 座標, 就以 P 點的 X 座標當作自我校準的座標即可..

以割線法求方程式的根, 其原理基本上是與切線法相似..
舊 2014-06-28, 11:58 PM #27
回應時引用此文章
山賊離線中  
奶油銓
Basic Member
 

加入日期: Feb 2002
您的住址: 地球
文章: 20
引用:
作者山賊
我的意思是, 您根本不須找出那條曲線的方程式以建立在程式中, 而是把該龍門同動機台當作是方程式本體 f(x), 當您刻意輸入偏差的 X 值, 透過該機台 f(x) 自然得出扭力值 Y..

闢如兩組割線交插 (取四點):

   Y
   |
   |  a              d
   |  *             *
   |   b            c
   |   *           *
   |
   |    *       *
   |     *    *
   |       *
   |       O
   +----------------- X







          P



假設 O 是期望中理想的扭力最低點, 我們刻意移動一軸造成左歪斜分別到 Xa, Xb, 就會得到扭力 Ya, Yb; 再刻意移動該軸造成右歪斜分別到 Xc, Xd, 就會...


我覺得樓主根本就沒有看懂您的方法。

不過您這個方法,有一個很顯然的問題是要是取點偏離最低點太多,您割線的交點就會偏離最低點很多。
舊 2014-06-29, 12:05 AM #28
回應時引用此文章
奶油銓離線中  
micall.lee
*停權中*
 
micall.lee的大頭照
 

加入日期: Jul 2013
文章: 331
引用:
作者789w
我很好奇說常態分佈的
清不清楚使用常態分佈的X軸和Y軸是什麼數字
常態分佈是生成函數轉分佈函數,是一種機率分配
不是這種情況使用
虧某位還說朋友國中程度不到
有興趣的可以去讀金融工程書籍,也有程式實作
如期貨選擇權、利率、定價..等

的確不是直接拿常態分布的分配去代

但如果你講到迴歸分析,常態分布仍是重要的概念

以前我在教迴歸分析,一定要畫類似這種圖出來,不然只講最小平方法,推一堆公式出來,只為了畫一條線,根本看不出來有甚麼機率的概念在裡面

舊 2014-06-29, 12:11 AM #29
回應時引用此文章
micall.lee離線中  
山賊
Major Member
 

加入日期: Jun 2002
文章: 125
引用:
作者奶油銓
我覺得樓主根本就沒有看懂您的方法。

不過您這個方法,有一個很顯然的問題是要是取點偏離最低點太多,您割線的交點就會偏離最低點很多。


不會, 因為只要所取的軸偏移量, 是在左右歪斜容許程度範圍內, 所計算出的割線交點 X 值就會比左右歪斜容許值要更加接近最低值; 而且不見得只能左右各取兩個點, 所以我說的是 "譬如"; 實務上可以多取幾點以得出多個割線交點, 再對這些交點的分佈集合, 進行計算取樣, 看要用常態分佈, 還是簡單的平均值計算等各種方式都可..

真正會有問題的地方在於 A/D 轉換的最小轉換刻度, 和歪斜程度以及其所對應的最大靜摩擦力是否正相關..

若左右兩側的各兩個點所形成的最大靜磨擦力非常接近, 接近 (增加取樣誤差) 甚至低於 A/D 轉換最小轉換精度時 (斜率太低, 增加 x 座標計算誤差); 或是差異太大, 斜率過高 (增加 y 座標計算誤差), 以及因日久磨耗, 導至剛好某個區域, 外側取樣點的最大摩擦力比內側取樣點要小時, 就會出問題; 不過這可以在程式判讀上, 以左右割線斜率是否在容許值內來加以判別, 換言之也可以割線斜率, 來當作機構運作品質變化的參考..

我想樓主可能一開始就陷於一定需要得出曲線方程式, 才能以計算方式取得最低點的思考迷思; 其實不管任何方法所計算取得的各類方程式, 都只是現實上的一個趨近模擬, 以該方程式所計算出的最低點, 只是該種方程式在數學上的最低點, 不見得是現實上的最低點, 所以我才會說, 不見得非得得出數學上方程式不可, 機構本身就是方程式; 就以開版樓主的這個議題來說, 要取得扭力最小點, 或可簡單地讓移動軸從左到右跑一遍即可得出, 只要扭力變化是在 A/D 轉換的最小轉換刻度以上..

採用割線或切線法去取得趨近最低扭力點的主要意義在於, 接近最低點時的扭力變化, 很可能非常接近甚或低於 A/D 最小轉換刻度, 此時依據所有點取樣轉換出來的數值, 因為取樣誤差大, 所獲得的方程式, 很可能與現實差異甚多; 而採用兩側割線去計算趨近最低點, 在一定程度上可儘量減少這方面的誤差, 當然它也不見得是最佳方式就是了..

樓主這個問題若要我解決, 我會採行簡單有效的方式, 就是加裝光電遮斷或是磁力霍爾作為歸零定位依據, 省得在那邊歪來歪去, 稍一不慎卡死豈不糟糕.
舊 2014-06-29, 01:58 AM #30
回應時引用此文章
山賊離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是06:24 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。