工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> モノのインターネットテクノロジー

MATLABでライブIoTデータを活用:RTI Connext DDS連携

MATLABでライブIoTデータを活用:RTI Connext DDS連携

センサーデータを分析する際、典型的なワークフローは、生データを収集し、使いやすい形式に変換し、MATLABの強力な分析機能を活用することです。しかし、データ変換ステップは時間がかかります。MathWorksの最近の統合により、MATLABはIIoT通信のデファクトミドルウェアであるDDSを介してデータを直接購読・公開できるようになりました。これにより、開発者は最小限のオーバーヘッドでリアルタイム分析のプロトタイピングとテストが可能になります。

はじめに

開始前に、MATLABとRTI Connext DDSがインストールされていることを確認してください。例で使用したバージョンは以下の通りです:

インストール動画を見て、すべてのコンポーネントが正しく構成されているか確認してください:インストール動画。

初期化

インストール後、以下の手順でMATLAB内でDDSを初期化します:

IDLファイルをインポートすると、対応する.mファイルがMATLAB用に自動生成されます。例えば、ShapeType.idlをインポートするには:

> DDS.import('ShapeType.idl','matlab','f')

インポート後、そのデータ型は以降のDataReader/DataWriter作成で利用可能になります。Domain Participantを作成:

> dp = DDS.DomainParticipant;

ShapeTypeデータ型でTriangleとSquareトピックにライターとリーダーを接続:

> dp.addWriter('ShapeType','Triangle')
> dp.addReader('ShapeType','Square')

Shapes Demoでのデータ購読

RTI Shapes Demoは、Square、Circle、Triangleの事前設定済みトピックを提供し、すべてShapeTypeベースです。デモを使ってTriangleトピックの購読者を作成し、QoS設定はデフォルトのままにします。

MATLABでライブIoTデータを活用:RTI Connext DDS連携

MATLABからのデータ公開

DataWriterを設定したら、緑の三角形を公開します:

%% ShapeTypeのインスタンスを作成
myData = ShapeType;
myData.x = int32(75);
myData.y = int32(100);
myData.shapesize = int32(50);
myData.color = 'GREEN';
%% DDSにデータを書き込み
dp.write(myData);

Shapes Demoには、以下のように単一の緑の三角形が表示されます:

MATLABでライブIoTデータを活用:RTI Connext DDS連携

その他の公開パターン:

%% 1Hzで直線上に緑の三角形
for i=1:10
  myData.x = int32(20 + 10*i);
  myData.y = int32(40 + 10*i);
  dp.write(myData);
  pause(1);
end
%% 20Hzで円周上に緑の三角形
for i=1:1000
  angle = 10*pi * (i/200);
  myData.x = int32(100 + (50 * cos(angle)));
  myData.y = int32(100 + (50 * sin(angle)));
  myData.shapesize = int32(40);
  myData.color = 'GREEN';
  dp.write(myData);
  pause(0.05);
end

デモではこれらのパターンが以下のように可視化されます:

MATLABでライブIoTデータを活用:RTI Connext DDS連携 MATLABでライブIoTデータを活用:RTI Connext DDS連携

Shapes Demoでのデータ公開

Shapes DemoでSquareトピックのパブリッシャーを作成します。色(例:オレンジ)を選び、QoSはデフォルトのまま。デモは30ミリ秒ごとに正方形のX,Y位置をブロードキャストします。

MATLABでライブIoTデータを活用:RTI Connext DDS連携 MATLABでライブIoTデータを活用:RTI Connext DDS連携

MATLABでのデータ購読

Square DataReaderを使ってShapes Demoからデータを消費します。1秒間隔で10サンプル読み取り:

%% データ読み取り
for i=1:10
  dp.read()
  pause(1);
end

MATLABは以下のスクリーンショットのような10メッセージを出力します:

MATLABでライブIoTデータを活用:RTI Connext DDS連携

高度なユースケース:変換と可視化

双方向通信を確立したら、受信した正方形データのX座標とY座標を入れ替え、赤い三角形として再公開し、X位置を時間経過でプロットします。以下のMATLABスクリプトがこのワークフローを示します:

%% 100サンプル用の配列を確保
xArray = zeros(1,100);
%% 収集、変換、再公開
for i=1:100
  [myData, status] = dp.read();
  if ~isempty(myData)
    x = myData(1).x;
    y = myData(1).y;
    xArray(i) = x;
    yArray(i) = y;
    myData(1).y = x;
    myData(1).x = y;
    myData(1).color = 'RED';
    dp.write(myData(1));
  end
  pause(0.05);
end
%% X位置をプロット
t = 1:100;
plot(t,xArray);
legend('xPos');
xlabel('Time');
ylabel('Position');
title('X Positions');

Shapes Demoには今、オレンジの正方形をミラーリングした赤い三角形が表示され、MATLABにはX位置のプロットが描画されます:

MATLABでライブIoTデータを活用:RTI Connext DDS連携 MATLABでライブIoTデータを活用:RTI Connext DDS連携

DDSとMATLABの統合により、データの取り込み、注入、分析が効率化されます。このデモはシンプルなShapesアプリケーションを使用していますが、同じアプローチはあらゆるDDSベースのIoTデータソースで機能します。MATLABのDDS統合についてさらに詳しくは、MathWorksのMATLAB DDS Integrationページをご覧ください。Connext DDSのさらなる探求は、こちらの開発者リソースからアクセスできます。

モノのインターネットテクノロジー

  1. MQTT vs DDS:IoT向け最適なM2Mプロトコルの選択
  2. 産業用IoTにおけるConnext DDS:信頼性・セキュリティ・拡張性のための5つの重要知見
  3. ハノーバーメッセからの教訓:ITを産業オペレーションに活かす5つの実証済み戦略
  4. モノのインターネットにおけるデータコンプライアンスの確保
  5. 製造現場はIoT導入の準備ができているか? 実践ガイド
  6. IoTの民主化:次世代衛星IoTがもたらす普遍的で手頃な接続性
  7. IoTデータの価値を引き出す:セキュアでインサイト主導の戦略
  8. IoTデータをビジネス価値に変える:実践ガイド
  9. IoTデータを活用した製造エクセレンスの実現
  10. 2026年に向けた主要クラウド型IoT分析プラットフォーム11選
  11. MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数