• 検索結果がありません。

サイバーフィジカルシステム:2.サイバーフィジカルシステムを支える技術 -フィジカルシステムを理解する

N/A
N/A
Protected

Academic year: 2021

シェア "サイバーフィジカルシステム:2.サイバーフィジカルシステムを支える技術 -フィジカルシステムを理解する"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)特集:サイバーフィジカルシステム. 2. サイバーフィジカルシステムを支える技術 ─フィジカルシステムを理解する. 基応 専般. 安積 卓也(大阪大学大学院基礎工学研究科) 本的な知識があると,研究の内容を理解しやすくな. フィジカルシステム. る.本稿では,CPS の基本となる制御(連続)と. . コンピュータの世界(離散)のかかわりを中心に,. 「サイバーフィジカルシステム(CPS) 」の主要. フィジカルシステムを理解するために必要な制御工. な分野として,制御工学,リアルタイムシステム・. 学の基本とモデルベース開発について解説する.. 組込みシステム,検証・分析が CPS 向けの教科書 1). 図 -1. で説明されている.さらに,本特集 1. の概. ▶連続時間システムと離散時間システム. 要と動向でも述べられていた通りセンサネットワー. フィジカルシステムは,時間の切れ目のないシス. クが主な分野として挙げられることが多い.上記. テムである連続時間システム図 -2 上で表現される.. 分野のトップレベルの国際会議や CPS の関連のワ. 連続時間システムは,微分方程式などを用いて実世. る.その中でも ICCPS(International Conference on. ィジタルデータのように飛び飛びの値を処理するシ. ークショップを集めて,CPS Week が開催されてい. 界の物理現象を扱う.一方,コンピュータが扱うデ. Cyber-Physical Systems)や HSCC(Hybrid Systems:. ステムは離散時間システム図 -2 下と呼ばれる.. Computation and Control)の発表は,制御工学の基. ▶フィードバック制御 CPS は,制御系の組込みシステム. 1 はじめに. 制御工学 2 連続 ダイナミクス 3 離散 ダイナミクス 4 ハイブリッド システム. てフィードバック制御を基にしてい. リアルタイムシステム 組込みシステム. る.図 -3 に基本的なフィードバック. 7 組込みプロセッサ. 制御の構造を示す.制御対象は,自. 8 メモリ アーキテクチャ. 9 入出力 5 複合状態機械. 6 並行計算モデル. 強い依存関係. 開発で利用されている制御方法とし. 検証・分析 12 不変量 時相論理. 連続時間システム. u (t ) : 入力. y (t ) : 出力. 13 等価と詳細化. 10 マルチタスク. 14 到達可能性解析 とモデル検査. 11 スケジューリング. 15 定量分析. 離散時間システム. u[k ] : 入力. y[k ] : 出力. 弱い依存関係. 図 -1 CPS 教科書の章構成. 916. 情報処理 Vol.55 No.9 Sep. 2014. 図 -2 連続時間・離散時間システム.

(2) ② サイバーフィジカルシステムを支える技術─フィジカルシステムを理解する. 目標値. 制御器. 制御対象. 操作量u(t) 目標値 偏差. +. ネットワーク. + 偏差. 制御量y(t) (出力). アクチュエータ. 操作量u(t) (制御入力). 制御器. 制御量y(t) 制御対象. センサ 図 -3 フィードバック制御. 動車,エアコン,ロボットアーム,電力などさまざ. 図 -4 CPS のフィードバック制御. まなものが挙げられる.フィードバック制御は,あ. モデル. 実世界. る目標値と現在の値(制御量)を比較して,適切な 操作量を制御器(コントローラ)で計算して制御. 制御対象 (プラント). 対象をコントロールする.たとえば,制御目標値が. ①制御対象の モデリング ②状態方程式の 導出と線形化. 60km/h で現在の速度が 20km/h と 40km/h の場合で. 制御対象の モデル. ③制御器のモデリング. は,操作量が異なる.この例では,20km/h のとき. ④制御器の離散化. ⑤実装 制御器 (コントローラ). の方が,目標値との差(偏差)が大きいため操作量 も大きくなる.. 制御器の モデル. 制御対象への入力はモータなどのアクチュエータ に対して制御ソフトウェアでコントロールする.モ. 図 -5 制御器の設計・実装の流れ. ータの回転数など制御対象の状態(制御対象の出力). る種類によってさまざまである.モデリングを間違. をさまざまなセンサを利用して取得する.CPS の. えると,現実とかけ離れたモデルができることがあ. 場合,図 -4 に示す通り制御対象・制御器がネット. るため,注意が必要である.CPS では,1 つのモデ. ワークで接続されており,複数の制御器・制御対象. ルだけでなく,粒度や種類の違う複数のモデルを一. が共存しているところが複雑さを増している.さら. 度に扱う.たとえば,交通シミュレーション用のモ. に,制御対象が,機器だけではなく人間や社会であ. デル,ネットワークモデル,自動車のモデル,エン. ることにより,安定状態に持っていくことが難しく. ジンのモデルなどを同時に扱う.次章で説明する微. なっている.しかしながら,次章で述べる制御工学. 分方程式に代表される連続時間を扱う数理モデルや,. の基本的な知識は,CPS に活用できる.. 状態遷移図など離散事象のモデルをどう統合的に扱. 元々組込みシステムは閉じた世界で動作していた. うかも CPS の課題の 1 つである.. ため,悪意のあるプログラムが混在しないことを前 提に開発できていた.しかし,CPS では,組込み機 器がオープンネットワークに接続されるようになり,. 知っておくべき制御工学の知識. パソコンなど汎用システムと同様にセキュリティに. . 関する問題にも対処する必要性がある.ICCPS 2014. 情報系の研究者が,CPS の研究を理解する上で. の発表でも,サイバーセキュリティに関する論文が. 必要な最低限知っておくべき制御工学の知識を情報. ベストペーパーを受賞している.. 系の言葉にかみ砕いて解説する. 制御器の設計・実装は,図 -5 の①制御対象(プ. ▶モデリング. ラント)のモデリング,②状態方程式の導出,③. モデリングとは,着目しているある側面だけを抽. 制御器のモデリング,④制御器の離散化,⑤実装. 出し,抽象化した図形モデルあるいは数理モデルを. の順で行う.基本的な制御器の設計・実装の流れ. 作成することである.モデリングの方法は,着目す. を図 -6 の倒立振子の制御設計を例にして解説する.. とうりつしんし. 情報処理 Vol.55 No.9 Sep. 2014. 917.

(3) 特集:サイバーフィジカルシステム. 角度 角速度 トルク. 状態方程式. 制御目標 ①の物理モデルから導き出した関数. 線形化 エンコーダ (角度センサ). トルク. モータ 近似して モデルを作成 倒立振子のモデル. 定数行列 図 -7 ②状態方程式の導出と線形化 力. 制御対象のモデル. 位置エネルギー 運動エネルギー モータのモデル 入力電圧 図 -6 ①制御対象のモデリング 制御器のモデル. 倒立振子は,大学の制御の実験でよく用いられる教 材である.. (運動エネルギー)- 位置エネルギー = 力. ・倒立振子の内部状態 x(t) 角度 θ ,角速度. 図 -8 ③制御器のモデリング. ,トルク で表現された内部状態. ・モータの電気系のモデル 制御器の操作量 u(t) とトルクの関係式. ・倒立振子のセンサ出力 y(t) センサで取得できる角度 θ. (t)=-T. (t)+u(t). ・制御器の操作量 u(t). その他のモデリング方法としては,ニュートンの. モータの入力電圧. 運動方程式,回転運動方程式などが利用される.. 倒立振子の例では,内部状態 x(t) を θ = 0 付近で安. ② 状態方程式の導出と線形化(図 -7) . 定化させるために,センサ出力 y(t) の情報を利用. ①のモデルから操作量 u(t) と倒立振子の内部状. して制御器でいかに操作量 u(t) を決めるかを目的. 態 x(t) の状態方程式(制御対象の入力に対して. として制御器の設計を行う.具体的には,トルク(力). どのような応答をするかを決定する方程式)を. を加え,モータを回転させ振子を鉛直上向きに安定. 求める.ただし,導き出した状態方程式は,非. して倒立させる( θ 1 と θ 2 の角度両方を 0 にする). 線形関数であるため,計算が複雑である.そこで,. ための入力電圧を決める制御器を設計する.. この状態方程式を動作平衡点 ( θ = 0) 付近で線形. ・制御器の設計・実装の流れ. 化することにより,計算をしやすくする.たと. ① 制御対象のモデリング(図 -6). えば,動作平衡点でのテーラー展開を行うこと. ☆1. まずは,倒立振子の運動モデルとモータの電気. によって線形化できる.ここでは詳細は省略す. 系のモデルを作成する.. る.線形化することで,状態方程式を定数行列. ・ラグランジュの運動方程式. A,B,倒立振子の内部状態x(t),制御器の操作 量 u(t) で表現できる.. ☆1. 今回紹介する制御設計の方法以外に,制御対象のモデルを離散化し てから離散時間の制御器を作成する方法や,連続時間の制御対象か ら離散時間の制御器を直接作成する方法がある .. 918. 情報処理 Vol.55 No.9 Sep. 2014. ③ 制御器のモデリング(図 -8). 倒立振子のセンサ出力 y(t) を利用して,フィー.

(4) ② サイバーフィジカルシステムを支える技術─フィジカルシステムを理解する. の内部状態 x(t),センサ出力 y(t),操作量 u(t) に着. 前ページで求めたコントローラのモデル. z (t ). 目すれば,制御対象と制御器のどちらを議論してい るかが一目で分かる. 本稿では,詳細設計については,省略しているの. 離散化する (ディジタルで扱えるようにする). で,もう少し詳しく知りたい方は文献. z. d. [k ]. 2). などを参. 考にするとよい. CPS での制御システムでは,制御器とセンサが. サンプル周期. 図 -9 ④制御器の離散化. ネットワークで接続されていることもあり,センサ 出力 y(t) に遅延が発生することを考慮する必要が ある.CPS では,複数の制御器や制御対象が複雑 に絡み合ってはいるが,1 つのフィードバック制御. ド バ ッ ク 制 御( 図 -3) を 行 う. す な わ ち, 直. に着目した場合には,ほかの制御対象や制御器など. 近の制御結果から操作量 u(t) を導く制御器の. の外部要因は外乱として扱うことによって,制御工. 数学モデルを作成する.制御器のモデリングに. 学の知識を活用できる.. は,②で求めた線形システムを安定化させる極. 人間をフィードバック制御のループの中に取り. 配置法や,制御の善し悪しを決める評価関数を. 入れるという Humans in the loop が CPS でも考えら. 最大または最小にする最適制御などが用いられ る.z(t) は,倒立振子の状態を推定した数学モデ ルである.制御器内の推定した状態 z(t) が実際 の倒立振子の内部状態 x(t) と大きく違っている. れ始めている.ドイツを中心にまとめられている 3). agendaCPS. では,CPS のアプリケーションと人間. とのインタラクションをどう行えばよいかまとめら れているので,参考にするとよい.. と,操作量 u(t) が大きくずれる. ④,⑤制御器の離散化と実装(図 -9). ③で求めた制御器のモデルをコンピュータ(デ. モデルベース開発. ィジタル)で扱うため,制御器のモデルの離散 化を行う.時間変数は,連続時間の場合は「t」,. 複数のモデルのシミュレーションやコード生成を. 離散時間の場合は「k」で表現されることが多い.. することができるため,モデルを利用したソフト. 離散時間は制御器の実装以外にも,システム同. ウェア開発(モデルベース開発)が,CPS でも重. 定(慣性モーメントなど測定が難しいパラメー. 要な要素の 1 つになってきている.CPSWeek では,. タを推測する方法)などにも利用する.. モデルベース開発のさまざまな側面(シミュレー. 次章で解説するモデルベース開発で用いられる. ション,モデリング,コード生成など)について. Matlab/Simulink などのツールを利用することで,. 議論するために,複数のワークショップが開催さ. 離散化や制御器のコード生成できる.. れている.. 本来は,ラプラス変換(微分方程式の問題を代数. 広義のモデルベース開発は,狭義のモデルベース. の問題に変換する一手法)や制御システムの特性を. (MBD : Model Based Development:一般的に単にモ. 表す伝達関数など抑えるべき項目がある.しかし, 本稿の内容を抑えれば,ICCPS や本特集の筆者ら が運営にかかわっている国際会議である CPSNA. (Cyber-Physical Systems,Networks,and Applications) の論文の内容が大分読みやすくなる.たとえば,式. デルベース開発と呼ぶ),モデル駆動開発(MDD : Model Driven Development)に 2 つに分類される.. モデルベース開発は,連続時間システムのモデル をベースとしたシミュレーション可能なモデルを用 いるソフトウェア開発手法であり,制御器および制. 情報処理 Vol.55 No.9 Sep. 2014. 919.

(5) 特集:サイバーフィジカルシステム. 通常走行 アウトコース. 走行法 コマンダ. コマンダ. 通常 走行法. トレジャーハント 走行法. コントローラ(周期タスク). 距離イベント設定アクション トレジャー ハント. イベントマネジャ (イベントフラグ). 距離イベント. アクション. 距離イベント 転送. 光センサ ドライバ. コントローラ. 白色検知アクション. ジャイロ ドライバ. 白色イベント 右モータ ドライバ. 左モータ ドライバ. PID 計算機. バッテリ ドライバ. 白色イベント 転送 距離イベント設定 アクション. コンポーネント図 blocked notify select ready. バックアクション. wait terminate run. release. 距離イベント. yield passive. spawn. yield. 状態遷移図. シーケンス図. 図 -10 モデル駆動開発のモデルの例. 御対象の一部をモデルで表現し,シミュレーション. モデルベース開発の利点は,実機を使わず検証でき. により制御アルゴリズムの開発・検証を行う.. ることであり,手戻りを減らすことができる.. 一方,モデル駆動開発は,UML(Unified Modeling. Matlab/Simulink は,自動車業界を中心に,制御. Language)に代表されるアーキテクチャ記述言語に. 器,制御対象のモデルを作成,シミュレーションす. よるモデル化しソフトウェア開発を行う.図 -10 の. ることを目的に利用されている.これまでは,制御. コンポーネント図,シーケンス図,状態遷移図のよ. 器のモデルを基に人手によって制御ソフトウェア. うに図で表現できるモデルを利用してソフトウェア. (制御器のプログラム)を実装していたが,最近では,. の一側面を表現する.モデル駆動開発では,シーケ. Embedded Coder や TargetLink などのツールを利用. ンス図や,状態遷移図の情報からイベント管理など のプログラムを自動生成できる.SysML(Systems. ードを生成できるようになってきた.図 -11 に示す. Modeling Language)や AADL(Architecture Analysis. 通り,制御ソフトウェアは,組込みシステムのソフ. 成などの装置を含むコンピュータアーキテクチャも. 機器全体の制御,例外処理,割込み処理,通信処理. &Design Language)では,UML と違い,メモリ構. トウェアの一部であり,その他,リアルタイム OS,. モデリングが可能である.. などは別途開発が必要になる.. 図 -11 にモデルベース開発と組込みソフトウェ. CPS では,これまでは個別で扱ってきたモデル. ア・ハードウェアの関係を示す.制御対象のモデ. を,複合的に扱うことも増えてきている.たとえば,. ルには,Modelica という制御対象のモデル作成に. ハイブリッドシステムは,連続時間システムと,離. 適した言語を用いて物理シミュレーションを行う.. 散事象システムを同時に扱うシステムである.離散. Modelica は,Matlab/Simulink などで作成された制. 事象システムは,情報系でもなじみの深い状態遷移. 御器のモデルと連携してシミュレーションできる.. 920. することにより,組込み機器用の実用的なソースコ. 情報処理 Vol.55 No.9 Sep. 2014. 図を扱う.ハイブリッドシステムでは,状態遷移.

(6) ② サイバーフィジカルシステムを支える技術─フィジカルシステムを理解する. 図の各状態で制御器のモ デル保持しており,ある 事象(イベント)で,状. 実世界 Physical. の国際会議の 1 つである HSCC は,ハイブリッド. アクチュエータ. Cyber. モデリング言語・ツール. 連携シミュレーション 制御対象 (プラント). 態を切り替え,制御方式 を切り替える.CPS Week. モデル. 制御対象のモデル. センサ. u. y. Modelica. Matlab/Simulink. 制御器の モデル. 組込みソフトウェア 制御ソフトウェア. システムに焦点を当てた 学会である.. 自動生成. リアルタイムOS 通信ミドルウェア. スマートグリッドなど. 割込みハンドラ. CPS の 応 用 分 野 は, 初. 組込みハードウェア 専用ハードウェア. 期段階で実機を用いた動. ソフトウェアの モデル 状態遷移図 シーケンス図 コンポーネント図. UML SysML AADL. システムのモデル. 作確認をすることは難し い.モデルベース開発で. 図 -11 モデルベース開発. は,複数のモデル(ネッ トワークモデル,交通シミュレーション用のモデ. 解しておくことが必要である.制御工学の講義の動. ル,自動車など)を利用したシミュレーションを行. 画. うことで,実機なしで検証することができる.初期. で公開されているので,活用されるとよい.冒頭で. 段階では,複数の制御対象は,Modelica や Matlab/. 紹介した教科書(pdf 版は無料で公開いている )は,. を行う.シミュレーションで検証したモデルを基に,. いるので,研究室単位での英語輪講で活用するには,. 4). や資料が大学 OCW(Open Course Ware)など 1). Simulink などを利用しシミュレーションで動作確認. CPS という視点から最低限必要な知識を網羅して. 複数の制御器のコードを自動生成できるため,CPS. ちょうどいい教材である.. のアプリケーションの開発に,モデルベース開発は, 大きな役割を果たすと期待されている.. さらに理解を深めるために 筆者も含め多くの情報系の教育を受けた人は,制 御理論の授業を受講していないことが多い.本稿で. 参考文献 1) Lee, E. A. and Seshia, S. A. : Introduction to Embedded Systems-A Cyber-Physical Systems Approach (2014), http://leeseshia.org/ 2) Mathworks : MATLAB/Simulink サンプルモデル 解説書 - 倒 立振子の安定化制御のラピッドプロトタイピング編 - , http:// www.mathworks.com/tagteam/56581_TA014_Inverted_Pendulum_ Stabilization_Control_Rapid_Prototyping.pdf 3) agendaCPS, http://www.fortiss.org/en/research/projects/agendacps/ 4) http://www.appi.keio.ac.jp/?page_id=437 (2014 年 4 月 30 日受付). は,CPS を理解する上で必要なフィジカルシステ ム(連続時間)の基本をはじめの一歩として解説し た.しかし,CPS をより理解するには,基本的な 制御理論(古典制御,現代制御,モデリング)を理. 安積卓也(正会員) [email protected] 2009 年名古屋大学情報科学研究科博士課程修了.博士(情報科学) . 日本学術振興会特別研究員 PD,立命館大学,カリフォルニア大学 アーバイン校を経て,2014 年より現職.組込みシステム,リアルタ イムシステムの研究に従事 .. 情報処理 Vol.55 No.9 Sep. 2014. 921.

(7)

参照

関連したドキュメント

メラが必要であるため連続的な変化を捉えることが不

従って、こ こでは「嬉 しい」と「 楽しい」の 間にも差が あると考え られる。こ のような差 は語を区別 するために 決しておざ

る、関与していることに伴う、または関与することとなる重大なリスクがある、と合理的に 判断される者を特定したリストを指します 51 。Entity

線遷移をおこすだけでなく、中性子を一つ放出する場合がある。この中性子が遅発中性子で ある。励起状態の Kr-87

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

(自分で感じられ得る[もの])という用例は注目に値する(脚注 24 ).接頭辞の sam は「正しい」と

討することに意義があると思われる︒ 具体的措置を考えておく必要があると思う︒

発するか,あるいは金属が残存しても酸性あるいは塩