Slide 1

Slide 1 text

sakalib.com おウチで制御工学のすゝめ An Encouragement of Control Engineering at Home

Slide 2

Slide 2 text

sakalib.com 1/20 自己紹介 坂田 晃一 専門:制御工学、モーションコントロール 略歴 2011年3月 博士(工学) 2011年4月-現在 精密機器メーカー勤務 2022年8月-現在 個人事業主 屋号SakaLib 仕事内容など 勤め先 :事業部に居ながら面白い研究開発プロジェクトの立ち上げ SakaLib: 制御セミナー講師・コンサルティング (2024年から課税事業者になりました) プライベート 三姉妹の父親で、子供たちが寝静まった夜に趣味で制御ライブラリの開発などしています。 https://github.com/Koichi-Sakata/pylib_sakata

Slide 3

Slide 3 text

sakalib.com 2/20 おウチの制御開発環境

Slide 4

Slide 4 text

sakalib.com 3/20 おウチでバイラテラル制御

Slide 5

Slide 5 text

sakalib.com 4/20 おウチでハプティクス制御

Slide 6

Slide 6 text

sakalib.com 5/20 制御の機能と階層 ⚫ モータ制御は確立されている技術で、上流からは指令通りに動いて当たり前 ⚫ サーボモータ用ドライバの高性能化のおかげで、大抵のものは動かせてしまう 上流 下流 •画像処理 •軌道生成 •故障予測 Intelligence •PLC Sequence Control •制御設計 •メカトロニクス •パワーエレクトロニクス Motion Control 制御機器のソフト階層 FA制御の主戦場は明確にPLCから上流 マルチレート制御 とはいえ汎用ドライバでは賄いきれない、 特定の産業機器に特化した独自の制御を 実装したいケースもマイナーだが存在する。 例: 露光装置、加工機械、HDD、etc. PLC 動け! ハイ! ココ!

Slide 7

Slide 7 text

sakalib.com 6/20 モーションコントロールの要素開発と製品展開 研究・要素開発Phase 製品開発Phase 小さく始めたい Proof of Concept (POC)を多く回したい Chasm 専用の環境での研究・要素開発 製品の環境に合わせるために開発済みの焼きまわしが発生 既存のシステム構成やインターフェースに合わせた開発

Slide 8

Slide 8 text

sakalib.com 7/20 皆さんは会社・大学でどんな制御開発環境で実験していますか? PE-Expert(Mywayプラス) sBOXII(エムアイエス) SEAGULL(エムアイエス) speedgoat(Speedgoat) PMAC(Delta-tau→オムロン) MicroLabBox(dSPACE)

Slide 9

Slide 9 text

sakalib.com 8/20 モーションコントロールから見たEtherCATのメリット 研究・要素開発フェーズと製品開発フェーズの両方に使える。 ⚫ DC(Distributed Clocks)機能による同期性の担保:ナノ秒レベル ⚫ “on the fly” 方式によるリアルタイム高速通信の実現:標準サンプリング1kHz~16kHz ⚫ システム構成の自由度:スレーブ接続トポロジーの柔軟性、最大65,535ノード ⚫ CiA402 Drive Profileによるモータドライバの規格共通化 Target Torque, Actual Position Valueなどの主要変数のアドレスと型がメーカを跨いで統一されている。 全般共通メリット 研究・要素開発の成果をそのまま製品に載せられるようになる。 実現には製品システムの抜本的移行や 根回しが必要だが、メリット大!

Slide 10

Slide 10 text

sakalib.com 9/20 モーションコントロールの開発環境に求められるもの ⚫ インフラ要件(絶対必要) ・同期性 ・リアルタイム性 ・高速サンプリング:4kHz~16kHz、それ以上 ⚫ プログラミングの自由度(必要) ・プログラミング言語:C/C++ ・プロジェクト間の信号接続 ・データ収集・計測機能 ・ソフトウェアの管理 ・デバッガーの有無 ⚫ ラピッドプロトタイピング(あると便利・開発規模による) ・MATLAB, CAD等との連携シミュレーション・実行 重要 TwinCAT3 C/C++は左の要件が全て揃っており、 Visual Studio環境で開発が可能です!

Slide 11

Slide 11 text

sakalib.com 10/20 TwinCAT3 C/C++のライセンスについて ライセンスの有効期限が切れている場合、アクティベート(プログラムのダウンロードに相当)時に聞かれるが、 秒でトライアルライセンス(7日間)を作ることができる。 →研究開発用途に限れば、実質、半永久的にトライアルライセンスのまま使えます。

Slide 12

Slide 12 text

sakalib.com 11/20 システム構成概要(おウチでver) ①数万円の市販PC+②TwinCAT対応NIC+③EtherCAT対応モータドライバ+④サーボモータ TwinCAT3が優秀すぎて、市販PCでも趣味の開発レベルでは問題なく動作してしまう!※保証外 実行環境PC: ミニPC EtherCAT Main (TwinCAT3 XAR) 兼 開発環境PC (Visual Studio/TwinCAT3 XAE) 開発環境PC (Visual Studio/TwinCAT3 XAE) Ethernet EtherCAT 開発環境PCと実行環境PCを分けたい場合 Servomotor TwinCAT対応NIC 1. TwinCAT対応NICの搭載 2. TwinCAT3のインストール 3. TwinCAT Realtime Ethernet Driverのインストール 4. Windowsテストモードへの変更(TwinCAT C/C++テスト認証のため) 5. CPU CoreのIsolation(リアルタイム処理の安定動作のため) 市販PCのIPC化について 実行環境PCに適したミニPCが2.5~3.5万円で購入できる。 • CPU: Intel N100, 12th Gen, 4Core/4Thread • Memory, Storage: 16GB, 512GB • LAN port×2: i225-V (TwinCAT対応NIC搭載) 3Phase Power/Encoder Cables Servo Motor EtherCAT Subs (Motor Driver) 24VDC Power

Slide 13

Slide 13 text

sakalib.com 12/20 制御系ブロック全体図 モータ ドライバ 実行環境PC サンプリング周波数8kHz サンプリング周波数16kHz ドライバはCSTモードで電流制御を行い、C言語で記述した位置制御系をIPCで実行 ドライバ+モータ 実行環境PC 対応

Slide 14

Slide 14 text

sakalib.com 13/20 おウチでシステム同定 ◆ 市販の計測器を使った周波数計測 メリット デメリット ・測定器のDA/ADによるノイズ・遅れが余計に混入 ・比較的高価:おおよそ100万円~200万円/台 ・標準で加振信号が準備されている。 ・計測器内でF特まで出してくれる。 組み込みシステムの開発環境があれば計測器を買わずに同定できる! 1.既存の組み込みシステム内に信号生成器を作り込んで自前で加振 2.必要な信号をメモリに保存 3.データを吸い出してPCで解析(Python, MATLABなど)

Slide 15

Slide 15 text

sakalib.com 14/20 おウチでシステム同定

Slide 16

Slide 16 text

sakalib.com 15/20 おウチでシステム同定 YT Scope Projectで時系列データの計測・保存が可能! 10分以内の計測はライセンス不要! 保存したcsvファイルの中身 pylib_sakataにはファイルパスと信号名からデータを取り込める関数群が用意されている。 measdata = pylib_sakata.meas.getdata(filePath) index = pylib_sakata.meas.getdataindex(measdata, dataName) freqresp, coh = pylib_sakata.meas.measdata2frd(filePath, inputName, outputName, flagName, freq) https://github.com/Koichi-Sakata/pylib_sakata 各関数の仕様および中身はGithubを参照

Slide 17

Slide 17 text

sakalib.com 16/20 おウチで2慣性系の制御実験 モータ軸に3Dプリンタで作成した負荷を取り付けた 板バネ構造により、モータ軸と外枠の負荷との2慣性系となる 2慣性系でのシステム同定

Slide 18

Slide 18 text

sakalib.com 17/20 おウチで2慣性系の制振制御の実験結果

Slide 19

Slide 19 text

sakalib.com 18/20 Pythonで作成したGUI https://github.com/Koichi-Sakata/pylib_sakata/tree/main/pyads_gui tkinter: Pythonの基本GUIライブラリ pyads: PythonとTwinCATモジュールオブジェクト間のADS通信用ライブラリ

Slide 20

Slide 20 text

sakalib.com 19/20 TwinCATとPythonで学ぶモデルベースト制御講座の紹介 Beckhoff Automation公式HP 申し込みページ TwinCAT3 Training/Individual/TR9001 https://www.beckhoff.com/ja-jp/support/training-offerings/tr9001/ @sakata0330 1. はじめに 2. モデリング 3. システム同定 4. FB制御器設計 5. 制御性能と安定性 6. 制御器の離散化 7. 制御器の実装 8. 実験準備 9. ソフトウェア説明 10. 実習:システム同定から実装まで 11. 目標軌道生成 12. 振動とフィルタ設計 13. 2慣性系の実験準備 14. ノッチフィルタ設計 15. 最適ピークフィルタ設計 16. 外乱オブザーバ設計 17. 制御対象の離散化 18. 2自由度制御系とFF制御設計 19. 多軸制御と座標変換 • 単なるゲイン調整ではないモデルに基づく理論的な制御設計を学んでモータ制御してみたい方。 • TwinCAT3でモータ制御開発を始めたいけど具体的な環境構築が分からない方。 • 制御器・フィルタの設計~実装~解析まで実践的な制御開発を体験してみたい方。 期間 :理論編 (1日間)、実践編(2日間)の計3日間 開催日:応相談 場所 :ベッコフオートメーション株式会社内トレーニングルーム (横浜/名古屋) 対象者 上流 下流 • 画像処理 • 軌道生成 • 故障予測 Intelligence • PLC Sequence Control • 制御設計 • メカトロニクス • パワーエレクトロニクス Motion Control 制御機器のソフト階層 アジェンダ ココ! 講師:

Slide 21

Slide 21 text

sakalib.com 20/20 まとめ 1. EtherCATは、モーション制御屋にとって必要な同期性・リアルタイム性・高レートサンプリングを備えている。 2. EtherCATは、研究・要素開発から製品開発まで統一的な開発環境を提供してくれる。 3. 市販のミニPCで自宅で趣味として楽しめる実験環境を構築できることを紹介した。 実行環境PC: ミニPC EtherCAT Main (TwinCAT3 XAR) 兼 開発環境PC (Visual Studio/TwinCAT3 XAE) 開発環境PC (Visual Studio/TwinCAT3 XAE) Ethernet EtherCAT 開発環境PCと実行環境PCを分けたい場合 Servomotor TwinCAT対応NIC 実行環境PCに適したミニPCが2.5~3.5万円で購入できる。 • CPU: Intel N100, 12th Gen, 4Core/4Thread • Memory, Storage: 16GB, 512GB • LAN port×2: i225-V (TwinCAT対応NIC搭載) 3Phase Power/Encoder Cables Servo Motor EtherCAT Subs (Motor Driver) 24VDC Power

Slide 22

Slide 22 text

No content