いまかみさんのLinuxCNCでのLatencyTest

blog.いまかみどっとねっとより。。

Q1900B-ITXをLinuxCNCに使ってみる


シマリス技研さんのお手伝いで参加させていただいたメイカーフェア2014の時に知り合ったいまかみさん、割りと最近のPCのマザーボードでのLinuxCNCのレイテンシテストの記事を上げられてます。

低消費電力な最近のCPU、マザーボードで4コアのもの。
LinuxCNC特有のCPUコアをLinuxCNCの制御用に占有化するisolcpus。私の持ってるマザーボードは2CPUコアまでだったので、試したことのない2コア3コアの占有を実験されてます。

指定するコア、コア数によって、CPUの遅延の具合が変わるのは、とても面白い考察だと思いました。
とりあえず、パラレルポート付きのマザーでなくとも、PCI-Eは載っているはずなので、デスクトップタイプのPCでのLinuxCNCの使用は出来るようです。。


以前の記事「LinuxCNCのLatencyHistgramとLatencyPlot」にて、古いPCでのLatencyTestの画像を載せてあります。
比較すると面白いかも。。




どうしてレイテンシテストをして、レイテンシを測るのでしょうか?

CPU自体プログラムに忠実にプログラムに書かれた順番に処理していきます。
しかし、リアルタイムコントロールとゆうのは、厳密にゆうと、決まったタイミングで処理され実行されなければなりません。
このタイミングがズレると、位置がズレます。(実際には一定期間以内のタイミングとされてます)

参考としてhttp://www.machinekit.io/より。
overview of the Portable Realtime APIのPDFの21ページ。。

LinuxCNC自体、他小型、ホビー用途用に使えるCNCコントローラーとして多分唯一、フィードバック制御をしていて、ステッピングモーターを使用した場合のオープンループな制御でも、内部では、位置フィードバック制御がなされています。

レイテンシテストを行いコンピュータ自体の処理のゆらぎ、遅延を測り一定期間内に処理を終わらせモーション信号を送信しないと、Gコードで記述されたモーションが綺麗に再生できません。

これは、音楽とかに近いものがあり、タイミングがズレれば、正確な楽譜通りの、、ってことに。
もちろん音楽は芸術なので、楽譜に正確に演奏することが目的ではないのですが。


AVRをNCコントローラーにするソフトウエア、GRBLはJitter freeを謳ってますが、1コアのMCUなので、完璧に、Jitterが無いとは言い切れない部分があるのでは??とも思います(きちんと計測してないので)

もちろん、厳密に言えば信号出力した瞬間から、軸駆動用のモーターが駆動し、フレームが動き、刃物の先端が動くまでには、時間がかかり、遅延が発生しているとも言えると思います。

この遅延が一定量であるのならば、Gコードに記述されたモーション自体は正確に再生されてることになる、、とも思います。。









スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ