實時系統抖動對運動控制有哪些影響?
現在的運動控制器(機器人和CNC)一般都有一個實時操作系統RTOS,如vxworks,QNX和Linux的各種實時系統(RTAI、Xenomai、RT-Linux等),主流機器人控制器中很多使用vxworks作為其RTOS,如ABB、KUKA、安川、KEBA和BR。請教大神們一個問題,實時系統的jitter會對控制器的性能帶來哪些影響?下表是一個論文中在不同RTOS和不同的硬體平台下測試的一個對應結果:
比如抖動會對控制位置精度的降低:
請大神們指點,RTOS的抖動會對系統本身、運動控制性能帶來哪些影響?非常感謝!
2016年10月15日update
在外網上找到一篇類似問題的答案,歡迎各路大神討論啊http://electronicdesign.com/electromechanical/virtualization-helps-cnc-machines-consolidate-real-time-processing文中提到了下面一句,為什麼輸入要快於輸出決定很多倍?沒能理解啊:And in order to
針對twincat答案提到的ethercat匯流排任務的周期在1ms至4ms之間基本都能正常運行。文中還提到下面一句:But even a one- or
guarantee that the machine』s outputs are produced on time, the machine』s
inputs need to be sampled much faster – typically many times faster than output
decisions need to be made, according to control system experts.
two-millisecond response time is not the fastest response that the system must
make. Because of high
precision timing and oversampling requirements of some fieldbus (machine
network) interfaces (e.g. EtherCAT), the cycle times of control loops that
manage these need to be as short as 100 microseconds.2016年10月15日下午updateReal-time Operating System Timing Jitter and its Impact on Motor Control
https://www.researchgate.net/publication/250395888_Real-time_Operating_System_Timing_Jitter_and_its_Impact_on_Motor_Control2016年10月25日下午update針對大家提到的上面圖片的數據太老,最新整理髮現一片新的文章,主要是針對不同RTOS的性能比較http://www.lisha.ufsc.br/wso/wso2009/papers/st04_03.pdf
//為防止論文查重,先把答案撤了。萬一飄紅了就不好玩了
這個只是接受計算命令的時間,真正處理還有後面的電流控制時間,這些jitter也會有一定影響。
即使如此,命令的抖動在不同時間下發,相當於帶來了擾動,也跟系統的帶寬跟模型有關。
看應用場景啦
點位控制中,運動控制器通過匯流排對伺服驅動器發送位置設定值,匯流排刷新時間jitter 對應用 沒啥影響; 通過匯流排發送速度指令,還沒見過這麼奢侈的案例; 控制器發脈衝,跟匯流排沒關係了。
輪廓控制中,控制器通過匯流排對各軸發送速度指令, 輪廓誤差和以下因素相關 速度指令刷新頻率,刷新間隔的jitter, 速度本身。
打個比方,高速公路上轉彎的地方會限速,人眼睜閉頻率假設是30hz, 占空比1% ,睜眼時調整方向盤和油門可以通過,jitter的影響相當於就是,閉著眼一段時間不調整方向盤過彎,閉眼時間段越長,偏差越大@韓峰濤找他,這個問題濤哥回答肯定切中要點
68K好老的CPU啊,你找的這個OS的對比基本是10年前的東西了。現在的處理器+RTOS jitter基本都是幾百ns,應該對控制的影響不大了。。。如果覺得jitter還是太大了可以用poll,現在很多處理器都是多核的。
很有意思的問題...不過和我做的距離比較遠,我對這方面並沒有什麼實際經驗,所以答案可能參考意義比較小。我做模擬一般的控制頻率在kHz左右(再低比如100,200hz基本都不穩定,不能達到quasi-continuous的效果),所以是mS級別的,幾個或者10幾個uS的響應延遲都是符合要求的。下面圖上的那個應該是比較大的延遲所引起的。
另外...摩托羅拉的68000現在還有市場啊...O.o...讓我大吃一驚...額...不知道zilog的z80還活著末?...這些東西好像比我年齡都大了...lol
推薦閱讀:
※ROS在工業機器人上的應用?
※請問EtherCAT和CANopen之間有什麼關係?
※如何系統性地學習工業機器人技術?
※求推薦,國外有哪些機器人資訊網站?
※機器人領域研究什麼比較有前途?