View
0
Download
0
Category
Preview:
Citation preview
1© 2016 The MathWorks, Inc.
SimulinkⓇ / StateflowⓇ 入門
MathWorks Japan
アプリケーションエンジニアリング部
小林 昇洋
2
本セッションで対象としている方々
Q : Simulink / Stateflow は使ったことがない。
どんなツールなのか?
A : お使いいただいているシーン、理由などご紹介します。
3
Simulinkとは?
Simulinkはグラフィカルなプログラミング環境です
4
どこで使われているの?
シミュレーション、組み込みのソフトウェアの開発など
5
なぜSimulinkが使われているのか?
グラフィカルな環境がプログラムの開発を加速します
Simulinkが提供するブロック線図モデリング
Stateflowオプションが提供するフロチャート・状態遷移モデリング
Simscapeオプションが提供する回路図・物理モデリング
6
なぜSimulinkが使われているのか?
従来の開発環境とのインターフェースが豊富
Simulink C/C++HDL
STなど
自動生成 実装
対応ハードウェア
&MATLAB
C/C++Excel,csv
など
取り込み出力
7
例題:すぐに試せるアルゴリズムの実機動作
PCSimulinkモデル
シリアル通信(USB接続)
+LED
PC画面(Stateflow) 実機
OFF Ready
LED点滅
Cコード実装
8
なぜSimulinkが使われているのか?
ユーザー様の声
グラフィカルなプログラミング環境
シミュレーションの活用が進み、ハードウェアの試作回数を低減できた。
デザインレビューの効率が上がり、やり直し作業(手戻り)が減少した。
従来環境とのインターフェースが豊富
検討したプログラムを実機ですぐにためせるため、アイディアがすぐに試せる。
既存のCコードをとりこんで、シミュレーションでの試験が可能。設定が難しい条件をシミュレーションでテストできる。
高度なアルゴリズムをCコードへ実装する作業が簡単。
9
具体的な例題でSimulink / Stateflow をご紹介!
昨今のトレンドは?
センサー IoT カメラ レーダー
データ処理+指令算出 デジタルフィルター 人工知能 高度なアルゴリズム
制御対象 ドローン ロボット 自動運転
10
例題:自動追跡カメラ実験システム
シミュレーションとプロトタイピングにトライ!
WebカメラLogicool Webcam
Pro 9000
カメラ
ArduinoPC
画像取得
目標角度
USB Serial over USB
画像処理+指令算出
カメラの向きを回転
制御対象
電圧
DCモータ
11
自動追跡カメラ実験システム
Simulinkのブロック線図の基本操作のご紹介
12
自動追跡カメラ実験システム
Simulink上での微分方程式の構築
𝑑𝑥
𝑑𝑡= 𝑎 − 𝑥
𝑥
𝑑𝑥
𝑑𝑡𝑎 − 𝑥
𝑎 − 𝑥 =𝑑𝑥
𝑑𝑡
13
例題:自動追跡カメラ実験システム
Arduino
目標角度
Serial over USB
シミュレーションとプロトタイピングにトライ!
あらかじめ撮影した動画
電圧
モータの向きを回転
DCモータ
コントローラモデル プラントモデル
動画
PC
制御対象画像処理+指令算出
14
例題:自動追跡カメラ実験システム
Arduino
目標角度
Serial over USB
まずは画像処理部分をシミュレーション
あらかじめ撮影した動画
電圧
モータの向きを回転
DCモータ
コントローラモデル プラントモデル
動画
PC
制御対象画像処理+指令算出
15
自動追跡カメラ実験システム
Simulinkによる画像処理の構築
16
例題:自動追跡カメラ実験システム
Arduino
目標角度
Serial over USB
次はモーターとコントローラをシミュレーション
あらかじめ撮影した動画
電圧
モータの向きを回転
DCモータ
コントローラモデル プラントモデル
動画
PC
制御対象画像処理+指令算出
17
DCモータの数式モデル
v
L R
B
bv
パラメータ 物理量
電機子インダクタンス
電機子抵抗
逆起電力定数
ロータ慣性モーメント
ロータ動摩擦係数
負荷トルク
i][HL
][R
])([ sradVK
]*[ 2mkgJ
])(*[ sradmNB
]*[ mNL
J
L
)()()( tvtvtv bm
)()()()(
tvtvtRidt
tdiL b
)()( tKit dttdt )()(
)()( tKtvb
)()()()(
tttBdt
tdJ L
機械系
※ 電磁ロスが無い場合、逆起電力定数とトルク定数は等しい
電気系
例題:自動追跡カメラ実験システム
18
DCモータ数式モデルをモデリングします
KRivLdt
di
1
LBKiJdt
d
12
2
機械系
電気系
運動・回路方程式をシミュレーションして時系列応答を確認
乗算 時間積分
加減算
2回積分
Simulink
19
自動追跡カメラ実験システム
SimulinkによるモーターとPID制御の構築
20
自動追跡カメラ実験システム
例外処理
ボールがカメラの枠外に出てしまったら?
例外処理の仕様決め
処理1:3秒間その向きを維持
処理2:その間にボールが枠内に戻ってきたら追従を再開
処理3:3秒以上経過したら、正面位置に向き直る
ソフトウェア設計へ
21
自動追跡カメラ実験システム
フローチャートで設計する場合
枠内
枠外3s以内
3s経過
正面維持 方向維持 ボール追従
Stateflow
22
自動追跡カメラ実験システム
状態遷移図で設計する場合は?
ボール追従
方向維持
正面維持
枠外
3s経過
枠内
枠内
Stateflow
23
Stateflowによる色々なロジック表現
設計したいアルゴリズムに応じて様々なデザインスタイルを活用できます
フローチャート 状態遷移図 状態遷移表 真理値表
24
自動追跡カメラ実験システム
シミュレーションで動作の確認ができました!
動画入力 画像処理 モータ制御 DCモータ
25
自動追跡カメラ実験システム
指令算出部(PC)とArduino実装部に分離
Serial通信
26
自動追跡カメラ実験システム
実機実験
PC
27
自動追跡カメラ実験システム
シミュレーション&プロトタイピングまとめ
ブロック線図、フローチャート、状態遷移図で設計図そのままにプログラム共有
数式を用いたシミュレーションの構築も簡単
実機接続も簡単で、アイディアをすぐに試せる環境
𝑑𝑥
𝑑𝑡= 𝑎 − 𝑥
などほか多数
28
Simulinkモデルを中心として製品開発の効率化が実現できます!
モデルを中心としたモデルベースデザイン
グラフィカルなプログラム–紙ベースの仕様書を補完する「モデル」
–チーム間コミュニケーションを改善
シミュレーションによる設計–複合ドメインを同一環境で「モデル化」
–設計のトレードオフ・相互作用検証
コード生成機能で実機と連携– 「モデル」からC, HDLコードを自動生成
–プロトタイプテストを効率化
テスト環境までをトータルサポート– 「モデル」を再利用したテスト生成
–シミュレーション/テストの自動化システム統合
コンポーネント開発/実装
AnalogHardware
MCU DSP FPGA ASIC
SPICEVHDL Verilog
C, C++
システム設計
環境モデル
物理コンポーネント
アルゴリズム
研究 要求仕様
テスト
& 検証
テストシステム
29
本日のMATLAB Expoの講演でも
1.研究はしているが、実用的なアイディアが少ない特に制御理論の適用に興味がある・・・
⇒B4:制御系設計環境オーバービュー&便利機能のご紹介
2.競合他社に負けないように効率的な開発が必要
⇒A4:モデルベースデザインのためのプラントモデルの作成と活用入門
3.ヒューマンエラーの極力少ない、品質の高い開発が求められる
⇒B3:効果的活効率的なモデルベース組み込みソフト開発・検証
資料は後日ダウンロード可・個別のご相談も受け付けております
30
MathWorksにご相談ください
こんなシミュレーションが作れないかな?
⇒世界の適用事例、本、パートナーのご案内が可能です。
社内の人に聞いて使い始めますか?
⇒トレーニングが効果的です。本日はトレーニングテキストがご覧いただけます!
会場出てすぐ!
まずは評価版からご検討ください
31
Accelerating the pace of engineering and science
© 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks
or registered trademarks of their respective holders.
Recommended