R-CPS

Reconstructable basic system for CPS(Cyber Physical System)


巻番号

巻名

概要・項目(必要に応じて加筆修正)

はじめに

  1. システム全体設計の概念

1巻

実証実験用評価キット

クイックスタート

◆ 動画説明:R-MSM実証実験用評価キット クイックスタートガイド(1)

◆ 動画説明:R-MSM実証実験用評価キット クイックスタートガイド(2)

◆ 動画説明:R-MSM実証実験用評価キット クイックスタートガイド(3)


・最新版ソフトウェアへの更新

2巻

センシング(計測)
MSM
(Multi Sensor module)

1. R-MSM リコンストラクタブル マルチセンサモジュール(旧タイプpreMSM p3の紹介)

 1-1. マルチセンサモジュールの基本構成とコンセプト
 1-2. R-MSMで利用可能なセンサ
   オンボードセンサ/拡張センサの種類
   出力データフォーマット
   ハードウェアオプション設定
 1-3. センサモジュールへの入出力
   センサモジュールへの電源供給
   外部センサの接続と制御対象の周辺機器の接続

2. R-MSMのソフトウェア
 2-1.  最新版ソフトウェアへの更新
 2-2. ソフトウェアの機能

3.R-MSMのハードウェア
 3-1. プリント基板情報
 3-2. センサモジュールの外装ケース

4.R-MSMとPCの接続
 4-1. R-MSMのUSB-UARTブリッジドライバのインストール
 4-2. Arduino IDEのPCへインストール

5. R-MSMセンサモジュールの消費電力測定とバッテリー持続時間

6. MSMエミュレーター

3巻

 

PDH(Physical Data Hub、中継器)

1.PDHの役割とデータ標準化
 1.1. PDHの役割と空間的な配置
 1.2. PDHにおけるデータ標準化と論理的な配置
 1.3. PDHの時刻合わせ

2. PDHの立上げ
 2.1. PDHの電源ON/OFF操作
 2.2. ネットワークへの接続とその活用
   1) WiFi アクセスポイントに接続する
   2) Windowsパソコンからリモートデスクトップで接続する
   3) Windowsファイル共有で接続する
   4) PDHにスタティックIPアドレスを設定する(社内LANへの接続)
 2.3. センサデータの表示と記録
 2.4. USBカメラの利用
 2.5. センサモジュールの駆動設定の変更
 2.5. センサモジュールとのペアリング

3. PDHからMSMを操作する
 3.1. MCP23008でデジタルI/Oを使用する
   1) 出力ポートの利用
   2) 入力ポートの利用
   3) Dashboardのユーザインタフェースで入出力ポートを利用する
 3.2. MCP4725でDAC出力を使用する
 3.3. OLED表示モジュールに文字を表示する
   1) 固定のメッセージを表示する
   2) センサデータのような可変の値を表示する

4. MSMオンボードセンサ以外からデータを取り込む
 4.1. 市販の機器やセンサ類のデータを取得する
 4.2. 官能検査データを入力パネルから取得する
 4.3. エクセルファイルを読み込む

5. PDHとMSMのBluetooth接続
 5.1. MSMのBluetooth信号のスキャンと接続
 5.2. Windows PCとの接続
 5.3. シリアル通信を使ったMSMの信号の読取り

6. PDHを構成するソフトウェア
 6.1. PDHのOSのバージョン確認
 6.2. Node-REDのインストールと基本操作
 6.3. 最新版PDHソフトウェアへの更新
 6.4. PDHを構成するシェル・スクリプト
 6.5. Pythonの仮想環境の構築法

7. PDHで使用しているその他の技術
 7.1. ディスプレイ無し時の画面表示設定(VNC接続)
 7.2. VNC、SSHの許可
 7.3. タイムサーバーの設定
 7.4. Host nameの変更
 7.5. PDHにつないだUSBカメラ画像(静止画)の表示
 7-6. APモードの設定(OS bookworm)
 7.7. APモードとCLモードの移行(OS bookwormより前)
 7.8. mDNS(multicast Domain Name System)の設定

8. PDHの機能拡張の取組み
 8.1. R-MSMの状態監視
 8.2. PDHにつないだUSBカメラ画像(動画)の表示
 8.3. PDHのSDカードアクセスを減らす方法
 8.4. PDHからWindows PCへのSSHアクセス(Windows PCへのOpen SSHの導入)

4巻

Node-REDを使いこなす

1. Node-REDの基本所作(起動、終了、文字表示、フローの書出し/読込み)

2. Node-REDフローのABC(データの受信、送信、記録、打刻、表示等)
 2.1. データの受信
 2.2. データの表示と入力
 2.3. データの送信
 2.4. データの書式設定とデータの操作
 2.5. 数値計算
   1) 移動平均の計算
   2) メディアンフィルタの計算
 2.6. 統計処理
   1) 標準偏差を求める
 2.7. データの結合と分離
 2.8. データ流量の制限
 2.9. 打刻とハードウエアIDの挿入
 2.10. データの保存と読み込み
 2.11. フォルダに置かれたファイルの読み込み、書き込み
 2.12. コマンドの実行や別プログラムの起動
 2.13. ノード間のデータの受け渡し(Context)
 2.14. ダッシュボードの作成
   1) ダッシュボードでのグラフ作成(ゲージグラフ、折れ線グラフ)
   2) ダッシュボードのタブとグループの追加
   3) ダッシュボードのタブ制御(ui controlノード)
   4) 縦軸が対数の折れ線グラフを描く
 2.15. ファイルの送受信
   1) 送受信双方のNode-REDが実装されている場合:HTTP リクエスト
   2) 送信側のみNode-REDが実装されている場合:sftp 送信

3. パレット管理(新規機能ノードの追加)
 3.1. シリアルポートノード
 3.2. ダッシュボードノード
 3.3. Date/Time Formatterノード
 3.4. LEDノード
 3.5. MQTT Brokerノード
 3.6. emailノード
 3.7. Line-Notifyノード
 3.8. sftpノード
 3.9. gateノード
 3.10. calculatorノード

4. MSM-emulatorを用いたNode-REDのプログラミング演習

5. Node-REDを使った簡単な事例集
 5.1. オンディレイ タイマ/オフディレイ タイマ
 5.2. 一定時間継続の閾値超えの検出
 5.3. Node-REDからGmailを送信
 5.4. Node-REDからLine-Notifyを送信
 5.5. 配列データの平均・分散・標準偏差
 5.6. 乱数の生成
 5.7. 正弦波/余弦波の生成
 5.8. カンマ区切りの文字列の順次送り出し
 5.9. JSONファイルからの順次送り出しでアームロボットを動かす
 5.10. msg.payloadに情報を追加する方法
 5.11. csvファイルのデータを配列に読込む
 5.12. 配列のデータを一定間隔で間引く方法
 5.13. 経過時間を求める
 5.14. Node-REDのカスタムノードを作って電源装置を制御する

6. Node-REDの保守
 6.1. フローのバックアップ
 6.2. Node-REDのLogをファイルに記録
 6.3. Node-REDの自動起動設定
 6.4. Node-REDのセキュリティ強化
 6.5. ノードのバージョンアップ
 6.6. Node-REDのインストール
   1) Windowsへのインストール
   2) Ubuntuへのインストール
 6.7. Node-REDのバージョンアップ
   1) Windowsでのバージョンアップ
   2) Raspberry Pi/Ubuntuでのバージョンアップ
 6.8. Node-RED環境の再構築(引っ越し)

7. 簡単なトラブル対策事例
 7.1. デプロイした際に「正しくプロパティが設定されていません」と表示される
 7.2. フローを空(新規フロー)にしたい:フローファイル名変更
 7.3. 未設定グループ/タブの消し方(作り方)
 7.4. 処理の開始時にダッシュボードのチャートを消したい
 7.5. 時刻が合っていない(NTPサーバーと同期できていない)
 7.6. ダッシュボードのswitchノードやLEDノードを初期化したい
 7.7. PDHとPCをイーサネットケーブルで接続したい
 7.8. 複数のタブに配置されたSerial outノードが干渉し動作異常
 7.9. Node-REDのバージョンを上げたらフローにエラーが出るようなった

8. 外部ライブラリの使用
 8.1. 描画ライブラリ:Plotly.js
  8.1.1. templateノードとplotly.jsを使ったグラフの描画
  8.1.2. データベースに蓄えたデータでグラフを描く
 8.2.画像処理:openCV_python
         8.2.1. OpenCVを使ったARマーカーの認識

 5巻

フロアマネージャ(サーバー)、GCP(クラウド)

1. エッジサーバとネットワークの構築
 1-1.フロアマネージャ(エッジサーバー)の立上げ
 1-2.フロアマネージャーに導入すると便利なツール達
 1-3. フロアマネージャを使ったネットワークの構築

2. Googleのアカウントを作る

3.GCPのVitual Machine(VM)を使う
 3-1.VMとOS Ubuntuを立ち上げる
 3-2.Node-REDを立ち上げる

+ 3-3. MQTTによるデータ送受信

  3-3-1. Node-REDへのAedes Brokerの導入
  3-3-2. moquittoのBrokerの導入

+ 3-4.データベースへのデータの保存と呼び出し

  3-4-1. MySQL編(RDB:Relational Database)
  3-4-2. MongoDB編(NoSQL:Not only SQL)

 3-5.ファイアウォールルールの新規作成と既存修正

4. Cloud Functionsを使った簡単な解析(時間軸線型補間処理)

5. API(Application Programming Interface)を使う
 5-1. APIが公開されたデータベースからのデータ取得方法
 5-2. 独自のAPIの作成(HTTP request Nodeの利用)
 5-3. APIを使った機器制御の試み(8巻の内容と同じ)
 5-4. Web APIとWeb scrapingの違い

6. GCP からPDHへのデータ返信

7. GCP の課金情報の確認

8. GCP利用にあたってのセキュリティ対策

9.ダッシュボード画面(Web画面)のスクリーンショットの自動取得

6巻

各種センサからデータ収集(拡張R-MSM)

1. R-CPSの観点からのデバイス/センサの分類

2. R-MSMと連携したセンサ
 2-1. 1Wire インターフェースを使ったセンサ(DS18B20) 
 2-2. UARTインターフェースを使ったセンサ(MH-Z14B)

3. R-MSMを使わない外付けセンサ(圧力計など)
 3-1. 圧力計などのゲージ読取機
 3-2. 透過光による試験薬の色検出器

4. Arduino Nano 33 BLE シリーズ(マイコン+センサ+BLE)
 4-1. シリーズ比較
 4-2. 搭載センサの動作確認
 4-3. 搭載センサとPDHのBLE通信
 4-4. 消費電力確認
 4-5. デジタルマイクMP34DT05データのPDHによるFFT解析

5. センサとの通信方式(BLE、LPWA)

+ 5-1. BLE機器との接続

  5-1-1. OWON社製 Digital Multimeter B35T
  5-1-2. APERA Instruments社製 Smart Multiparameter Tester PC60-Z
  5-1-3. サンワサプライ社製 温湿度ロガーUNI-01-B002
  5-1-4. BTMETER社製 デジタル風速計 BT-100-APP

+ 5-2. LPWAを使ったデータ転送

  5-2-1.  IM920sLの設定
  5-2-2. IM920sL間の通信実験
  5-2-2. IM920sLとR-MSMの接続(UART)
  5-2-3. IM920sLとPDHの接続(Node-REDでのデータ処理)

6. 複数のR-MSMと複数のPDHを使ったシステム
 6-1. 複数のR-MSMを使ったシステム

+ 6-2. 複数のPDHを使ったシステム

  6-2-1. エッジサーバを使った時刻同期(NTPサーバOS: Ubuntu)
  6-2-2. エッジサーバを使った時刻同期(NTPサーバOS: Windows11)

7. バーコード/QRコードリーダからの情報入力

7巻

アクチュエーション(操作)

安全対策 (必ずお読みください)

1.R-MSMのポート制御
 1-1. R-MSM のポート制御用コマンド
 1-2. クラウドからPDHを経由してR-MSMへのコマンド送信(LEDの点灯/消灯実験)
 1-3. クラウドからのモータON/OFF制御(くるファミモータ)
    1-4. R-MSMのPWM制御

2. 様々な経路によるR-MSMポート制御
 2-1. Bluetooth経由での制御例
 2-2. LPWA経由での制御例
 2-3. RS485、Modebus経由での制御例
 2-4. PLC経由での制御例
    2-5.三菱PLC専用ノードを使った制御例

3. 近接センサを使ったベルトコンベアのON/OFF制御

4. APIを使った機器制御の試み

5.排他的操作とユーザー制限

8巻

電子工学・機械工学

R-CPSと電子工学・機械工学

第1部:電子工学

1章 入力インターフェース
 抵抗分圧回路
 信号増幅回路
 オフセット回路
 バッファ回路
 I-V変換回路
 アナログフィルタ(LPF, HPF, Notch)
 ON/OFF入力回路(機械式接点:チャタリング防止回路、長押し検出回路)

2章 出力インターフェース
 ON/OFF制御
  直接駆動
  間接駆動
  MOS FETドライバ回路
  メカニカルリレー回路
  フォトカプラ回路
 レベル制御
  DAC出力
  PWM制御
  R-2Rラダー回路

3章 通信インターフェース
 One-Wire
 I2C
 SPI
 UART
 RS-232C
 RS-422A
 RS-485
 シリアル通信とシリアルUSB変換
 赤外線通信(IrDA他)
 IRリモコン

4章 電源
 定電流源・定電圧源(シリーズ電源器、スイッチング電源器の諸特性も)
 POR回路

第2部:基板設計および回路実装(プリント基板の設計からテーブルリフローまで)

電子回路設計のプロセス
ブレッドボードとユニバーサル基板
電子回路設計
部品表(BOM)
基板製作
部品実装、はんだ付け作業
fusion360での基板設計
リフローはんだ付け
フローはんだ付け

第3部:マイコン(Arduino・ESP32のプログラミング。MSMを事例として)

Arduino IDEの準備
ESP32のプログラミング
デジタルフィルター
BT通信

第4部:センサ

第5部:機械工学(電気信号での駆動機構の操作と言う視点から)

駆動部品
 DCモーター
 ブラシレスDCモーター
 ステッピングモーター
 サーボモーター
 インテリジェントサーボモーター (ROBOTIS社)
 ソレノイド
 ソレノイドバルブ
 空気圧アクチュエータ

第6部:機械製作(主に3Dプリンタを活用したハードウエアの作成)

機構設計
 機構設計のプロセス
 3Dプリンター
 そのほかの加工機械
 3D CADソフト Fusion360
 センサモジュールケースの作成
 既存データの修正によるモデル作成

第7部:ツールと計測器
 電子工作用ツール類
 テスター
 デジタルマルチメータ(DMM)
 オシロスコープ
 LTspice

 

9巻

応用事例

1.実験室

立命館大学内の実験室での事例紹介です。

モバイルマニュピレータ―を使ったCPS
距離センサを使った通過人数計測(侵入検知に応用)
外付けUARTセンサとしてQRコードリーダーを取り付け。文字列の読み込み
・オンボード9軸センサのデータからオイラー角を算出。リアルタイムの姿勢表示
オンボードセンサを使った気圧計測。台風上陸時の気圧変化確認
オンボードマイクを使った動作音の検出
RS485, Modbusを使った双方向制御
9軸センサと気圧センサの自動車走行評価
列車はどこ? プラレールで9軸センサ(位置探索編)
MSMを使った厨房ベルトコンベア動作制御の試み
気圧計を使った走行ルートの海抜計測
GPSユニットを使ったデータ転送時間の評価
空気圧駆動系に取り付けたフローセンサをモニタしソフトハンドの接触を検出
空気圧駆動系に取り付けたフローセンサをモニタしバルーンハンドのエアリークを検出
RGBセンサの値から照度値を算出
シリンダー制御システムにR-MSMを導入
Amazon Echoとの接続
JSONファイルからの順次送り出しでアームロボットの制御
Lidarユニットを使た侵入検知
USBカメラ用パン・チルト台の製作
USBカメラ用パン・チルト台のジョイスティック制御
PLCとの接続
X-Y 2軸カメラ駆動機
 ・ PDHにつないだUSBカメラ画像(静止画)の差分検出
顔検出
圧力センサ FSR406によるLEDのON/OFF制御
ONVIF仕様に準拠したIPカメラの制御
音響データのFFT結果を使った機械学習(Deep Learning)
Deep Learningを使った空気圧縮機の間欠動作検出
・音響データのFFT結果を使った異常検出
センサ等から出力されたアナログ信号をPLCでAD変換し、データーをNode-Red で取り込む制御例
Raspberry Pi 5 のPDH化
・Node-RedでNetwork経由でPLC制御
タイマIC555を使った ESP32のWDT回路の設計(LT Spice検証含)

2.実証実験

協力支援企業様の実際の現場での事例です。

ブリューパブスタンダード様(クラフトビールの製造)
はたしょうfarm様(イチゴのハウス栽培)
ワボウ様(エビの養殖)
ゆば八様(湯葉の製造)
おさるの森様(体操教室)
三宅制御技術様(ロボットシステムインテグレーター)
立命館大学生活協同組合様(学食厨房)
・喜多酒造様(日本酒)

3.模擬工場

R-CPSを実際に体験することを目的としています

模擬自動化工場(ロボット、PLCなど自動化の実習設備)
出前工場セット(ネット環境機材・小型ロボット等を持ち込みIoTの実習)

10巻

OSS(Open Source Software)情報

R-CPS ソフトウエア
OS関係
ミドルウエア
Node-RED
Python
OpenCV
ハードの制御
その他

11巻

今後の課題

今後の課題

付属

ダウンロード

MSM、PDHの最新版ソフトウェアやデータのダウンロード


問い合わせ先

立命館大学 清水正男

mst21786@@fc.ritsumei.ac.jp
メールアドレスの@@は1つです。お気軽にご連絡ください。