写真1 MATLAB/Simulinkを使った2次電池システム開発
サイバネットシステムは、『人とくるまのテクノロジー展 2009』(2009年5月20日~22日)において、米The MathWorks社のモデルベース開発環境「MATLAB/Simulink」を使った2次電池の充放電システムの開発に関する提案展示を行った(写真1)。この展示では、電動自動車の必須部品である2次電池の充放電を制御するシステムについて、2次電池を等価回路を使ってモデル化することにより、MATLAB/Simulinkで開発できることを示した。
MATLAB/Simulink単体では、2次電池のような温度やSOC(State of Charge)などの非線形的なパラメータを持つ対象をモデル化する場合、単純な等価回路で表現することはできない。しかし、バージョン「2008b」の新機能である「Simscape Language」を利用すれば、非線形的なパラメータを近似する式を組み込んだ等価回路を使ったモデルの作成を容易に行うことができるようになる。
そして、このモデルを使ってモデルベース開発を進める場合には、さまざまなパラメータをモデルに組み込む必要がある。これらのパラメータが正確であればあるほど、モデルベース開発の結果をより正しいものにすることができる。パラメータは、実験データから導き出すことになるが、すべてのパラメータを導き出せるとは限らない。そこで、「Simulink Design Optimization」を用いれば、未知のパラメータを推定することが可能になる。未知のパラメータを推定しておけば、最終的な実験データとの合わせ込みを行う際に、実システムとモデル間のかい離をより小さくすることができる。
しかし、この未知のパラメータを推定するための演算処理には、かなりの時間を要する。そこで、MATLAB/Simulinkの計算について、マルチコア/マルチプロセッサ環境での並列処理ができるようになる「Parallel Computing Toolbox」と「MATLAB Distributed Computing Server」を使って、処理時間を短縮している。今回の展示では、デュアルコアのパソコンを2台使用して、4コアでの並列処理を行う例を示した。
(朴 尚洙)