未来を可能にするお手伝い
開発設計者にとってモーター制御は従来の設計から、動的制御、電力、および効率の観点からデジタル制御の電子整流モーターに置き換わっています。 エンジニアたちが産業、HVAC、コンシューマ、または自動車システム向けにより多く導入するにつれて、コストを抑えながら、よりスマートなアルゴリズムとますます複雑化する制御機能を提供することが求められています。 そこで私たちは最近、ルネサスがこのバランスをどのように実現するかを示すデモを作成しました。
このアプリケーション例では、RA8T1 モータ制御 MCU の性能を最大店に活用させ、2 つのモータを独立して制御しながら、複数の AI 推論モジュールを同時に実行して動作の異常を検出します。 私たちは、回転軸のズレ(shaft misalignment)と偏荷重(unbalanced load)と言うモーターシステムにおけるリアルな懸念事項に対処しています。 しかし、これらはRA8T1のMCUを使ってエンジニアの皆さんが組み込みモータ制御設計で開発する無数の高度なアルゴリズムの一例にすぎません。 デモでは、センサレス モータ制御を使った AI ソリューションを作り、更に組み込むための RealityCheck™ Motor ツールボックスを中心に構築されています。 このワークフローは、ルネサスの統合開発環境(IDE)であるe² studioの機能と、クラウド型機械学習システム「Reality AI Tools® 」を連携させるためのツールボックスというものです。 また、他にもReality AI Tools®で生成したAIモジュールと、ルネサスのe-AIトランスレータを通じてオープンソースの機械学習プラットフォームから取り込んだAIモデルとも組み合わせることができます。 もちろん組み込み向けとして作られるため、すべてのコードはコンパクトで効率的であり、組み込み先のMCUには他のタスクのために十分なリソースも残っています。
RA8T1を少し紹介しましょう
32ビットMCUのRA8T1は、最大480MHzのHeliumテクノロジーを搭載したArm® Cortex-M85®コアを、モーターまたはインバーター制御に最適化されたパッケージです。 この製品は、市場に出回っている他のモーター制御ソリューションよりも大幅に高速で高度であり、AIなどの高度なアルゴリズムにも十分な馬力を発揮するとともに、複数の独立したモーターの精密な電子制御を維持します。
AI演算に関しては、ArmのHeliumテクノロジーと2MBの密結合Dキャッシュの組み合わせにより、RA8はたとえ同様のクロックレートであっても他Armコアに比べ最大10倍の推論を高速化できます。 これにより、エンジニアの皆さんは大きなメリットを得ることができ、これまで中程度のクロックレートのMCUでは実行できなかった複雑なアルゴリズムや意思決定が可能となります。
2つのモーター、2つのAIモジュールを、1つのコアで
次に、今回ご紹介する新アプリケーション例について説明します。 この例では、RA8T1 が 2 つの異なるモーターを独立して制御しながら、2 つの異なる AI 推論モジュールを同時に実行しています。「Motor Anomaly Detection – Unbalanced Load & Shaft Misalignment」のデモ動画もご覧ください。
この設定では、実際のモーター動作で発生する 2 種類の異常(回転軸のズレと偏荷重)を検出しています。 シャフト(回転軸)のズレは、モーターの出力シャフトが、駆動している側の負荷と完全に位置合わせされていない場合に発生し、予想外のトルクや摩擦を引き起こします。 不平衡負荷(偏荷重)は、駆動するシステムが負荷により動的バランスを崩し、モータがシャフトに対して直交して回転し、各回転の過程で負荷抵抗が変化する形で振動が発生する場合に起こります。
どちらの状態もモータシステムにとって深刻な懸念事項であり、電力損失、過度の騒音や振動、ベアリングの急速な摩耗からの危険な状態、構造上の故障など、深刻な問題を引き起こします。 高電力の産業用システムなど、一部のアプリケーションでは、適切な位置合わせやバランスが少しずれるだけでも、時間の経過とともにとても大きな問題を引き起こす可能性があります。 洗濯乾燥機などの他のアプリケーションでも、ある程度の偏荷重やズレが予想されますが、過剰になれば機械の内部衝突や故障の原因となります。
この例では、両問題を小降りにして再現してみました。シャフトのズレには、1つめのモーターをギアボックスに接続したシャフトとして構成しました。 モーターを載せたボードを指で押してみると、軸(シャフト)が曲がり、ギアボックス側との位置がずれます。
偏荷重では、2 番目のモーターを使います。アルミニウムのハブをつけ、そこに小さな M4 ネジを挿入できるようにして再現します。 ネジがない場合、ハブは駆動モーターに対しバランスの取れた負荷を通常モードとして与えます。 ネジを差し込んでみると、モーターの負荷で少しバランスが崩れます。
当社の 2 つの AI モジュールは、これら 2 つの条件を検出するようにトレーニングされています。 次に、ダッシュボードのディスプレイ (図 2 を参照) と接続することで、リアルタイムで何が起こっているかを確認できるようにしました。
ディスプレイには、各モーターの状態にラベル付けされており、状態を色分けとテキストで示すようにしています。 ここに、システムが特定のしきい値に関する異常(回転軸のズレまたは不均衡な負荷状態)を検出するたびにオレンジ色で表示されるスクロールタイムラインも含んでみました。
図3で示すように、RA8T1 MCUではかなりの数のプロセスが同時に実行されています。 BLDC モーターを駆動するベクトル モーター制御アルゴリズムの 独立したインスタンスが2つあります。 各インスタンスは、制御プロセスから 2 つのAI 推論モジュールにライブ データも送信します。 AIモジュールは、このデータを監視して、正常な動作と問題のある動作を示します。 AIシステムは内部のモータ制御データのみを使用するため、異常状態を監視するためにセンサを追加する必要はありません。 RealityCheck™ Motor Toolboxの優れた特徴を生かすことで、エンジニアの皆さんは設計上センサーをなくし、BOMコスト上げることなくAIによる監視ソリューションの作成ができます。
表1に示すように、当社のAIモジュールはRAMとフラッシュメモリのフットプリントが小さく、RA8T1の高度な機能を活用すれば、どちらも非常に高速で処理が可能です。 因みに、両方(シャフトのズレと、偏荷重)で使用される合計のメモリサイズは、フラッシュは 14KB 未満で、RAM は 5KB 未満です。 更に、各モジュールは1ms未満で推論を実行するため、各モーターのサブシステム上で毎秒8回推論を実行しても、CPUの負荷は非常に小さくなります。
どのように構築するか?
この一連の物語は、ルネサスe² studio のユーザが、Reality AI Toolsとのインターフェースとしてシームレスに統合されたワークフローで使われるRealityCheck™ Motor Toolboxから始まります。 この機能を以下の図 4 に示します。 エンジニアの皆さんは、ルネサスのモータ制御用MCUを使って、Data Storage Toolへ直接プラグインしデータを収集します。 ルネサスのMCK-RA8T1 のような評価ボードを使用するか、お客様ご自身のルネサスMCUを使ったハードウェアを使用することができます。 このツールボックスには、Renesas Flexible Software Package(FSP)スタックに関連付けられたサンプルコードも含まれており、ベクトルモータ制御アルゴリズムからライブデータ/パラメータを選択/取得するためのガイドも提供します。 数分で、ユーザーは実際のモーター使用条件下でボードからライブデータを収集できます。
特に偏荷重検出のために、当社のデータ収集マトリックスには、(1)ハブにネジがある場合とない場合、および(2)対処したい速度の範囲の2つのバリエーション列があります。 そしてデモを構築するために、これらの条件の組み合わせでデータ・サンプルを収集し、また物理的なセットアップで発生するランダムな変動をカバーするために複数回繰り返し収集しました。 表 2 は、データ カバレッジ マトリックスの例を示しています。
さて、ではルネサスのワークフロー上で有用な分類子をどのように設定するのでしょうか?
AIの確実な成果は、常に構造化されたデータ収集から始まります。 私たちは、関心のある検出クラスに対応するさまざまな条件下でのデータ例と、実際に見られると予想される運動条件にわたるデータの変動を収集します。
e² studioのData Storageプラグインから、このデータを直接クラウドにアップロードし、Reality AIツールを使用して機械学習モデルのトレーニングおよび最適化できます。 このプロセスは、当社独自のAI Explore™手法を使用して高度に自動化されていますが、ユーザー側で採用できる幅広いテスト、調整、最適化も提供しています。 (詳細については、 Reality AIツールの ページを参照してください)クラウドでのモデルの精度に満足したら、推論モジュールを生成し、組み込みライブラリコードをe² studioにエクスポートしてテストすることができます。 ユーザーは、生データから組み込み用のコード生成へ至るまで、シンプルで高速なエンドツーエンドのワークフローを利用可能です。
ちょっと待ってください。例えば、独自のAIモデルがある場合はどうでしょうか?
一部のお客様は、Keras、Tensor Flow、Pytorch などの主要なオープンソース フレームワークで開発された独自の AI モデルを使いたいと仰るでしょう。 RealityCheck Motorは、Renesas e-AI Translatorプラグインの助けを借りて、それも可能にします。 この強力なe² studioプラグイン機能は、オープンソースで作成したAIをインポートし、プロジェクトに直接リンクできるコンパクトなCコードへ変換することができます。
今度は、シャフトのズレ検出器の構築方法です。 先と同様の方法で、RealityCheck™ Motorのデータキャプチャとe² studioのData Storageツールを使ってデータを収集しましょう。 しかし、今回はReality AI Toolsを経由する代わりに、この新しいデータをPythonフレームワークにインポートし、Kerasを使ってデモ用AIモデルをトレーニングしてみました。 次に、e-AI Translatorを使用して、トレーニング済みのKerasモデルを、プロジェクトコードにインポートします。 このモデルは、RealityCheck Motorのキャプチャ機能から流れるデータで動作するようにすでに設定されているため、e-AI推論コードをプロジェクトの他の部分と簡単に統合することができます。
この例では、Reality AI Toolsワークフローで作成されたAIモジュールを、e-AIトランスレータを介して他のソースからインポートしたAIモジュールと簡単に組み合わせる方法を示しています。 ユーザーは、一般的なトレーニングフレームワークから任意のディープラーニングモデルやNNモデルをインポートできるため、もしお客様独自のモデルを持ち込みたい場合は、喜んでお手伝いしますのでご連絡下さい。
まとめると...
RealityCheck Motorツールボックスは、ルネサスのe² studio (IDE)とクラウドベースのReality AI Toolsと言う機械学習環境を組み合わせ、データ収集からAIモデルの構築、その後のコンパクトで効率的な組み込みコード生成まで、シームレスなエンドツーエンドのワークフローをサポートします。 これらはすべて、評価ボード上または独自の製品ハードウェア内を問わず、お客様ご自身が選んだルネサスのモータ制御用MCUで機能します。 または、すでに採用中のMCU向けで動作するAIモジュールも簡単に作成でき、多くの場合、モータ制御アルゴリズムのライブデータ用以外の追加センサーは不要です。 そして、オープンソースのAIプラットフォームから独自のモデルを持ち込みたいお客様には、e-AI Translatorのインポート機能をご利用する事で同様の事が行えます。
32ビットMCUのモータ制御に最適化されたRA8T1 は、高性能Arm Cortex-M85コアと、Heliumや密結合Dキャッシュなどの高度な機能を搭載し、アルゴリズムの処理を最大10倍高速化します。 この処理能力により、複数のモーター、複数の組み込みAIモジュール、およびその他の高度なアルゴリズムをすべて1つのMCUで集約させ、コスト効率の高い製品を実現します。
ルネサスの技術と高度なAIソリューションにより、お客様の次世代モータ制御システムの設計を、まさに今、備えることができます。
紹介ドキュメントや動画などより詳細について確認されたい方は、 renesas.com/realityai-tools にアクセスするか、ルネサスのエンジニアリングチームに デモをリクエスト してください。