コンピュータ・アーキテクトのためのモーター制御:SYSTEM DESIGN JOURNAL(5/5 ページ)
「モーターを制御する」。一見すると簡単な課題に思えますが、その原理や課題、現状を再確認すると、リアルタイムシステムアーキテクチャの今後の方向性を示していることが分かります。
処理の積み重ね
ここまでに実行したジョブは、16kHzサイクルあたり数十個、あるいは200〜300個の算術命令に及んでおり、さらにFFT計算もあります。低価格MCUでの単純な割り込みサービス・ルーティングを超えてタスクが増加するポイントに近づいていますが、これで終わりではありません。
最も明らかなのはモーター数の追加です。フライス盤のツール位置や多指多関節ロボットハンドなど、多くの制御タスクは本質的に多軸です。統合レベルと軸間でリアルタイムデータを共有する必要性のどちらも、1台のマルチチャネルコントローラーを使用する利点を示唆していますが、軸間で重複する計算がほとんどないため、チャネル数の増加は即、作業負荷の倍増につながります。
次にサンプリングレートがあります。今やサンプリングレートは歴史的な基準である16kHzに留まらず、RMS位置誤差や速度誤差の低減を目指して高くなり始めており、場合によっては100kHzに達しています。当然ですが、サンプル区間が増加すると、リアルタイム計算完了までの時間が減少します。リアルタイム計算は、サンプル区間内に収めなければならないからです。
さらに、現場組織の変化もコントローラー・アーキテクチャにプレッシャーを与えています。それは、サブシステムのネットワーク化が進んでいることです。大きな転換点となったのは、デザインへの産業用ネットワーク・インタフェースの追加でした。システム設計者は、コマンド発行、状態の確認、記録データの読み取りをネットワーク経由で行うことをますます望むようになっています。
ネットワークインタフェースにより、必要な物理層およびハードウェアが追加されるだけでなく、制御ループのサンプル同期活動とは非同期に実行されるプロトコルスタックも追加されます。つまり、割り込み駆動型の単純なリアルタイム・タスクだけでなく、リアルタイムと対ネットワークという2つのタスクにデッドラインがあることになります。この時点で、RTOSの必要性から逃れることは難しいでしょう。
ネットワークアクセスには脆弱性が付随します。残念ながら、ネットワーク接続された制御システムへの攻撃の可能性は、インターネットに直接露出されているかどうかにかかわらず、ハッキングがもたらしうる潜在的損害の程度に関係します。完全な安全はあり得ません。そのため、一見重要性の低いモーターコントローラーのサブシステムでさえも、将来は防御が必要になるはずです。つまり、メッセージの認証やデータの暗号化/復号をローカルで実行しなければならなくなり、通常は暗号アクセラレータが必要になるということです。
以上、最初の質問におおよそ回答しました。
これまで見てきたように、ますます多くの機能がソフトウェア化されるにつれて、PMSMコントローラーは低価格MCU向けの簡単なタスクから、ハードウェア・アクセラレーションを必要とする高い計算負荷を伴うタスクにまで至っています。
また、FFT、有限インパルス応答(IIR)フィルタ、ネットワークインタフェース、付随するセキュリティ機能の必要性を指摘しました。十分な処理能力を提供しながら、リアルタイムタスクとバックグラウンドタスクの適切な分離を維持するには、非対称型マルチプロセッシングが最善の方法と考えられるようになっています。
コンピューティング環境は、割り込み駆動型のベアメタル。コードセットから、マルチコンテキスト・ワークロードへと拡大しています。そうしたワークロードは、多くの厳しいリアルタイム・タスクと幾つかの通信関連バックグラウンド・タスクで構成され、バックグラウンド・タスクの一部にも産業用ネットワークの厳しいデッドラインがあります。
そうしたタスクが混在する環境にはRTOSがまず間違いなく必要です。また、セキュリティの必要性から、カーネルに対する信頼の根源も必要です。FPGAに実装するにせよ、セルベースのテクノロジーに実装するにせよ、小さなモーターコントローラーにも立派なヘテロジニアス・マルチコアSoCが必要な時代を迎えています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- あのロボットが私のハードウェア予算を食っている!
ロボットを止めるにはもう遅すぎる――これはハードウェア予算やシステムデザインの話ですが、影響を軽減することは可能です。「あるロボットに未知の地形を滑らかに歩かせる」を例に、エンベデッドシステム化するロボットについて考えてみましょう。 - 限界に達したエンベデッド・プロセッサを並列処理で補完する
組み込みシステムの能力を並列処理で補完するアイデアは、身近で現実味を帯びたものとなっています。しかし、その実行に際しては手法の選択が重要な意味を持ちます。OpneMPやOpenCLなどを理解しながら、最適な手法を検討しましょう。