IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ザ マスワークス, インクの特許一覧

特開2023-83254実行可能なシミュレーションモデルを縮尺変更するためのシステム及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023083254
(43)【公開日】2023-06-15
(54)【発明の名称】実行可能なシミュレーションモデルを縮尺変更するためのシステム及び方法
(51)【国際特許分類】
   G06F 30/20 20200101AFI20230608BHJP
   G06F 30/10 20200101ALI20230608BHJP
   G06F 111/10 20200101ALN20230608BHJP
【FI】
G06F30/20
G06F30/10 200
G06F111:10
【審査請求】有
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022193218
(22)【出願日】2022-12-02
(31)【優先権主張番号】63/285,670
(32)【優先日】2021-12-03
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/670,997
(32)【優先日】2022-02-14
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VERILOG
(71)【出願人】
【識別番号】505384841
【氏名又は名称】ザ マスワークス, インク
【氏名又は名称原語表記】THE MATHWORKS, INC.
【住所又は居所原語表記】3 Apple Hill Drive, Natick, MA01760 (US).
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100082946
【弁理士】
【氏名又は名称】大西 昭広
(74)【代理人】
【識別番号】100195693
【弁理士】
【氏名又は名称】細井 玲
(72)【発明者】
【氏名】ピーター・ジェイ・マロニー
(72)【発明者】
【氏名】ダカイ・フー
(72)【発明者】
【氏名】ダルシャンクマル・エム・パンディット
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA05
5B146AA15
5B146DG02
5B146DJ05
5B146DJ11
(57)【要約】
【課題】電気モーターモデルの自動的縮尺変更。
【解決手段】システム及び方法は、元の電気モーターモデルを自動的に縮尺変更し、異なるサイズの電気モーターをモデル化する。元の電気モーターモデルは、モーターコントローラモデルに結合され、システム及び方法は、元のモーターコントローラモデルを縮尺変更し、縮尺変更された電気モーターモデルに適合する縮尺変更されたモーターコントローラモデルを生成する。元の電気モーターモデルは、モーターパラメータとモーターLUTを含み、元のモーターコントローラモデルは、コントローラパラメータとコントローラLUTを含む。モデル化する新しい電気モーターのサイズを示す縮尺変更係数を受け取ると種々の比率を縮尺変更係数の関数として計算する。元のモーターパラメータとコントローラパラメータは比率に基づいて縮尺変更される。元のモーターLUTとコントローラLUTは比率に基づいて再形成される。
【選択図】図17
【特許請求の範囲】
【請求項1】
メモリから、エンジンコントローラシミュレーションモデル及びエンジンシミュレーションモデルにアクセスし、前記エンジンコントローラシミュレーションモデル及び前記エンジンシミュレーションモデルが、モデリング環境のシミュレーションエンジンによって実行可能であり、前記エンジンコントローラシミュレーションモデルが、元のコントローラパラメータ及び元のコントローラルックアップテーブルを含み、前記エンジンシミュレーションモデルが、元のエンジンパラメータ及び元のエンジンプルックアップテーブルを含み、前記エンジンシミュレーションモデルが、実行中に所与のサイズの元のエンジンの動作をシミュレートするものであり、
前記元のエンジンの前記所与のサイズからサイズ変更されたエンジンの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記メモリに結合されたプロセッサによって、前記1つ以上の縮尺変更係数に基づいて、前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間における複数の比率を決定し、
前記プロセッサによって、前記複数の比率のうちの1つ以上に基づいて、前記元のコントローラパラメータを変更することにより、縮尺変更されたコントローラパラメータを生成し、
前記プロセッサによって、前記複数の比率のうちの1つ以上に基づいて、前記元のエンジンパラメータを変更することにより、縮尺変更されたエンジンパラメータを生成し、
前記プロセッサによって、前記複数の比率のうちの1つ以上に基づいて、前記元のコントローラルックアップテーブルを変更することにより、再形成されたコントローラルックアップテーブルを作成し、
前記プロセッサによって、前記複数の比率のうちの1つ以上に基づいて、前記元のエンジンルックアップテーブルを変更することにより、再形成されたエンジンルックアップテーブルを作成すること
を含み、
前記元のエンジン及び前記サイズ変更されたエンジンが、内燃機関、圧縮エンジン、電気モーター、又はハイブリッド自動車パワートレインである、方法。
【請求項2】
モデリング環境内で、メモリから、エンジンコントローラシミュレーションモデル及びエンジンシミュレーションモデルにアクセスし、前記エンジンコントローラシミュレーションモデル及び前記エンジンシミュレーションモデルが、モデリング環境のシミュレーションエンジンによって実行可能であり、前記エンジンシミュレーションモデルが、実行中に所与のサイズの元のエンジンの動作をシミュレートするものであり、前記エンジンコントローラシミュレーションモデルが、前記元のエンジンのモデルを含み、前記エンジンシミュレーションモデルに適合するフィードフォワードコントローラを実施するものであり、
前記元のエンジンの前記所与のサイズからサイズ変更されたエンジンの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記メモリに結合されたプロセッサによって、前記1つ以上の縮尺変更係数に基づいて、前記エンジンシミュレーションモデルを、前記新しいサイズの前記サイズ変更されたエンジンをシミュレートするように縮尺変更し、
前記プロセッサによって、前記1つ以上の縮尺変更係数に基づいて、前記エンジンコントローラシミュレーションモデルを、前記新しいサイズの前記サイズ変更されたエンジンをシミュレートするように縮尺変更された前記エンジンシミュレーションモデルに適合するように縮尺変更し、
を含み、さらに
前記エンジンコントローラシミュレーションモデルの前記縮尺変更及び前記エンジンシミュレーションモデルの前記縮尺変更の後、前記プロセッサによって、前記エンジンコントローラシミュレーションモデル及び前記エンジンシミュレーションモデルを実行し、前記新しいサイズの前記サイズ変更されたエンジンの動作をシミュレートすること、又は
縮尺変更された前記エンジンシミュレーションモデルに適合するように縮尺変更された前記エンジンコントローラシミュレーションモデルについてコードを生成し、前記新しいサイズの前記サイズ変更されたエンジンをシミュレートすること
のうちの少なくとも一方を含み、
前記元のエンジン及び前記サイズ変更されたエンジンが、内燃機関、圧縮エンジン、電気モーター、又はハイブリッド自動車パワートレインである、方法。
【請求項3】
モデリング環境内で、メモリから、電気モーターコントローラシミュレーションモデル及び電気モーターシミュレーションモデルにアクセスし、前記電気モーターコントローラシミュレーションモデル及び前記電気モーターシミュレーションモデルが、モデリング環境のシミュレーションエンジンによって実行可能であり、前記電気モーターシミュレーションモデルが、実行中に、所与のサイズの元の電気モーターの動作をシミュレートするものであり、前記電気モーターコントローラシミュレーションモデルが、前記電気モーターシミュレーションモデルに適合しており、
前記元の電気モーターの前記所与のサイズからサイズ変更された電気モーターの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記メモリに結合されたプロセッサによって、前記1つ以上の縮尺変更係数に基づいて、前記電気モーターシミュレーションモデルを、前記新しいサイズの前記サイズ変更された電気モーターをシミュレートするように縮尺変更し、
前記プロセッサによって、前記1つ以上の縮尺変更係数に基づいて、前記電気モーターコントローラシミュレーションモデルを、前記新しいサイズの前記サイズ変更された電気モーターをシミュレートするように縮尺変更された前記電気モーターシミュレーションモデルに適合するように縮尺変更し、
前記電気モーターコントローラシミュレーションモデルの前記縮尺変更及び前記電気モーターシミュレーションモデルの前記縮尺変更の後、前記プロセッサによって、前記電気モーターコントローラシミュレーションモデル及び前記電気モーターシミュレーションモデルを実行し、前記新しいサイズの前記サイズ変更された電気モーターの動作をシミュレートすること
を含む方法。
【請求項4】
前記元の電気モーターは、軸方向寸法及び半径方向寸法を有する円筒形の物理的形態を有し、
前記元の電動モーターは、巻線を備えたステータを有し、
前記1つ以上の縮尺変更係数は、軸方向縮尺変更係数、半径方向縮尺変更係数、又は巻取係数である、請求項3に記載の方法。
【請求項5】
前記元の電気モーターは、軸方向寸法及び半径方向寸法を有する円筒形の物理的形態を有し、
前記元の電気モーターは、巻線を備えたステータを有し、
受け取った前記1つ以上の縮尺変更係数は、軸方向縮尺変更係数であり、前記方法は、
前記軸方向縮尺変更係数に基づいて、半径方向縮尺変更係数を導出し、
前記軸方向縮尺変更係数及び前記半径方向縮尺変更に基づいて、巻取係数を導出すること
をさらに含む、請求項3に記載の方法。
【請求項6】
前記半径方向縮尺変更係数は、前記元の電気モーターの前記所与のサイズと前記サイズ変更された電気モーターの前記新しいサイズとの間における出力比率にさらに基づく、請求項5に記載の方法。
【請求項7】
前記巻取係数は、前記元の電気モーターの前記所与のサイズと前記サイズ変更された電気モーターの前記新しいサイズとの間における直流(DC)リンク電圧比率にさらに基づく、請求項5に記載の方法。
【請求項8】
前記電気モーターコントローラシミュレーションモデルは、比例(P)パラメータ、積分(I)パラメータ、又は微分(D)パラメータのうちの少なくとも1つを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記Pパラメータ、Iパラメータ又はDパラメータのうちの少なくとも1つを縮尺変更することを含む、請求項3に記載の方法。
【請求項9】
前記電気モーターコントローラシミュレーションモデルは、比例(P)パラメータを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記Pパラメータを、前記軸方向縮尺変更係数及び前記巻取係数の関数として縮尺変更することを含む、請求項4に記載の方法。
【請求項10】
前記電気モーターコントローラシミュレーションモデルは、積分(I)パラメータを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記Iパラメータを、前記軸方向縮尺変更係数、前記半径方向縮尺変更係数及び前記巻取係数の関数として縮尺変更することを含む、請求項4に記載の方法。
【請求項11】
前記電気モーターシミュレーションモデルは、モーターデータを含む元のモータールックアップテーブルを含み、
前記電気モーターシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記元のモータールックアップテーブルを変更することを含む、請求項3に記載の方法。
【請求項12】
前記元のモータールックアップテーブルは、前記元の電気モーターのダイナモメーターテスト、又は前記元の電気モーターの設計の有限要素解析(FEA)から得られた非線形データを含む、請求項11に記載の方法。
【請求項13】
前記電気モーターコントローラシミュレーションモデルは、モーターデータを含む元のコントローラルックアップテーブルを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記元のコントローラルックアップテーブルを変更することを含む、請求項3に記載の方法。
【請求項14】
前記元のコントローラルックアップテーブルは、トルクデータを含み、前記元のコントローラルックアップテーブルを変更することは、前記トルクデータを、前記軸方向縮尺変更係数及び前記半径方向縮尺変更係数の関数として縮尺変更することを含む、請求項13に記載の方法。
前記電気モーターコントローラシミュレーションモデルは、モーターデータを含む元のコントローラルックアップテーブルを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記元のコントローラルックアップテーブルを変更することを含む。
【請求項15】
前記電気モーターコントローラシミュレーションモデルを縮尺変更することの後、前記電気モーターコントローラシミュレーションモデルについてコードを生成すること
をさらに含み、前記コードが、電子制御ユニット(ECU)上に組み込みソフトウェアとして配備されるように構成されている、請求項3に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
[関連出願の相互参照]
本出願は、2017年6月2日に出願された米国特許出願第15/612,765号の一部継続出願であり、「実行可能なシミュレーションモデルを縮尺変更するためのシステム及び方法」について、2021年12月3日に出願された米国仮特許出願第63/285,670号の利益を主張するものである。これらの出願はその全体が参照により本明細書に組み込まれる。
【図面の簡単な説明】
【0002】
以下の説明では、下記の添付の図面を参照する。
【0003】
図1は、一実施形態による、縮尺変更環境の一例を示す概略図である。
【0004】
図2は、一実施形態による、モデリング環境を示す部分的概略図である。
【0005】
図3は、一実施形態による、システムモデルの一例を示す概略図である。
【0006】
図4は、一実施形態による、エンジンモデルの一例を示す概略図である。
【0007】
図5は、一実施形態による、元のエンジンモデルによって使用されるルックアップテーブルの一例を示す概略図である。
【0008】
図6は、一実施形態による、元のエンジンコントローラモデルによって使用されるルックアップテーブルの一例を示す概略図である。
【0009】
図7A図7Eは、一実施形態による、例示的方法のフロー図の各部分を示す図である。
【0010】
図8は、一実施形態による、縮尺変更されたエンジンモデルによって使用される再形成されたルックアップテーブルの一例を示す概略図である。
【0011】
図9は、一実施形態による、縮尺変更されたエンジンコントローラモデルによって使用される再形成されたルックアップテーブルの一例を示す概略図である。
【0012】
図10は、一実施形態による、元のルックアップテーブルの一例を示す概略図である。
【0013】
図11は、一実施形態による、再形成されたルックアップテーブルの一例を示す概略図である。
【0014】
図12は、一実施形態による、元のルックアップテーブルの一例を示す概略図である。
【0015】
図13は、一実施形態による、再形成されたルックアップテーブルの一例を示す概略図である。
【0016】
図14は、一実施形態による、ユーザーインターフェースの一例を示す概略図である。
【0017】
図15は、一実施形態による、別のユーザーインターフェースの一例を示す概略図である。
【0018】
図16A及び図16Bは、一実施形態による、例示的方法のフロー図の各部分を示す図である。
【0019】
図17は、一実施形態による、ダイナモメーターモデルの一例を示す概略図である。
【0020】
図18は、一実施形態による、データ処理システムの一例を示す概略図である。
【0021】
図19は、一実施形態による、分散コンピューティング環境の一例を示す概略図である。
【0022】
図20は、一つ又は複数の実施形態による、電気モーター駆動システムモデルの一例を示す概略図である。
【0023】
図21は、一つ又は複数の実施形態による、モーター及びインバータプラントモデルの一例を示す概略図である。
【0024】
図22は、一つ又は複数の実施形態による、モーターコントローラモデルの一例を示す概略図である。
【0025】
図23は、一つ又は複数の実施形態による、モーター要素のためのユーザーインターフェースの一例を示す概略図である。
【0026】
図24は、一つ又は複数の実施形態による、コントローラ要素のためのユーザーインターフェースの一例を示す概略図である。
【0027】
図25A図25Dは、一つ又は複数の実施形態による、例示的方法のフロー図の各部分を示す図である。
【0028】
図26は、一つ又は複数の実施形態による、モーターモデル及びコントローラモデルを縮尺変更するためのユーザーインターフェースの一例を示す概略図である。
【0029】
図27は、一つ又は複数の実施形態による、基準モーターモデルのためのルックアップテーブルの一例を示す概略図である。
【0030】
図28は、一つ又は複数の実施形態による、縮尺変更されたモーターモデルのための縮尺変更されたルックアップテーブルの一例を示す概略図である。
【0031】
図29は、一つ又は複数の実施形態による、基準コントローラモデルのためのルックアップテーブルの一例を示す概略図である。
【0032】
図30は、一つ又は複数の実施形態による、縮尺変更されたコントローラモデルのための縮尺変更されたルックアップテーブルの一例を示す概略図である。
【0033】
図31は、一つ又は複数の実施形態による、縮尺変更されたコントローラモデル及び縮尺変更されたモーターモデルをテストするためのダイナモメーターシステムモデルの一例を示す概略図である。
【0034】
図32は、一つ又は複数の実施形態による、縮尺変更されたコントローラモデルのための縮尺変更されたルックアップテーブルの一例を示す概略図である。
【0035】
図33A及び図33Bは、一つ又は複数の実施形態による、基準モーターモデル及びモーターコントローラモデル、ならびに縮尺変更されたモーターモデル及びモーターコントローラモデルのシミュレーション中に生成された性能テストからのデータのプロットの例の各部分を示す図である。
【0036】
図34A及び図34Bは、一つ又は複数の実施形態による、基準モーターモデル及びモーターコントローラモデル、ならびに縮尺変更されたモーターモデル及びモーターコントローラモデルのシミュレーション中に生成された性能テストからのデータのプロットの別の例の各部分を示す図である。
【発明を実施するための形態】
【0037】
[例示的実施形態の詳細な説明]
背景
コンピュータベースのモデリング環境は、自動車、家電製品、飛行機のようなシステムの設計及び開発に、しばしば使用される。例えば、モデリング環境は、内燃機関、電気、又はハイブリッド自動車のパワートレインのようなエンジンの制御に使用される電子制御ユニット(ECU)組込みソフトウェアの設計に使用される場合がある。開発者は、モデリング環境内でECUソフトウェアの実行可能モデルを作成し、それをエンジンとペアにして、組み立てられたエンジン/プラントシステムの挙動を反映させることができる。ECU制御ソフトウェアモデルを開発及び評価するために、開発者は、ECUによって制御されるエンジンのモデルも作成し、ECUモデルをそのエンジンモデルに結合させることができる。ECUモデル及びエンジンモデルは実行することができ、実行中、ECUモデルは、ドライバトルク要求のような入力を受け取ることができ、スロットル位置、燃料インジェクタパルス幅、点火推角、吸排気カムフェイザー角のような1つ以上のエンジンコマンドを生成することができる。エンジンモデルは、エンジンコマンドを受け取ることができ、ECUモデルからのエンジンコマンドに応答して、ブレーキトルク、マニホールド圧力、燃料流量、空気質量流量、排気放出物等のようなエンジン出力データを生成することができる。ECUモデルは、ECUのために確立された仕様を満たすまで、及び/又はエンジンモデルに対して満足のいく制御特性を生成するまで、評価及び改良される場合がある。制御特性は通常、所与の乗り物の用途に望まれる燃費、性能、及び排気放出物の目標に関連するものである。ECUモデル及びそれに関連する較正パラメータセットが、性能、燃費、及び排気放出物の制御仕様を満たすように開発されると、HIL(Hardware-in-the-Loop)シミュレーション及び乗り物のハードウェアアプリケーションにおける最終開発のために、そのECUモデルのためのコードが生成される場合があり、この時点で、生産出荷前に、エンジンプラントのモデルと実際のエンジンシステムとの誤差を考慮して、制御パラメータは微調整されることになる。例えば、モデリング環境の一部であってもよいコード生成器は、ECUモデルの挙動を具現化するソースコードのようなコードを生成することができる。生成されたコード及び較正パラメータセットは、コンパイルされ、組み込みシステムのようなハードウェアプラットフォーム上に配備され、それによって物理的ECUが実現される。
【0038】
エンジンモデルは、集中パラメータモデルとして実施される場合がある。集中パラメータモデルでは、モデル化されるエンジンの挙動が、1つ以上の仮定の下で、エンジンの挙動を集合的に近似するモデル要素のネットワークトポロジによって表現される。モデル要素は、スロットル、吸気マニホールド、エンジンコア、排気マニホールド、排気系、ターボチャージャー等のような様々なエンジンコンポーネントを、モデル化できる。モデル要素は、エンジンアーキテクチャを定義するように配置され、相互接続される場合がある。モデル要素は、スロットル要素のスロットル直径、吸気マニホールドの吸気系面積及び体積、排気マニホールドの排気系面積及び体積等のような、モデル要素の挙動を支配する設定可能なパラメータを含む場合がある。さらに、エンジンモデルは、エンジンモデルの実行中に、動作特性又は他の属性を計算するためにアクセスされるエンジンルックアップテーブルを含む場合がある。ルックアップテーブルは、モデル化されるエンジンの非線形データを包含する場合がある。コントローラモデルも同様に、実行中にその挙動を支配する設定可能なコントローラパラメータを含む場合がある。また、コントローラモデルは、コントローラモデルの実行中にエンジンコマンドの計算に使用される値を取得するためにアクセスされる、非線形データを含むコントローラルックアップテーブルを含む場合がある。エンジンコントローラ自体は、実際の物理センサーの代替や診断チェックの際に仮想センサーとして使用される、プラントモデルで使用されるものと同じかそれよりも低い詳細度を有するエンジン挙動のモデルをさらに含む場合がある。
【0039】
エンジンモデルは、非常に複雑であり、多くのエンジン出力を生成できる場合がある。エンジンモデルは、何ヶ月、あるいは何年もの設計作業の結果である場合がある。通常、エンジンモデルは、特定のアーキテクチャの物理的エンジンをモデル化するものである。所与のアーキテクチャのエンジンモデルのパラメータは、エンジンのサイズに影響を及ぼす。例えば、所与のエンジンモデルは、4気筒、4ストローク、スパーク点火、1.5リットル(L)ターボチャージャー、デュアルカムフェイズのエンジンアーキテクチャをモデル化する場合がある。異なるサイズのエンジン(例えば、6気筒、9.8Lエンジン)のモデルを作成するには、開発者は、その新しいサイズのエンジンの挙動をモデル化する全く新しいモデルを作成しなければならない。前述のように、このような新しいエンジンモデルの作成は、時間のかかる作業である。そのため、異なるサイズのエンジンのための新しいコントローラ設計の開発は、遅れることがある。開発者は、開発時間を短縮するために、あるエンジンモデルのために作成したパラメータを有するコントローラモデルを、異なるサイズのエンジンのための異なるエンジンモデルで再利用する場合がある。このような適合しないエンジン/コントローラモデルパラメータの使用によれば、シミュレーション結果が使用不能になる可能性があり、コントローラパラメータが新しいエンジン設計に調和するまで、さらなる制御開発が停止されることになる場合がある。
【0040】
[概要]
簡単に言えば、本開示は、異なるサイズのエンジンのエンジンモデルを作成するために、元のエンジンモデルを自動的に縮尺変更するシステム及び方法に関するものである。元のエンジンモデルは、エンジンコントローラのモデルに結合される場合がある。また、本システム及び方法は、元のコントローラモデルを縮尺変更して、縮尺変更されたエンジンモデルに適合する縮尺変更されたコントローラモデルを生成することもできる。元のエンジンモデルは、エンジンパラメータ及びエンジンルックアップテーブルを含む場合があり、元のコントローラモデルは、コントローラパラメータ及びコントローラルックアップテーブルを含む場合がある。本システム及び方法は、モデル化される新しいエンジンのサイズを示す1つ以上の縮尺変更係数を受け取ることができ、1つ以上の縮尺変更比率を、1つ以上の縮尺変更係数の関数として計算することができる。例えば、本システム及び方法は、既存のエンジンモデル及び縮尺変更されたエンジンモデルについて、出力、トルク、速度、及び排気量の比率を計算することができる。本システム及び方法は、縮尺変更比率を使用して、エンジンパラメータ及びコントローラパラメータの少なくとも一部を変更することができる。例えば、本システム及び方法は、エンジントルク比率を使用して体積ベースのパラメータを縮尺変更することができ、エンジン出力比率を使用して面積ベースのパラメータを縮尺変更することができる。また、本システム及び方法は、縮尺変更比率のうちの1つ以上を使用して、エンジンルックアップテーブル及びコントローラルックアップテーブルの少なくとも一部を再形成することができる。本システム及び方法は、縮尺変更されたエンジンモデルの作成の他に、例えば、同じ縮尺変更比率を使用してエンジンコントローラモデルのパラメータとルックアップテーブルを変更することにより、縮尺変更されたエンジンモデルに適合する縮尺変更されたコントローラモデルを生成することもできる。
【0041】
本システム及び方法は、縮尺変更プロセスの間、元のエンジンモデル及びコントローラモデルの設計及びアーキテクチャを保持することができる。例えば、変更されたエンジンパラメータ及びコントローラパラメータ、ならびに再形成されたエンジンルックアップテーブル及びコントローラルックアップテーブルは、コンフィギュレーションセット又はブロックパラメータのような1つ以上のデータ構造に記憶される場合があり、元のエンジンモデル及びコントローラモデルは、実行中に、コンフィギュレーションセットに記憶された変更されたエンジンパラメータ及びコントローラパラメータ、ならびに再形成されたエンジンルックアップテーブル及びコントローラルックアップテーブルを使用する場合がある。
【0042】
実施形態によっては、本システム及び方法は、元のエンジンコントローラモデル及びエンジンモデルについて作成されたダイナモメーターのモデル、ならびにそのダイナモメーターモデルのテストパラメータ範囲をさらに縮尺変更する場合がある。縮尺変更されたダイナモメーターモデルは、エンジンコントローラモデル及びエンジンモデルに接続されてもよく、エンジンコントローラパラメータをダイナモメーターソフトウェアによって繰り返し再調節することにより、縮尺変更処理によって生じたコントローラコマンドとエンジン出力との間の累積誤差や、縮尺変更処理の前からある既存の誤差を除去することができる。縮尺変更、及びある範囲のテストポイントにわたる累積誤差の再調節の後、エンジンコントローラモデル及びエンジンプラントモデルを再テストすることができる。エンジンコントローラモデル及びエンジンモデルのテスト中に生成された出力データは、取り込まれ、保存されてもよい。本システム及び方法は、取り込んだ出力データを使用して、複数の静的エンジン性能マップを生成することができる。本システム及び方法は、静的モデルの所与のパワートレイン開発アプリケーションではエンジンのダイナミクスを無視できるという条件で、サイズ変更処理に使用される計算の集中度が高い動的エンジンモデルの代用物として機能する、例えば静的エンジン性能マップを含む対応するエンジンモデルを構築することができる。
【0043】
図1は、縮尺変更環境100の一例を示す概略図である。縮尺変更環境100は、元のエンジンコントローラモデル104及び元のエンジンモデル106を含む場合がある元のシステムモデル102を含む場合がある。元のエンジンコントローラモデル104は、108で示されている1つ以上のエンジンコントローラモデルパラメータを含む場合がある。実施形態によっては、元のエンジンコントローラモデル104は、それ自体のモデルを、元のエンジンモデル106によってモデル化されたエンジンのオブザーバ、状態推定器、又は仮想センサーの形で含む場合がある。実施形態によっては、元のエンジンコントローラモデル104は、気圧推定器、スロットル位置推定器診断機能、CIエンジン用のEGRフロー推定器等のような物理的逆状態推定器を含む場合がある。元のエンジンコントローラモデル104は、このエンジンモデルを使用してエンジンコマンドを生成することができ、したがってフィードフォワードコントローラとして動作することができる。例えば、元のエンジンコントローラモデル104は、110で示される1つ以上のコントローラルックアップテーブル(LUT)を含む場合がある。LUT110の少なくとも一部、通常LUT110の多くは、元のエンジンモデル106によってモデル化されたエンジンをモデル化することができる。元のエンジンモデル106は、112で示されている1つ以上のエンジンモデルパラメータと、114で示されている1つ以上のエンジンLUTとを含む場合がある。元のシステムモデル102は、実行することができる。実行中、元のエンジンコントローラモデル104は、1つ以上のエンジンコマンドを生成することができ、エンジンコマンドは、元のエンジンモデル106によって受け取られる。元のエンジンモデル106は、エンジン出力データを生成することができる。元のエンジンモデル106は、特定サイズの物理的エンジンをモデル化することができ、例えば特定数のシリンダ及び特定の排気量を有するエンジンをモデル化することができる。
【0044】
自動縮尺変更ツール116は、元のエンジンコントローラモデル104及び元のエンジンモデル106を縮尺変更することができる。例えば、自動縮尺変更ツール116は、元のエンジンモデル106によってモデル化されたエンジンよりも大きいサイズのエンジンをモデル化する縮尺変更されたエンジンモデル120と、この縮尺変更されたエンジンモデル120に適合する縮尺変更されたエンジンコントローラモデル122とを含む、一つの縮尺変更されたシステムモデル118を作成することができる。実施形態によっては、自動縮尺変更ツール116は、縮尺変更されたエンジンコントローラモデルパラメータ124及び再形成されたコントローラLUT126を生成することにより、縮尺変更されたエンジンコントローラモデル122を生成する場合がある。自動縮尺変更ツール116は、縮尺変更されたエンジンモデルパラメータ128及び再形成されたエンジンLUT130を生成することにより、縮尺変更されたエンジンモデル120を生成する場合がある。自動縮尺変更ツール116は、元のエンジンモデル106によってモデル化されたエンジンよりも小さいサイズのエンジンをモデル化する別の縮尺変更されたエンジンモデル134と、この縮尺変更されたエンジンモデル134に適合する別の縮尺変更されたエンジンコントローラモデル136とを含む、別の縮尺変更されたシステムモデル132を生成することができる。自動縮尺変更ツール116は、縮尺変更されたエンジンコントローラモデルパラメータ138及び再形成されたコントローラLUT140を生成することにより、縮尺変更されたエンジンコントローラモデル136を生成する場合があり、また、縮尺変更されたエンジンモデルパラメータ142及び再形成されたエンジンLUT144を生成することにより、縮尺変更されたエンジンモデル134を生成する場合がある。
【0045】
自動縮尺変更ツール116は、複雑で及び/又は高度なエンジンモデル及びコントローラモデルの場合であっても、より大きなサイズのエンジンについての縮尺変更されたモデル120、122、及び/又はより小さなサイズのエンジンについての縮尺変更されたモデル134、136を迅速に、例えば数分で生成することができる。そのため、開発者は、全く新しいエンジンモデル及び/又はコントローラモデルを苦労して作成する従来のアプローチと比較して、代替のエンジン/コントローラ設計を迅速かつ容易に入手し、評価することができる。
【0046】
図2は、一実施形態によるモデリング環境200の一例を示す部分的概略図である。モデリング環境200は、ユーザーインターフェース(UI)エンジン202、モデルエディタ204、1つ以上のモデル要素ライブラリ(206で示されている)、コード生成器208、コンパイラ210、シミュレーションエンジン212、モデル縮尺変更ツール214、及び静的エンジンモデル作成器215を含む場合がある。UIエンジン202は、グラフィカルユーザーインターフェイス(GUI)及び/又はコマンドラインインターフェース(CLI)のような1つ以上のユーザーインターフェース(UI)を生成し、それをワークステーション、ラップトップ、タブレット等のデータ処理装置のディスプレイ上に表示することができる。GUI及びCLIは、モデルエディタウィンドウのようなモデリング環境200に対するユーザーインターフェースを提供することができる。モデルエディタ204は、ユーザー入力に応答して、又はプログラムにしたがって、開く、作成、編集、及び保存のような選択された操作を、モデルに対して実施することができる。
【0047】
シミュレーションエンジン212は、インタープリタ216、パーサー218、モデルコンパイラ220、及びソルバー222a~cのような1つ以上のソルバーを含む場合がある。モデルコンパイラ220は、中間表現(IR)ビルダー224のような1つ以上のIRビルダーを含む場合がある。実施形態によっては、1つ以上のIRビルダーは、ソルバー222に含まれ、又は関連付けられる場合がある。シミュレーションエンジン212は、ソルバー222a~cのうちの1つ以上を使用して、コンピュータ生成された実行可能モデルを実行することができ、例えば、コンパイルして実行するか、又は解釈することができる。例えば、ソルバー222は、あるモデルについて一組の式を生成し、その一組の式を解くことができる。また、ソルバー222は、一組の式を表す、あるモデルのインメモリ中間表現(IR)の解を生成することもできる。ソルバー222は、種々の数値的技術を使用してIRの解を生成することができる。ソルバーの例としては、数値積分技術を使用できる1つ以上の固定ステップ連続時間ソルバーや、例えばルンゲ・クッタ対やドルマン・プリンス対に基づくものであってもよい1つ以上の可変ステップソルバーが挙げられる。固定ステップソルバーを用いる場合、モデルのシミュレーションの間ずっと、ステップサイズは一定に保たれる。可変ステップソルバーを用いる場合、例えば、誤差の許容範囲を満たすために、ステップサイズをステップごとに変化させることができる。適当なソルバーの非網羅的説明は、The MathWorks, Inc.の「Simulink User‘s Guide」(2017年3月版)に記載されている。
【0048】
モデル縮尺変更ツール214は、比率生成器224、パラメータ変更エンジン226、及びルックアップテーブル再形成エンジン228を含む場合がある。
【0049】
コード生成器208は、モデル230のようなモデルにアクセスすることができ、モデル230について、コード232のようなコードを生成することができる。実施形態によっては、生成されるコードは、ソースコードであってもよい。ソースコードは、コンパイラ210によってコンパイルされ、モデリング環境200の外部にある1つ以上のプロセッサによって実行される場合がある。したがって、生成されるコードは、モデリング環境200に対し、独立して機能するコードであってもよい。生成されるコードの例としては、Ada、Basic、C、C++、C#、FORTRAN、アセンブリコード、及び、VHDL、Verilog、又はSystemCのようなハードウェア記述言語(HDL)コードなどが挙げられ、これらはプログラマブルロジックデバイスの合成に使用される場合がある。
【0050】
モデリング環境の例としては、The MathWorks, Inc.のMATLAB(登録商標)技術計算環境(TCE)、及びSimulink(登録商標)モデルベース設計環境;同じくThe MathWorks, Inc.のSimscape(商標)物理モデリングシステム、SimEvent(商標)個別イベントモデリングツール、及びStateflow(登録商標)状態チャートツール;カナダ国オンタリオ州ウォータールーにあるWaterloo Maple Inc.のMapleSim物理モデリングシミュレーションツール;イリノイ州シカゴにあるGamma Technologies,LLCのGTSUITE(登録商標)モデリングシミュレーション環境;Ricardo plcの子会社であるイリノイ州シカゴにあるRicardo SoftwareのRicardo WAVE及びWAVE RTモデリングシミュレーションツール;オーストリア・グラーツにあるAVL GmbhのAVL Boostモデリングシミュレーションツール;テキサス州オースチンにあるNational Instruments Corp.のLabVIEW(登録商標)仮想計測プログラミングシステム、及びNI MatrixXモデルベースの設計製品;カリフォルニア州サンタローザにあるKeysight Technologies Inc.の仮想エンジニアリング環境(VEE)製品;カリフォルニア州マウンテンビューにあるSynopsys, Inc.のSystem Studioモデルベースの信号処理アルゴリズム設計解析ツール、及びSPW信号処理アルゴリズムツール;カリフォルニア州サンノゼにあるXilinx, Incの統一モデリング言語(UML)システム、システムモデリング言語(SysML)システム、及びシステムジェネレータシステム;ならびに、ニューヨーク州ソマーズにあるIBM Corp.のRational Rhapsody Design Managerソフトウェアが挙げられる。高レベルモデリング環境で作成されたモデルは、実施の詳細をあまり含まなくてもよいため、C、C++、C#、及びSystemCのような特定のプログラミング言語に比べて、高レベルで動作する。
【0051】
所与のモデルは、システムをシミュレートすることができ、例えば、システムの動作を近似することができる。システムの例としては、プラント及びコントローラのような物理的システムが挙げられる。モデルの実行は、モデル化するシステムをシミュレートするために行われる場合があるため、モデルの実行は、モデルのシミュレートと呼ばれることもある。モデリング環境200内に構築されるモデルには、テキストモデル、ブロック図のようなグラフィカルモデル、状態ベースのモデル、離散イベントモデル、物理モデル、及びそれらの組み合わせが含まれ得る。グラフィカルモデルは、計算、機能、又は動作を表すアイコンやブロックを含む場合があり、ブロック間の相互接続線や矢印は、データ、信号、あるいは、そのような計算、機能、又は動作の相互間の関係を表す場合がある。また、ユーザーは、モデリング環境200がサポートしているブロックについてのアイコン又はブロックを含むライブラリ又はパレット206のうちの1つ以上から、アイコンやブロックを選択することができる。モデルエディタGUIは、ユーザーが選択可能な実行ボタンを含む場合がある。モデリング環境200は、例えばGUI又はコマンドラインインターフェース(CLI)においてユーザーが入力した実行コマンドを受け取るようにさらに構成される場合がある。ユーザーが実行ボタンを選択するか、又は実行コマンドを入力することに応答して、シミュレーションエンジン212は、モデルを実行することができ、モデルの実行結果をユーザーに提示することができる。グラフィカルモデルの例には、とりわけ、Simulink(登録商標)モデル、Simscape物理モデル、SimEventモデル、Stateflow(登録商標)チャート、LabVIEW(登録商標)ブロック図、MatrixXモデル、Scadeモデル、及びVEE図などが含まれ得る。ソースプログラムの他の形態としては、Modelica AssociationのModelica(登録商標)モデル、統一モデリング言語(UML)モデル、及びシステムモデリング言語(SysML)モデル等が挙げられる。
【0052】
MATLAB(登録商標) TCEは、とりわけ、デジタル信号処理(DSP)設計のための数学指向のテキストプログラミング環境である。Simulink(登録商標)モデルベースの設計環境は、とりわけ、動的システム及び他のシステムをモデリング及びシミュレートするためのモデリングツールである。MATLAB(登録商標)環境及びSimulink(登録商標)環境は、アルゴリズムの開発と探求を容易にし、モデルベース設計をサポートする多くの高度な機能を備えている。高度な機能の例としては、とりわけ、動的タイプ分類、配列ベースの動作、データ型の推論、サンプル時間の推論、及び実行順序の推論などが挙げられる。
【0053】
実施形態によっては、モデリング環境200は、宣言型言語を実施することができる。宣言型言語は、計算のロジックの制御フローを記述することなく、計算のロジックを表現する言語である。宣言型言語は、プログラムが達成しなければならないことを、それを達成する方法をプログラミング言語プリミティブのシーケンスとして記述するのではなく、問題領域の観点から記述することができる。場合によっては、宣言型言語は、変数の代入を一度だけ行う単一代入を実施する場合がある。宣言型言語の例としては、とりわけ、Simulink(登録商標)モデルベースの設計環境(これは、時間ベースの言語である)、Modelica(登録商標)モデリング言語、及びLabVIEW(登録商標)グラフィカルプログラミングシステム、ハードウェア記述言語(HDL)、Prolog言語、及びHaskell言語等が挙げられる。モデルのモデル要素及び接続要素の少なくとも一部の挙動には、宣言型言語によって暗黙的に定義される計算上の実施形態が含まれ得る。
【0054】
モデリング環境200は、例示を目的としており、本開示は、他のモデリング環境と共に使用されてもよいことを理解されたい。例えば、実施形態によっては、コード生成器208及び/又はコンパイラ210は、モデリング環境200とは別個であってもよい。
【0055】
ユーザーインターフェースエンジン202、モデルエディタ204、コード生成器208、コンパイラ210、シミュレーションエンジン212、及びモデル縮尺変更ツール214のうちの1つ以上は、本明細書に記載の方法を実施するプログラム命令を含む1つ以上のソフトウェアモジュール又はライブラリによって実施される場合がある。ソフトウェアモジュールは、ワークステーション、サーバ、又は他のデータ処理機械若しくは装置のメインメモリ、永続的メモリ及び/又はコンピュータ読み取り可能媒体のようなメモリに記憶され、1つ以上のプロセッサによって実行される場合がある。光学、磁気、又は光磁気媒体を含む非一時的コンピュータ読み取り可能媒体のような他のコンピュータ読み取り可能媒体が、これらのプログラム命令を記憶し実行するために使用される場合もある。実施形態によっては、ユーザーインターフェースエンジン202、モデルエディタ204、コード生成器208、コンパイラ210、シミュレーションエンジン212、及びモデル縮尺変更ツール214のうちの1つ以上は、順次論理回路を生成するように構成され、配置されたハードウェアレジスタ及び組合せ論理回路を含む場合がある。実施形態によっては、記載した方法を実施するために、ファームウェアを含むソフトウェアとハードウェアの様々な組み合わせが使用される場合がある。
【0056】
本開示と共に使用するのに適当なコード生成器としては、限定はしないが、マサチューセッツ州ナティックにあるThe MathWorks,Inc.のSimulink(登録商標)コーダ、Embeddedコーダ、Simulink(登録商標) HDLコーダ等の製品、及びドイツのパデルボルンにあるdSpace GmbHのTargetLink製品が挙げられる。適当なターゲット言語コンパイラとしては、The MathWorks,Inc.のxPC Target(商標)ツールや、C言語コンパイラが挙げられる。ただし、他のコード生成システムや他のコンパイラが使用されてもよい。
【0057】
図3は、システムモデル300の一例を示す概略図である。システムモデル300は、エンジンプラントモデル302と、コントローラモデル304とを含む場合がある。エンジンプラントモデル302は、火花点火式若しくは圧縮点火式の内燃機関の動作をモデル化することができ、コントローラモデル304は、エンジンモデル302によって表されるエンジンの電子制御ユニット(ECU)の動作をモデルすることができる。エンジンプラントモデル302は、スロットル要素306、吸気マニホールド要素308、コアエンジン要素310、排気マニホールド要素312、ターボチャージャー要素314、排気後処理システム要素316、空気取入口要素318、及びインタークーラー要素320を含む場合がある。コアエンジンブロック要素310は、吸気カムフェイザー要素322、排気カムフェイザー要素324、点火プラグ要素328、及び燃料インジェクタ要素326を含む場合がある。ターボチャージャー要素314は、ターボチャージャー要素314をバイパスして排気ガスが排気要素316に直接流れるようにするためのウェイストゲート要素、すなわち可変ジオメトリタービン要素330を含む場合がある。また、追加のエンジン吸気関連アクチュエータとしては、とりわけ、可変吸気ランナー長、可変吸気マニホールドフラップ開閉、可変圧縮比アクチュエーション、可変吸気バルブリフトアクチュエーション、2段バルブ吸気バルブリフトアクチュエーション、高圧排気ガス再循環(EGR)バルブアクチュエーション、低圧EGRアクチュエーション、燃料蒸気キャニスターパージアクチュエーション等が挙げられる。
【0058】
システムモデル300の実行中に、コントローラモデル304は、トルク要求のような入力を受け取ることができ、複数のエンジンコマンドを生成することができる。これらのエンジンコマンドは、エンジンモデル302に提供され、そのトルク要求と、結果として生じるトルクとの関係が較正パラメータ及びLUTテーブルによって確立される場合、そのトルク要求を達成する。エンジンモデル302は、複数のエンジン出力を生成することができ、エンジン出力のいくつかは、センサーモデルを介してコントローラモデル304にフィードバックとして提供される場合がある。例えば、コントローラモデル304は、ウェイストゲート要素330を制御するためのウエストゲートエリアコマンド(WAPcmd)332、排気カム要素324を制御するための排気カムフェイザー角コマンド(φECPCMD)334、点火プラグ要素328を制御するための点火進角コマンド(SA)336、ベクトル化された複数の噴射タイミングパラメータ(SOI)、燃料インジェクタ要素326を制御するためのベクトル化された燃料インジェクタパルス幅コマンド(PWinj)338若しくはベクトル化された複数の燃料質量/噴射コマンド(Fmass)、吸気カム要素322を制御するための吸気カムフェイザー角コマンド(φICPCMD)340、及び、スロットル要素306を制御するためのスロットル位置パーセンテージコマンド(TPPcmd)342を生成することができる。エンジンモデル302は、エンジントルク応答信号(TQ)344、吸気マニホールド圧力信号(MAP)346、吸気マニホールド温度信号(MAT)348、吸気カムフェイザー角信号(φICP)350、及び排気カムフェイザー角信号(φECP)352を生成することができ、これらが、コントローラモデル304に提供される。
【0059】
実施形態によっては、エンジンモデル300は、集中パラメータモデルとして実施される場合がある。集中パラメータモデルでは、ネットワークトポロジの形で配置された1つ以上の仮定の下で、モデル化されるエンジンの挙動が、エンジンの挙動を近似する離散エンティティによって表現される。
【0060】
エンジンモデル302は、火花点火エンジン及び/又は圧縮点火エンジンを、ネットワーク状の空気圧容積要素すなわちノードの間にF~F10のラベルが付された矢印で示されているガス質量流の相互依存ネットワークとして表現することができる。例えば、大気圧にある吸気口からの空気は、エアクリーナを含む場合がある空気取入口要素318を通過して、ターボチャージャー要素314のコンプレッサ部分に入ることができる。その後、吸気口からの空気は、インタークーラー要素320を通って流れる場合がある。圧縮され冷却された吸気口からの空気は、スロットル要素306を通して引き込むことができる。スロットル要素306の中には、スロットルプレート354の形をした吸気弁が回転可能に配置されており、吸気弁の位置をTPPcmd342によって電子制御することにより、スロットル要素306を通過して吸気マニホールド要素308に入る吸気口からの空気の制限を変化させることができる。圧力変換器は、吸気マニホールド要素308内のガス圧を測定し、MAP出力信号346を提供することができる。
【0061】
シリンダ吸気ランナー(その1つは図3に347で示されている)の各々は、固定吸気バルブ制限部を介して、あるいは、吸気カムフェイジングアクチュエータ及びリフトアクチュエータによる作用を受ける可変吸気バルブ制限部を介して、各自のエンジンシリンダの燃焼室の中に開口している場合がある。図3には、各シリンダの1つの燃焼室が示されている。各シリンダは、ピストン360によって分離された吸気弁・排気弁、燃焼室356、及びクランクケース358を含む場合がある。ピストン360は、シリンダの壁と密閉した状態で係合することができる。1つ以上のPWinj信号338に応答して、燃料インジェクタ要素326によって、燃料が、吸気弁の上流にある吸気ポートに噴射され、又はシリンダに直接噴射され、吸気と混合される場合がある。生成された混合物は、シリンダ吸気イベントの際に、燃焼室356の中に引き込むことができる。シリンダ吸気イベントでは、吸気弁362が開位置に駆動され、燃焼室内は低圧状態になる。空気と燃料の混合物は、燃焼イベントの際に、燃焼室356内で点火される場合がある。燃焼イベントでは、混合物がその後圧縮され、燃焼室356内に延びる点火プラグ要素328の場所で、適時の点火アークによって燃焼が開始される。あるいは、圧縮点火エンジンの場合、一回以上の正確なタイミングの燃料インジェクタによるシリンダへの燃料送出を使用して、燃焼を開始させることができる。シリンダ内のピストン360は、燃焼イベントの有効圧力の下で、往復駆動される場合がある。発生した動力は、乗り物の車輪や付属の負荷などの駆動に使用される場合がある。燃焼室内の燃焼プロセスで生成されたガスは、シリンダ排気イベントの際に、燃焼室356から排気される場合がある。排気ガスは、排気ランナーを通って排気マニホールド要素312に到達する。排気ガスは、排気マニホールド312を通ってターボチャージャー要素314のタービン部へと流れることができる。場合によっては、排気スロットル要素を使用して背圧を増加させることにより、始動時に燃焼温度を上昇させてもよい。排気スロットルを通過した後、排気ガスは、排気後処理システム要素316へと流れることができ、そこから大気へ流れることができる。排気後処理システム要素316は、触媒処理装置、ディーゼル酸化触媒、ディーゼル微粒子フィルタ、ガソリン微粒子フィルタ、リーンNOxトラップ、及びマフラーを含む場合がある。
【0062】
エンジンモデル300を通る吸気ガスや排気ガスの流れを表すために、エンジンモデル302の要素の少なくともいくつかに、体積、面積、及び質量流量の値を指定するパラメータを関連付けてもよい。
【0063】
図4は、エンジンモデル400の他の例を示す概略図である。エンジンモデル400は、スロットル要素306、吸気マニホールド要素308、コアエンジン要素310、排気マニホールド要素312、及びインタークーラー要素320を含む。エンジンモデル400は、さらに、タービン要素402と、タービンシャフト要素404と、コンプレッサ要素406と、コンプレッサ出力容積要素408とを含む。エンジンの排気系をモデル化するために、エンジンモデル400は、排気系容積要素410、排気背圧要素412、及び周囲排気要素414を含む場合がある。エンジンの吸気系をモデル化するために、エンジンモデル400は、吸気系要素416、エアフィルタ要素418、及び周囲空気取入口要素420を含む場合がある。
【0064】
適当なエンジンコントローラモデル及びエンジンモデルとしては、Spark Ignition (SI)エンジンダイナモメーター標準アプリケーション、Compression Ignition (CI)エンジンダイナモメーター標準アプリケーション、SIコントローラブロック、SIコアエンジンブロック、CIコントローラブロック、及びCIコアエンジンブロック(すべて、The MathWorks,Inc.からのもの)で提供されるエンジンコントローラモデル及びエンジンモデルが挙げられる。SIコントローラブロックとCIコントローラブロックは、ルックアップテーブル及び動的要素の形をしたエンジンモデルを含み、フィードフォワードコントローラとして動作する。本開示は、完全なECUソフトウェアエミュレーションに使用されるような他のコントローラ設計と共に使用されてもよく、コントローラゲインや推定器ゲインのような動的フィードバックパラメータの縮尺変更にも使用され得ることを理解されたい。
【0065】
エンジンモデル302及び400のようなエンジンモデルの種々の要素は、1つ以上のパラメータを含む場合がある。パラメータに割り当てられた値は、それぞれの要素の挙動を制御することができ、及び/又はそのような要素の挙動に影響を与えることができる。例えば、吸気ガスや排気ガスが内部に流れるエンジンモデルのいくつかの要素は、流路の面積及び/又は体積を定義するパラメータを含む場合がある。スロットル要素306は、スロットル直径パラメータ(ThrDiam)(m)を含む場合がある。吸気マニホールド要素308は、吸気マニホールド室容積パラメータ(Vint)(m)を含む場合がある。コアエンジン要素310は、気筒数パラメータ(NumCyl)、エンジン排気量パラメータ(Vd)(m)、及びインジェクタ傾斜パラメータ(InjSlp)(mg/ms)を含む場合がある。排気マニホールド要素312は、排気マニホールド室容積(Vexh)(m)を含む場合がある。タービンシャフト要素404は、シャフト慣性パラメータ(TurboInertia)(kg*m)を含む場合がある。実施形態によっては、タービン及びコンプレッサは、複数のステージにグループ化される場合がある。吸気系要素416は、吸気室容積パラメータ(AirIntakeVol)(m)を含む場合がある。タービン要素402は、ウェイストゲート面積パラメータ(WgArea)(m)を含む場合がある。あるいは、ターボチャージャーの流れは、可変ジオメトリタービン(VGT)ラック位置アクチュエータによって制御されてもよい。排気系容積要素410は、排気室容積パラメータ(ExhSysVol)(m)を含む場合がある。コンプレッサ出力容積要素408は、コンプレッサ室容積パラメータ(VolCompOut)(m)を含む場合がある。
【0066】
エンジンモデル300及び/又は400のようなエンジンモデルは、追加の及び/又は他のパラメータを含む場合があることを理解されたい。
【0067】
コントローラモデル304のようなコントローラモデルは、1つ以上のパラメータを含む場合がある。例えば、コントローラモデル304は、とりわけ、気筒数パラメータ(NumCyl)と、エンジン排気量パラメータ(Vd)(m)とを含む場合がある。
【0068】
実施形態によっては、モデリング環境200は、システムモデル300のようなモデルが開かれ、及び/又はメモリからロードされるときに、そのモデルのためのワークスペースを作成することができる。ワークスペースは、システムモデル300によって使用される変数を記憶するためのメモリの領域であってよい。モデルのパラメータのうちの1つ以上に、変数を割り当てることができる。例えば、変数Vdがエンジン表示容積パラメータに割り当てられる場合があり、コントローラモデル304及び/又はエンジンモデル302は、エンジン表示容積パラメータの値を得るために、この変数に割り当てられた値をワークスペースから調べる場合がある。UIエンジン202は、ワークスペースの一画を、変数へのアクセスを提示し提供できるエディタウィンドウの一部として作成することができる。例えば、ワークスペース内の変数は、エディタウィンドウのコマンドラインから、モデリング環境200のユーザーがアクセスすることができる。ワークスペース内の変数には、名前を付けることができ、変数の次元、変数が作成された時期、変数のデータ型のような、メタ情報を関連付けることができる。ワークスペース又はその一部は、MATファイル、HDF5ファイル等のような1つ以上のデータ構造に保存される場合がある。
【0069】
実施形態によっては、あるモデルについて1つ以上のワークスペースが作成されてもよく、1つ以上のワークスペースは、異なるスコープ又はコンテキストを有する場合がある。例えば、親モデルに含まれるサブモデルについて1つのワークスペースが作成される場合があり、このワークスペースの変数は、サブモデルによってのみアクセス可能にされる場合がある。ワークスペースは、他の階層的モデル構造についても作成することができ、例えば、複数のモデル要素を1つのモデル要素(例えばサブシステムブロック)として表現するサブシステムについても、ワークスペースを作成することができる。サブシステムのためのワークスペースに含まれる変数は、そのサブシステムに含まれるモデル要素によってのみアクセス可能にされる場合がある。
【0070】
実施形態によっては、コントローラモデル304、及び/又はエンジンモデル302の1つ以上の要素は、1つ以上のルックアップテーブルを含む場合があり、及び/又はそのようなルックアップテーブルにアクセスできる場合がある。それらのルックアップテーブルは、実行時に、性能テーブル及び/又は較正マップと呼ばれることもある。エンジンモデルによって使用されるルックアップテーブルは、非線形エンジン挙動データを記憶することができ、この非線形エンジン挙動データを使用して、制御入力に対するエンジンモデルの応答を決定することができる。エンジンコントローラモデルによって使用されるルックアップテーブルは、種々の所与のエンジン動作点について、最適な制御コマンドを記憶することができる。
【0071】
一般に、ルックアップテーブルは、準定常エンジン動作条件及び動的エンジン動作条件の下で、コントローラコマンド入力値を、エンジンプラントに所望の応答をもたらすコントローラ出力値に関連付けることができる。ルックアップテーブルは、1つ以上の入力ブレークポイントデータセット及び出力テーブルデータを含む場合がある。各入力ブレークポイントデータセットは、ルックアップテーブルの特定の次元についての入力値のインデックスであってもよい。入力ブレークポイントデータセットは、ルックアップテーブルの種々の入力値を、そのルックアップテーブルが返す種々の出力値に関連付ける。入力ブレークポイントデータセットに含まれる個々の入力値は、ブレークポイントとも呼ばれることがある。ブレークポイントは、入力値が低下する間隔を定義する場合があり、非反復的単調増加値であってもよい。入力ブレークポイントデータセットは、入力ブレークポイントデータグリッドと呼ばれることもある。所与の入力データに対して、その入力データに対応する入力ブレークポイントデータセット内のブレークポイントを使用して、出力データ値を見つけることができる。ルックアップテーブルの種々のブレークポイントは、そのルックアップテーブルの入力空間を「セル」と呼ばれる種々の領域に分割する働きをする場合がある。各セルは、多次元であってもよく、各インデックス変数について2つのブレークポイントで区切られる場合がある。ルックアップテーブルに特定の入力値が定義されていないときは、補間技術又は外挿技術を使用して、近くのテーブル値に基づいて出力値を推定してもよい。
【0072】
ルックアップテーブルの出力データは、実験室で物理的エンジンを運転し、テストデータを収集することによって実験的に得てもよいし、あるいは、エンジンモデルのシミュレーションを実行し、シミュレーション結果を収集することによって得てもよい。そのような非線形挙動を示すエンジンハードウェアの意図的な設計を反映するために、エンジンコントローラ及びエンジンモデルによって使用されるルックアップテーブルには、多くの場合、非線形データが含まれる。
【0073】
図5は、エンジンブレーキトルクを、エンジン速度、及びトルクコマンド若しくは一回の噴射あたりの燃料質量コマンドの関数として得るために、エンジンモデルにより使用できるルックアップテーブル500を示す概略図である。ルックアップテーブル500は、トルクコマンド軸502と、エンジン速度軸504と、測定エンジントルク軸、例えばエンジンブレーキトルク軸506とを含む。ルックアップテーブル500は、出力データ508をさらに含む。
【0074】
図6は、燃料インジェクタに対するインジェクタパルス幅コマンド又はシリンダ毎の一回の噴射あたりの燃料質量コマンドを、トルクコマンド及びエンジン速度の関数として得るために、エンジンコントローラモデルにより使用できるルックアップテーブル600を示す概略図である。ルックアップテーブル600は、トルクコマンド軸602と、エンジン速度軸604と、燃料インジェクタパルス幅軸606とを含む。ルックアップテーブル600は、出力データ608をさらに含む。
【0075】
ルックアップテーブル500及び600は、1.5Lの4気筒火花点火式ターボチャージャーデュアルカムフェイズエンジン、及び適合するコントローラに対応する場合がある。
【0076】
図7A図7Eは、一実施形態による例示的方法のフロー図の各部分を示す図である。図7A図7Eのフロー図は、例示のみを目的としている。実施形態によっては、1つ以上のステップが省略されてもよく、さらなるステップが追加されてもよく、ステップの順序が変更されてもよく、及び/又は、図7A図7Eの矢印によって示される1つ以上のシーケンスが省略されてもよい。
【0077】
ステップ702に示されるように、モデル縮尺変更ツール214は、1つ以上の線形及び/又は非線形の縮尺変更係数を受け取ることができる。1つ以上の縮尺変更係数は、モデル化されるエンジンの新しいサイズを示すことができる。縮尺変更係数の例には、サイズ変更されたエンジンの最大エンジン出力、及び気筒数が含まれ得る。1つ以上の縮尺変更係数は、ユーザーが指定したものであってもよいし、あるいは、ユーザーが指定できる基準から自動的に導出されてもよく、それらは例えば本明細書に記載されるUIエンジン202により生成された1つ以上のGUIを通して指定されてもよい。
【0078】
ステップ704に示されるように、比率発生器224は、1つ以上の比率を計算することができる。計算された比率は、元のモデルによって表されるエンジンサイズと、縮尺変更されたエンジンモデルによって表されるエンジンサイズとの間の関係を提供することができる。比率の決定は、それらのエンジンに関する1つ以上の仮定に基づいて行われる場合がある。一つの仮定は、元のエンジン及び縮尺変更されたエンジンが、例えばボア(シリンダ内径のことである)とストロークの比率のようなエンジン幾何学比率が一定であることであってもよい。別の仮定は、元のエンジンと縮尺変更されたエンジンとの間の掃気量(例えば、エンジン排気量)の比率が既知であり、それが例えばユーザーによって指定されていることであってもよい。さらに別の仮定は、元のエンジンから縮尺変更されたエンジンへの出力レベルの増加に伴い、エンジントルクが、エンジンの総排気量に比例することであってもよい。これらの仮定に基づき、比率発生器224は、以下の比率を計算することができる。
【0079】
【数1】
【0080】
ステップ706に示されるように、モデル縮尺変更ツール214は、縮尺変更プロセス中に、元のコントローラモデル及び元のエンジンモデルの構造設計を保持することができる。例えば、縮尺変更ツール214は、元のエンジンモデル、及び元のエンジンコントローラモデルにおいて、いかなる新しいモデル要素を追加することも、いかなる既存のモデル要素を削除することも、既存のモデル要素間のいかなる接続を変更することもできない場合がある。実施形態によっては、モデル縮尺変更ツール214は、元のエンジンコントローラモデル、及び元のエンジンモデルを再利用することによって、元のモデルの構造設計を保持する場合がある。例えば、モデル縮尺変更ツール214は、元のパラメータ及び元のルックアップテーブルの代わりに、モデル縮尺変更ツール214によって計算された新しい縮尺変更されたパラメータ値及びモデル縮尺変更ツール214によって作成された新しい再形成されたルックアップテーブルを使用すべきことを、元のエンジンモデル及び元のエンジンコントローラモデルに命じることによって、縮尺変更プロセスを達成する場合がある。再形成動作には、ブレークポイントパラメータの縮尺変更だけでなく、ルックアップテーブルを高い非線形性の特定領域に集中させるための非線形ブレークポイント間隔の再配列も含まれ得る。モデル縮尺変更ツール214は、新しい縮尺変更されたパラメータ値及び再形成されたルックアップテーブルを、ファイル、コンテナオブジェクト又はワークスペース変数のようなデータ構造に記憶し、エンジンモデル及びエンジンコントローラモデルに対し、実行中にそのデータ構造内の情報を使用すべきことを命じることができる。他の実施形態では、モデル縮尺変更ツール214は、元のエンジンモデル及び/又は元のエンジンコントローラモデルとは別個に、新しい縮尺変更されたエンジンモデル及び/又は新しい縮尺変更されたエンジンコントローラモデルを生成することができる。例えばモデル縮尺変更ツール214は、元のエンジンモデル及び元のコントローラモデルのコピーを生成することができ、新しい縮尺変更されたパラメータ値及び新しい再形成されたルックアップテーブルを、新しい縮尺変更されたエンジンモデル及び新しい縮尺変更されたエンジンコントローラモデルに割り当てることができる。
【0081】
ステップ708に示されるように、パラメータ変更エンジン226は、気筒数及び最大エンジン出力のような受け取った縮尺変更係数のうちの1つ以上を、縮尺変更されたエンジンモデル及び縮尺変更されたコントローラモデルに割り当てることができる。ステップ710に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンモデル要素のうちの1つ以上に関連する体積ベースのパラメータの新しい値を、とりわけEngTrqRatioのような決定された比率のうちの1つ以上の関数として計算することができる。例えば、パラメータ変更エンジン226は、縮尺変更されたエンジンモデルについて、縮尺変更された総排気量(Vd)パラメータ、コンプレッサ容積(VolCompOut)パラメータ、吸気マニホールド室容積(Vint)、吸気カムフェイジングの関数として計算される吸気バルブ閉鎖時のシリンダ容積(f_vivc)パラメータベクトル、及び排気マニホールド室容積(Vexh)パラメータを以下のように計算することができる。
【0082】
【数2】
【0083】
ステップ712に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンコントローラモデルに関連する体積ベースのパラメータの新しい値を、決定された比率のうちの1つ以上の関数として計算することができる。例えば、縮尺変更されたエンジンコントローラモデルは、実行中に、とりわけ総排気量(Vd)及び吸気弁閉弁時シリンダ体積(f_vivc)パラメータベクトルを使用することができる。パラメータ変更エンジン226は、縮尺変更されたエンジンコントローラモデルについて、縮尺変更された体積ベースのパラメータを以下のように計算することができる。
【0084】
【数3】
【0085】
ステップ714に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンモデルの要素のうちの1つ以上に関連する面積ベースのパラメータの新しい値を、とりわけEngPwrRatioのような決定された比率のうちの1つ以上の関数として、計算することができる。例えば、パラメータ変更エンジン226は、縮尺変更されたエンジンモデルについて、縮尺変更された吸気系面積(AirFilterArea)、縮尺変更されたスロットルボア直径(ThrDiam)、縮尺変更された排気系面積(ExhSysArea)、及び縮尺変更されたウェイストゲート面積パラメータ(WgArea)を、以下のように計算することができる。
【0086】
【数4】
【0087】
ステップ716に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンコントローラモデルの面積ベースのパラメータの新しい値を、例えば出力比率のような決定された比率のうちの1つ以上の関数として計算することができる。
【0088】
ステップ718に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンモデルの燃料インジェクタ要素に関連するパラメータの新しい値を、決定された比率のうちの1つ以上の関数として計算することができる。また、ステップ720に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンコントローラモデルの燃料インジェクタ要素に関連するパラメータの新しい値を、決定された比率のうちの1つ以上の関数として計算することができる。例えば、パラメータ変更エンジン226は、1つ以上の縮尺変更された燃料インジェクタの傾斜を計算することができ、計算された燃料インジェクタの傾斜から、送達される燃料の質量とインジェクタ開時間(InjSlp)の関係を以下のように決定することができる。
【0089】
【数5】
【0090】
ステップ722に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンモデルのターボチャージャー要素に関連するパラメータの新しい値を、決定された比率のうちの1つ以上の関数として計算することができる。例えば、パラメータ変更エンジン226は、縮尺変更されたタービンシャフト慣性パラメータ(TurboInertia)を以下のように計算することができる。
【0091】
【数6】
【0092】
エンジンの吸気及び出力によるターボチャージャー及びコンプレッサの比例スケーリングを反映するために、ターボチャージャーコンプレッサ及びタービンフロー特性マップは、エンジンの出力比率によって縮尺変更される場合がある。タービンを大きくすること、及びこれに対応してコンプレッサブレードの先端半径を大きくすることを考慮して、ターボチャージャー速度ブレークポイントは、下記のように縮尺変更される場合がある。
【0093】
【数7】
【0094】
元のエンジンコントローラモデル及び縮尺変更されたエンジンコントローラモデルは、各自のエンジンモデルのアイドル速度を制御するために、PID制御機能のような機能を有する場合がある。このPID制御機能は、目標エンジンアイドル速度パラメータを使用する場合がある。ステップ724に示されるように、パラメータ変更エンジン226は、縮尺変更されたエンジンコントローラモデルについて、新しい目標アイドル速度パラメータを計算することができる。例えば、パラメータ変更エンジン226は、縮尺変更された目標アイドル速度パラメータを以下のように計算することができる。
【0095】
【数8】
【0096】
ステップ726に示されるように、パラメータ変更エンジン226は、モデルエンジン要素のうちの1つ以上に関連する空気質量流ベースのパラメータの新しい値を、決定された比率のうちの1つ以上の関数として計算することができる。例えば、パラメータ変更エンジン226は、縮尺変更されたエンジンモデルについて、縮尺変更されたコンプレッサ質量流量(CompMassFlwRate)及び縮尺変更されたタービン質量流量(TurbMassFlwRate)を、以下のように計算することができる。
【0097】
【数9】
【0098】
ステップ728に示されるように、パラメータ変更エンジン226は、エンジンコントローラモデルに関連する質量流ベースのパラメータの新しい値を、決定された比率のうちの1つ以上の関数として計算することができる。
【0099】
ステップ730に示されるように、ルックアップテーブル再形成エンジン228は、縮尺変更されたエンジンモデルのための1つ以上の再形成されたルックアップテーブルを作成することができ、ステップ732に示されるように、縮尺変更されたエンジンコントローラモデルのための1つ以上の再形成されたルックアップテーブルを作成することができる。ルックアップテーブル再形成エンジン228は、元のテーブルの入力ブレークポイントデータセット、及び/又は元のテーブルの出力データのうちの1つ以上を、決定された比率のうちの1つ以上の関数としてスケーリングすることによって、再形成されたルックアップテーブルを作成することができる。例えば、ルックアップテーブル再形成エンジン228は、LUTの種々の次元のうちの1つ以上(例えば、x次元;x次元とy次元;x次元とy次元とz次元など)を、比率のうちの1つ以上の関数として変更することができる。
【0100】
エンジンモデルは、1つ以上のルックアップテーブルを使用して、エンジンの空気質量流量を決定することができる。例えば、エンジンモデルは、デュアル可変カムフェイジング形式の空気質量流量推定モデルを含む場合がある。この空気質量流量推定モデルは、排気カムフェイザー角(クランクリタードの度数で表される)と捕捉質量流量(f_mdot_trpd_bpt)とを表す2つの入力データブレークポイントセットを有する空気質量流量テーブルを含む場合があり、この空気質量流量テーブルの出力データが、エンジンの空気質量流量(f_mdot_air)となる。ルックアップテーブル再形成エンジン228は、縮尺変更されたエンジンモデルのための再形成された空気質量流量テーブルを以下のように生成することができる。
【0101】
【数10】
【0102】
エンジンコントローラモデルも同様に、1つ以上のルックアップテーブルを使用して、エンジンの空気質量流量を決定することができる。例えば、エンジンコントローラモデルは、デュアル可変カムフェイジング形式の空気質量流量推定モデルを含む場合がある。この空気質量流量推定モデルは、排気カムフェイザー角(クランクリタードの度数で表される)と捕捉質量流量(TrpdMassFlwBpt)とを表す2つの入力データブレークポイントセットを有する空気質量流量テーブルを含む場合があり、この空気質量流量テーブルの出力データが、エンジンの空気質量流量(AirMassFlw)となる。ルックアップテーブル再形成エンジン228は、縮尺変更されたエンジンコントローラモデルのための再形成された空気質量流量テーブルを以下のように生成することができる。
【0103】
【数11】
【0104】
エンジンモデルは、コマンド指定トルクのようなトルク、及びエンジン速度について入力ブレークポイントデータセットを有する複数のルックアップテーブルをさらに含む場合がある。ルックアップテーブル再形成エンジン228は、元のコマンド指定トルクブレークポイントデータセットに含まれる元のブレークポイントを、各ブレークポイントにEngTrqRatioを乗算することによってスケーリングすることができる。ルックアップテーブル再形成エンジン228は、元のエンジン速度ブレークポイントデータセットに含まれる元のブレークポイントを、各ブレークポイントにEngSpdRatioを乗算することによってスケーリングすることができる。ルックアップテーブル再形成エンジン228は、元のコマンド指定トルクブレークポイントデータセットに含まれる元のブレークポイントを、各ブレークポイントにEngTrqRatioを乗じることによってスケーリングすることができる。
【0105】
ルックアップテーブル再形成エンジン228は、エンジンモデルによって使用される摩擦関連ブレークポイントデータセットに含まれるブレークポイントを、それらのブレークポイントにEngTrqRatioを乗じることによってスケーリングすることができる。例えば、エンジンモデルは、エンジン速度とエンジン負荷を表す入力ブレークポイントデータセットを有する摩擦トルクルックアップテーブルを含む場合があり、この摩擦トルクルックアップテーブルの出力データが、摩擦トルクとなる。ルックアップテーブル再形成エンジン228は、元のエンジン速度ブレークポイントにEngSpdRatioを乗じる場合があり、元の摩擦トルク出力データ値にEngTrqRatioを乗じる場合がある。
【0106】
エンジンプラントモデル及び/又はエンジンコントローラモデルによって使用される1つ以上のLUTは、負荷の軸又は次元を含む場合がある。負荷の値は、無次元の正規化された値であってもよく、したがって、エンジンサイズに依存しない場合がある。そのため、ルックアップテーブル再形成エンジン228は、再形成中に、LUTの負荷の軸又は次元を変更しない場合もある。
【0107】
エンジンコントローラモデルは、コマンド指定トルクのようなトルク、及びエンジン速度について入力ブレークポイントデータセットを有する複数のルックアップテーブルをさらに含む場合がある。追加の負荷に関連するブレークポイントは、コマンド指定された正規化シリンダ未燃焼空気質量(負荷)、及びコマンド指定された総噴射燃料質量であってもよい。ルックアップテーブル再形成エンジン228は、元のコマンド指定されたトルクブレークポイントデータセットに含まれる元のブレークポイントをスケーリングするために、各ブレークポイントに、決定されたEngTrqRatioを乗じ、さらに所与のテーブルが高い非線形性の領域に集中するように、ブレークポイントの間隔を最適な非線形態様に変更することができる。ルックアップテーブル再形成エンジン228は、元のエンジン速度ブレークポイントデータセットに含まれる元のブレークポイントをスケーリングするために、各ブレークポイントに、EngSpdRatioを乗じ、さらに所与のテーブルが高い非線形性の領域に集中するように、ブレークポイントの間隔を最適な非線形態様に変更することができる。ルックアップテーブル再形成エンジン228は、元のコマンド指定されたトルクブレークポイントデータセットに含まれる元のブレークポイントをスケーリングするために、各ブレークポイントにEngTrqRatioを乗じることができる。
【0108】
ルックアップテーブル再形成エンジン228は、エンジンコントローラモデルによって使用されるルックアップテーブルの摩擦関連ブレークポイントデータセットに含まれるブレークポイントをスケーリングするために、元のブレークポイントにEngTrqRatioを乗じることができる。例えば、エンジンモデルは、エンジン速度とエンジン負荷を表す入力ブレークポイントデータセットを有する摩擦トルクルックアップテーブルを含む場合があり、この摩擦トルクルックアップテーブルの出力データが、摩擦トルクとなる。ルックアップテーブル再形成エンジン228は、元のエンジン速度ブレークポイントにEngSpdRatioを乗じる場合があり、元の摩擦トルク出力データ値にEngTrqRatioを乗じる場合がある。
【0109】
ステップ734に示されるように、実施形態によっては、ルックアップテーブル再形成エンジン228は、縮尺変更されたブレークポイントを較正又は調整する場合がある。例えば、縮尺変更されたエンジンモデルによって使用されるルックアップテーブルのブレークポイントの縮尺変更の後、縮尺変更されたエンジンコントローラモデルによって使用される対応する縮尺変更されたテーブルとの間に、不適合が生じることがある。ルックアップテーブル再形成エンジン228は、そのような不整合を識別し、すべての誤差を、SIエンジンの場合、スロットル面積パーセンテージ及びウェイストゲート面積パーセンテージのような1つ以上の調節可能なコントローラパラメータに割り当て、CIエンジンの場合、噴射燃料質量、VGTラック位置及び高圧EGRバルブ面積パーセンテージのような1つ以上の調節可能なコントローラパラメータに割り当てて、どちらか一方又は両方のテーブルを較正又は調整することによって、それらを適合させる。累積誤差の除去を目的とした調節可能なコントローラパラメータの数値的に正確な解に到達するために、StateFlowヒューリスティックアルゴリズムやMATLABベースの数値最適化アルゴリズムのような反復アルゴリズムが使用されてもよい。例えば、SIエンジンダイナモメーターの参考例では、StateFlowヒューリスティック規則を使用して、エンジンの各動作点で非線形性が高いスロットル面積パーセンテージのルックアップテーブルパラメータを調節することで、エンジンの測定トルク応答を、コマンド指定されたトルク応答にできる限り適合させることができる。スロットル全開時にトルクが満たされない場合、アルゴリズムは、コマンド指定トルクを満たすために、ターボチャージャーのウェイストゲートを閉じ始め、エンジンのブースト限界及び/又は温度限界までブーストを増加させることができる。エンジンの吸気が制限されて、得られるピークトルクが減少する動作点、又はターボチャージャーの最大速度限界に達した動作点で、アルゴリズムは、その限界で停止する場合があり、エンジンは、所望のトルクよりも少ないトルクを提供する場合がある。圧縮点火CIエンジンの場合、シリンダ毎の一回の噴射あたりの燃料質量は、SIエンジンの場合のスロットル位置と同様の役割を果たし、VGTラック位置は、SIエンジンの場合のウェイストゲート面積パーセンテージと同様の役割を果たす。EGRバルブ面積パーセンテージは、NOx制御におけるEGR流量要件を満たすために、制限として使用される場合がある。
【0110】
図8は、エンジンブレーキトルクを、エンジン速度及びトルクコマンドの関数として得るための、縮尺変更されたルックアップテーブル800を示す概略図である。ルックアップテーブル800は、トルクコマンド軸802と、エンジン速度軸804と、測定エンジントルク軸806とを含む。ルックアップテーブル800は、出力データ808をさらに含む。
【0111】
図9は、燃料インジェクタのための燃料インジェクタパルス幅及び/又はシリンダ毎の一回の噴射あたりの総燃料質量コマンドを、トルクコマンド及びエンジン速度の関数として得るための、縮尺変更されたルックアップテーブル900の一例を示す概略図である。ルックアップテーブル900は、トルクコマンド軸902と、エンジン速度軸904と、燃料インジェクタパルス幅軸又は一回の噴射あたりの燃料質量軸906とを含む。ルックアップテーブル900は、出力データ908をさらに含む。
【0112】
ルックアップテーブル800及び900は、より大きなサイズのエンジン、例えば6気筒9.8Lエンジンのために、ルックアップテーブル500及び600をそれぞれ縮尺変更したものであってよい。6気筒9.8Lエンジンは、元のエンジンの4倍の出力を有する場合がある。
【0113】
ルックアップテーブル800と500を比較すると、大きいサイズのエンジンでは、例えばエンジンのストロークが非常に大きくなっているため(注:ボア/ストローク比率は固定であるが、ストローク自体は非常に大きくなっている)、エンジン速度はスケールダウンされており、トルクコマンドはスケールアップされていることがわかる。また、大きいサイズのエンジンでは、出力データである測定エンジントルクも、非線形にスケールアップされている。大きいサイズのエンジンの場合、ピークトルクの位置は、エンジン速度によって、非線形的な形でエンジン速度に対してシフトされている。大きいエンジンで期待されるように、ピークトルクは、非常に低い速度で発生する。
【0114】
ルックアップテーブル900及び600を参照すると、大きいサイズのエンジンでは、インジェクタの傾き(インジェクタのサイズ)が異なっている。気筒数が多くなっている(6対4)が(つまり、通常ならインジェクタは小さくなると思われるが)、大きいサイズの6気筒エンジンの個々のシリンダは、元の1.5Lエンジンの単一のシリンダよりもはるかに大きい。そのため、新しい大きいサイズのエンジンの方が、インジェクタの傾きが大きくなっている。また、大きいサイズのエンジンでは、インジェクタパルス幅(インジェクタのオン時間)の大きさが、元のエンジンのものと大きく異ならない。これは、インジェクタ自体のサイズがシリンダ容積の変化に合わせて増加されているため、大きなパルス幅の(噴射燃料の質量が大きくなる)エンジン速度の位置はシフトされているが、小さいエンジンと大きいエンジンのインジェクタのオン時間が、比較的同じであるからであろう。
【0115】
図10は、1.5Lの4気筒エンジンをモデル化した元のエンジンモデルについて、燃料質量流量を得るためのルックアップテーブル1000の一例を示す概略図である。ルックアップテーブル1000は、エンジン速度軸1002と、コマンド指定トルク軸1004と、燃料質量流量軸1006とを含む。ルックアップテーブル1000は、出力データ1008をさらに含む。
【0116】
図11は、9.8Lの6気筒エンジンをモデル化した縮尺変更されたエンジンモデルについて、燃料質量流量を得るための縮尺変更されたルックアップテーブル1100の一例を示す概略図である。ルックアップテーブル1100は、エンジン速度軸1102と、コマンド指定トルク軸1104と、燃料質量流量軸1106とを含む。ルックアップテーブル1100は、出力データ1108をさらに含む。
【0117】
大きい方のエンジンは、小さい方のエンジンよりも劇的に高いトルクブレークポイント、及び劇的に低いエンジン速度ブレークポイントを有していること、及び、かかるエンジン速度ブレークポイントにより、ピークトルクは、非線形的な形で新しい位置に移動されることに留意すべきである。
【0118】
実施形態によっては、エンジンモデルは、エンジンモデルの実行中に、排気放出物データを生成することができる。こうした排気放出物特性は、詳細な排気放出物モデルから測定されてもよいし、より好ましくは、実験室でテストされたエンジンから測定されてもよい。エンジンモデルは、1つ以上のルックアップテーブルからのデータに基づいて、排気放出物データを生成することができ、任意選択でさらに、エンジンモデルに含まれ、又はエンジンモデルによってアクセス可能な動的に調整された推定器を用いて、排気放出物データを生成することもできる。排気放出物の例には、炭化水素(HC)質量分率、一酸化炭素(CO)質量分率、一酸化窒素及び二酸化窒素(NOx)質量分率、及び二酸化炭素(CO)質量分率が含まれ得る。排気放出物ルックアップテーブルの情報は、実験室で実際の物理的エンジンを運転しながら得られたテスト結果に基づく場合がある。ルックアップテーブル再形成エンジン228は、エンジンモデルを縮尺変更して異なるサイズのエンジンを表現するときに、排気放出物テーブルを再形成することができ、それによって、実験室でのテストの完全な再実行や詳細なエンジン排気放出物モデルを必要とせずに、サイズ変更されたエンジンについて、現実的経験に基づく排気放出物の推定を提供することができる。したがって、モデル縮尺変更ツール214により生成された縮尺変更されたエンジンモデルによれば、モデル化されるサイズ変更されたエンジンについて、新しい排気放出物レベル、ならびに、エンジン速度及びトルク動作点の条件における排気放出物のピークと谷の位置を、予測することができる。
【0119】
図12は、1.5Lの4気筒エンジンをモデル化したエンジンモデルについて、NOx質量分率を得るためのルックアップテーブル1200の一例を示す概略図である。ルックアップテーブル1200は、エンジン回転数軸1202と、コマンド指定トルク軸1204と、NOx質量分率軸1206とを含む。ルックアップテーブル1200は、出力データ1208をさらに含む。
【0120】
図13は、9.8Lの6気筒エンジンをモデル化した縮尺変更されたエンジンモデルについて、NOx質量分率を得るための縮尺変更されたルックアップテーブル1300の一例を示す概略図である。ルックアップテーブル1300は、エンジン速度軸1302と、コマンド指定トルク軸1304と、NOx質量分率軸1306とを含む。ルックアップテーブル1300は、出力データ1308をさらに含む。縮尺変更後の燃料流量と同様に、ピーク及びトラフのような排出物応答特性間の関係が、エンジン速度に対して非線形的な形でシフトされることに留意されたい。絶対的な排気放出物ではなく、排気放出物質量分率を使用しているため、排気放出物質量分率をエンジン出力比率やエンジン吸気量でスケーリングする必要はない。
【0121】
図7Dに戻ると、ステップ736に示されるように、モデル縮尺変更ツール214は、縮尺変更されたエンジンモデルパラメータ、縮尺変更されたエンジンコントローラモデルパラメータ、及び/又は再形成されたルックアップテーブルを、1つ以上のデータ構造に記憶することができる。例えば、モデル縮尺変更ツール214は、これらのパラメータ及びルックアップテーブルを、コンフィギュレーションセットオブジェクトのようなコンテナファイル又はオブジェクトに記憶することができる。コンフィギュレーションセットオブジェクトは、モデルの1つ以上のパラメータ、属性又はプロパティを指定する情報を含む場合がある。特定のモデルについて、複数のコンフィギュレーションセットオブジェクトを定義してもよく、各コンフィギュレーションセットオブジェクトが、そのモデルのパラメータ、属性、又はプロパティの異なる値を含んでいてもよい。モデルの実行中に、コンフィギュレーションセットオブジェクトのうちの所与の1つを選択して使用することができる。所与のコンフィギュレーションセットオブジェクトに含まれる値は、モデルの実行前又は実行中に、対応するモデルのパラメータ、属性、又はプロパティの設定に使用される場合がある。
【0122】
実施形態によっては、モデリング環境200は、モデルエディタ204によって開かれ、及び/又は永続的メモリからメインメモリにロードされたモデルについて、1つ以上のモデルワークスペース、隠しワークスペース、又はデータ辞書ファイルを確立することができる。モデルの実行中に使用される変数は、1つ以上のモデルワークスペースに記憶することができる。例えば、モデル要素パラメータは、ワークスペース変数として1つ以上のモデルワークスペースに保存される場合がある。モデリング環境200は、縮尺変更されたパラメータ及び再形成されたルックアップテーブルを含むコンフィギュレーションセットオブジェクトを使用して、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルのためのモデルワークスペースを初期化することができる。
【0123】
ステップ738に示されるように、実施形態によっては、モデル縮尺変更ツール214及び/又はUIエンジン202は、元のエンジンコントローラモデル及び元のエンジンモデルのパラメータを出力し、又は表示することができる。また、ステップ740に示されるように、モデル縮尺変更ツール214は、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルの縮尺変更されたパラメータを出力し、又は表示することができる。ユーザーは、比較又は他の目的のために、表示されたパラメータを調べることができる。
【0124】
図14は、一実施形態による、縮尺変更係数を受け取り、元のエンジンコントローラモデル及びエンジンモデルパラメータを表示するための、例示的ユーザーインターフェース(UI)1400を示す概略図である。UI1400は、データを受け取り、及び/又は表示するための、複数の制御手段又はウィジェットを含む場合がある。例えば、UI1400は、所望の最大出力制御手段1402と、所望の気筒数制御手段1404とを含む場合がある。所望の最大出力制御手段1402及び所望の気筒数制御手段1404に表示される値は、縮尺変更係数に対応する場合があり、ユーザーが編集可能であってもよい。図示のように、元のエンジンモデルについては、所望の最大出力が、115.0917Kwであり、所望の気筒数が、4である。UI1400は、エンジンモデル及び/又はエンジンコントローラモデルに関連するパラメータの少なくとも一部を表示する他の制御手段を含む場合がある。例えば、UI1400は、最大出力制御手段1406、気筒数制御手段1408、エンジン排気量制御手段1410、アイドル速度制御手段1412、最大トルクを得るための速度制御手段1414、最大トルク制御手段1416、最適燃料の場合の出力制御手段1418、最適燃料の場合の速度制御手段1420、最適燃料の場合のトルク制御手段1422、最適燃料の場合の正味燃料消費率(BSFC)制御手段1424、最大出力を得るための速度制御手段1426、最大出力を得るためのトルク制御手段1428、スロットルボア直径制御手段1430、吸気マニホールド容積制御手段1432、排気マニホールド容積制御手段1434、コンプレッサ出力容積制御手段1436、最大ターボ速度制御手段1438、ターボローター慣性制御手段1440、及び燃料インジェクタ傾斜制御手段1442を含む場合がある。制御手段のリストは例示的ものでしかなく、追加の及び/又は他のパラメータについて、他の値が表示されてもよいものと理解すべきである。
【0125】
UI1400は、OKボタン1444、キャンセルボタン1446、ヘルプボタン1448、及び適用ボタン1450のような1つ以上のコマンドボタンをさらに含む場合がある。
【0126】
実施形態によっては、縮尺変更係数、例えば、所望の最大出力及び所望の気筒数の値を入力した後、ユーザーは、適用ボタン1450を選択できる場合がある。これに応答して、モデル縮尺変更ツール214は、縮尺変更されたエンジンモデル、及び適合する縮尺変更されたエンジンコントローラモデルを生成する場合がある。
【0127】
図15は、受け取った縮尺変更係数、ならびに縮尺変更されたエンジンコントローラモデル及びエンジンモデルの種々のパラメータを表示する例示的ユーザーインターフェース1500を示す概略図である。サイズ変更されたエンジンについて、ユーザーは、所望の最大出力制御手段1402に115.0917*4を入力した。これは、例えば、元のエンジンの最大出力の4倍への増加である。ユーザーは、所望の気筒数制御手段1404に6を入力した。UI1400の残りの制御手段には、縮尺変更後のそれぞれのパラメータが表示されている。アイドル速度制御手段1412に示されているように、エンジンのサイズを増加させた結果、エンジンのアイドル速度は、750rpmから459rpmへと低下した。
【0128】
エンジン出力と気筒数の変更のみによって定義される縮尺変更動作の代わりに、固有のサイズ変更特性をもたらす任意の他のパラメータの組み合わせを、ユーザーが選択してもよい。例えば、エンジン出力の代わりに、サイズ変更後のエンジン排気量Vdを指定し、気筒数の代わりに、エンジン速度の最小BSFCの位置を指定し、サイズ変更後のエンジン出力及びサイズ変更後のエンジンの気筒数を自由変数として残す選択肢が、ユーザーに与えられてもよい。
【0129】
本明細書に記載した、4気筒の1.5Lエンジンに関する元のモデルから、元のエンジンの4倍の出力を有する6気筒の9.8Lエンジンのモデルへの縮尺変更は、単なる一例であることを理解されたい。モデル縮尺変更ツール214は、4気筒の1.5Lエンジンのような元のエンジンのモデルを、他のもっと大きいサイズのエンジンのモデルや、1気筒の0.15Lエンジンのようなもっと小さいサイズのエンジンのモデルに、縮尺変更してもよい。
【0130】
図7Dに戻ると、ステップ742に示されるように、実施形態によっては、縮尺変更されたエンジンコントローラモデル、及び縮尺変更されたエンジンモデルを、実行することができる。例えば、縮尺変更されたエンジンコントローラモデル、及び縮尺変更されたエンジンプラントモデルは、システムモデルの一部に含められ、したがって、システムモデルの一部として実行することができる。
【0131】
シミュレーションエンジン212は、縮尺変更されたエンジンコントローラモデル、及び縮尺変更されたエンジンプラントモデルを含むシステムモデルを実行することができる。例えば、ユーザーは、UIエンジン202によってモデルエディタウィンドウに表示されたコマンドツールバーの実行コマンドボタンを選択することができる。あるいは、ユーザーは、テキストベースのコマンドをCLIに入力してもよい。また、システムモデルのようなモデルは、プログラムのような形で実行されてもよい。実施形態によっては、モデルの実行は、コンパイルステージ、リンクステージ、及びシミュレーションループステージを含む場合がある。コンパイルステージとリンクステージは、シミュレーションエンジン212のモデルコンパイラ220によって実行される場合がある。コンパイルステージでは、モデルの実行の開始がマークされてもよく、データ構造の準備とパラメータの評価、モデル要素特性(例えば、サンプル時間、データ型など)の設定と伝搬、モデル要素接続度の決定、モデル要素の削減やモデル要素の挿入の実施、ならびに、そのモデルのモデル要素に対応する整列された順序の式の生成を含む場合がある。モデル要素の削減は、モデル要素の1つ以上のグループを折り畳むこと及び/又は減らすことを含む場合がある。例えば、未使用のコードパス(例えば、デッドコード)にあると判断されたモデル要素や信号、出力周波数よりも速い入力周波数を有するレート遷移モデル要素、及び、不要と判断されたタイプ変換ブロックは、折り畳まれ、又は削除される場合がある。
【0132】
データ構造の準備とパラメータの評価では、コンパイルステージで使用される1つ以上のデータ構造を作成し、初期化することができる。各モデル要素について、方法は、モデル要素に、そのパラメータのすべてを強制的に評価させることができる。モデル要素特性、及びポート/信号特性の設定と伝搬の際に、各モデル要素(及び/又はポート)のコンパイルされた属性(データの次元、データ型、複雑さ、サンプルモード、及びサンプル時間など)が、例えば矢印のような線を介して所与のモデル要素に接続されているモデル要素(及び/又はポート)の対応する挙動及び属性に基づいて設定される場合がある。また、属性は、モデル内のモデル要素又はコンポーネントのコンテキストに基づいて設定される場合がある。例えば、所与のサンプル時間を有するサブシステム(サブシステムは、単一のモデル要素として階層的に表現された一群のモデル要素であってよい)は、このサンプル時間を、そのサブシステムに含まれる種々のモデル要素のサンプル時間に設定することができる。
【0133】
属性設定は、信号又は他の接続度にしたがって、モデル要素の挙動が、あるモデル要素から次のモデル要素へ「波及」するようなプロセスを通じて実施される場合があり、さらにモデルの階層構造を通じて実施されてもよく、例えば前方又は後方へ向かって接続度にしたがって実施される場合がある。このプロセスは「伝搬」と呼ばれる。モデル要素がそのモデル要素の挙動又はそのポートの挙動を明示的に指定しているモデル要素である場合、伝搬は、そのモデル要素の属性が、そのモデル要素に接続されているモデル要素、又はそのモデル要素に包含されるモデル要素の属性との間に、確実に互換性を与えるのに役立つ場合がある。そうでない場合、エラーが発行されてもよい。少なくとも一部のモデル要素は、広範囲の属性との間に、互換性を持つように実施される場合がある。それらのモデル要素は、モデル要素に接続されたモデル要素の属性にしたがって、自分の挙動を適応させることができる。モデル要素の正確な実施形態は、そのモデル要素が配置されているモデルに基づいて選択される場合がある。このステップには、すべてのレート遷移が確定的な結果をもたらすこと、及び、適切なレート遷移ブロックが使用されていることを確認することのような、他の態様が含まれる。
【0134】
また、コンパイルステップでは、モデル要素接続度を決定することができる。例えば、モデルは、モデルの実行において意味のある役割を果たさない1つ以上の仮想ブロックを含むことがある。このステップでは、仮想ブロックを最適化によって無くし(例えば、除去し)、残りの非仮想モデル要素を互いに適切に再接続することができる。実際のモデル要素接続度を有するこのコンパイルされたバージョンのモデルは、この時点から、実行プロセスで使用することが可能になる。
【0135】
モデルについて、中間表現(IR)のような1つ以上のインメモリ表現が、IRビルダー224によって生成される場合がある。IRのうちの少なくとも1つは、エッジにより相互接続された複数のノードを有する、階層的データフローグラフ(DFG)のような有向グラフの形態であってもよい。IRのノードは、実行可能なグラフィカルモデルのモデル要素を表現することができ、IRのエッジは、そのモデルのモデル要素間の接続を表現することができる。IRの特別なノードを使用して、例えば、そのモデルのサブシステム又は他のコンポーネントを抽象的に表現することにより、IRに階層性を与えることができる。実施形態によっては、モデルのモデル要素は、IRの1つ以上のノードに対応付けられる(マッピングされる)場合があり、そのモデルの線又は矢印は、IRの1つ以上のエッジに対応付けられる場合がある。
【0136】
IRは、他の形態をとることもでき、例えば、制御フローグラフ(CFG)、制御データフローグラフ(CDFG)、プログラム構造ツリー(PST)、抽象構文ツリー(AST)、ネットリストなどの形態をとってもよいことを理解されたい。CDFGは、データ依存度エッジと制御依存度エッジにより、グラフィカルモデルのデータフローだけでなく制御フローも捉えることができる。
【0137】
インメモリ表現又はIRは、データ処理装置のメインメモリ又は永続的メモリのようなメモリに記憶される場合がある。
【0138】
コンパイルステージの後、そのモデルについて、コードが生成されてもよいし、生成されなくてもよい。コードが生成される場合、モデルは、加速実行モードで実行されてもよい。加速実行モードでは、モデル又はその一部が、本明細書において広くコードと呼ばれるソフトウェアモジュール又はハードウェア記述のいずれかに変換される。このステージが実施された場合、後続のステージでは、モデルの実行の際に、生成されたコードを使用することができる。コードが生成されなかった場合、モデルは、インタープリタモードで実行される場合がある。インタープリタモードでは、コンパイルされリンクされたバージョンのモデルを直接使用して、所望の時間範囲にわたって、モデルを実行することができる。ユーザーがモデルについてコードを生成した場合、ユーザーは、そのモデルの実行をそれ以上進めないことを選択してもよい。例えば、ユーザーは、生成されたコードを取り出して、それをモデリング環境200の境界の外に配備することを選択してもよい。
【0139】
リンクステージは、メモリ割り当て、及び前記整列された順序からのブロックメソッド実行リストの生成を含む場合がある。シミュレーションループステージでは、シミュレーションエンジン212が、コンパイルされリンクされたバージョンのモデルを直接使用して、そのモデルをインタープリタモードで実行することができる。モデル要素の入力や出力をモデル内で相互接続する手段は、必ずしも、個々のモデル要素に対応する式(メソッド)を解く(実行する)順序を定義しなくてもよい。実際の順序は、コンパイル時にソートステップで決定することができる。
【0140】
モデル実行の代替又は追加として、ステップ744(図7E)に示されるように、コード生成器208は、縮尺変更されたエンジンモデルの少なくとも一部についてコードを生成することができる。ステップ746に示されるように、縮尺変更されたエンジンモデルについて生成されたコードは、縮尺変更されたエンジンコントローラモデルのハードウェアインザループ(HIL)テストに使用される場合がある。モデル実行及び/又はHILテストの代替又は追加として、ステップ748に示されるように、コード生成器208は、縮尺変更されたエンジンコントローラモデルについてコードを生成することができる。ステップ750に示されるように、縮尺変更されたエンジンコントローラモデルについて生成されたコードは、電子制御ユニット(ECU)に埋め込みソフトウェアとして配備される場合がある。
【0141】
反復サーチ
実施形態によっては、モデル縮尺変更ツール214は、パラメータ空間内で反復サーチを実施することができる。例えば、縮尺変更係数として最大エンジン出力を指定する代わりに、ユーザーは、スロットルボア直径制御手段1430でスロットルボア直径を指定してもよい。モデル縮尺変更ツール214は、これらの縮尺変更係数に基づいて、縮尺変更されたエンジンコントローラモデル、及び縮尺変更されたエンジンモデルを生成することができる。制限関係、及びエンジン物理学の仮定によって規定されるような相互排他的パラメータの任意の組み合わせを、ユーザーは、自由変数として指定することができ、残りのパラメータは、派生変数又は固定変数の組み合わせとして指定される場合がある。派生変数(例えば、BSFCや、最小BSFCの位置など)は、可能であれば、直接求めてもよい。すなわち、派生変数は、ヒューリスティックエンジンや数学的エンジンの縮尺変更ソルバーを反復的に使用して求めてもよい。
【0142】
静的エンジンモデルの生成
実施形態によっては、静的エンジンモデル作成器230は、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルのテスト中に生成されたデータを使用して、縮尺変更された静的エンジンモデルを生成することができる。さらに、サードパーティの詳細な動的エンジンモデルをテストソースとして使用してもよく、当該テストソースから、縮尺変更された静的エンジンモデル等価物を、自動化された労力の少ない形で生成してもよい。
【0143】
図16A及び図16Bは、一実施形態による、例示的方法を示すフロー図の種々の部分を示す図である。ステップ1602に示されるように、モデリング環境200は、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルを、テスト環境中に含む場合がある。例えば、モデリング環境200は、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルを、ダイナモメーターモデル中に含む場合がある。
【0144】
図17は、一実施形態による、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルをテストするための例示的ダイナモメーターシステムモデル1700を示す概略図である。ダイナモメーターシステムモデル1700は、ダイナモメーターコントローラモデル1702、縮尺変更されたエンジンコントローラモデル1704、縮尺変更されたエンジンモデル1706、及びダイナモメータープラントモデル1708を含む場合がある。適当なダイナモメーターシステムモデルとしては、The MathWorks,Inc.のSIエンジンダイナモメーター標準アプリケーション、及びCIエンジンダイナモメーター標準アプリケーションが挙げられる。
【0145】
実施形態によっては、元のエンジンコントローラモデル及び元のエンジンモデルについて、元のダイナモメーターモデルが作成されている場合がある。モデル縮尺変更ツール214は、このダイナモメーターモデルを再利用してもよい。ステップ1604に示されるように、モデル縮尺変更ツール214は、1つ以上の計算された比率を使用してダイナモメーターモデルの1つ以上のパラメータを縮尺変更し、縮尺変更されたエンジンコントローラ及びエンジンモデルのサイズに適合させることができる。例えば、モデル縮尺変更ツールは、トルク及び速度のテスト範囲を縮尺変更し、新しいエンジンサイズを反映することができる。例えば、ダイナモメーターコントローラモデルは、エンジンコントローラモデル及びエンジンモデルをテストするための複数の元のエンジン速度コマンドポイントを含む場合がある。モデル縮尺変更ツール214は、縮尺変更されたエンジン速度コマンドポイントを以下のように生成することができる。
【0146】
【数12】
【0147】
また、ダイナモメーターコントローラモデルは、複数の元のエンジントルクコマンドポイントを含む場合がある。モデル縮尺変更ツール214は、縮尺変更されたエンジントルクコマンドポイントを以下のように生成することができる。
【0148】
【数13】
【0149】
ダイナモプラントモデルは、モーターサイズパラメータ、慣性パラメータ、出力吸収パラメータ、熱遮断能力パラメータのような種々のパラメータを含む場合がある。これらの追加的パラメータも、縮尺変更される場合がある。
【0150】
ステップ1606に示されるように、実施形態によっては、1つ以上のルックアップテーブルを繰り返し再調節することにより、発生し得る累積誤差を低減することができる。この反復的再調節は、パラメータ及び/又はルックアップテーブルの限られたサブセットに対して実施されてもよく、例えば、測定トルクとコマンド指定トルクとの間の遊びを取り除くために使用されるパラメータに対して実施される場合がある。例えば、Stateflow(登録商標)状態チャートツールを使用して、スロットル及びウェイストゲートエンジンコントローラ較正テーブルを繰り返し再調節することにより、エンジンプラントモデル較正テーブルの縮尺変更によって生じる可能性がある累積誤差を低減し、及び/又は除去することができる。累積誤差は、コマンド指定されたエンジントルクと実際のエンジントルクとの間の差を含む場合がある。
【0151】
ダイナモメーターモデルを、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルに適合するように縮尺変更することで、ステップ1608に示されるように、縮尺変更されたダイナモモデルを実行することにより、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルを複数のテストポイントでテストすることが可能になる。ステップ1604における縮尺変更処理、及びステップ1606における累積誤差を除去するための再調節又は再調整の後、ステップ1608で、最終エンジン性能を評価することができる。ステップ1610に示されるように、静的エンジンモデル作成器215は、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルのテスト中に、エンジン出力データを記憶すること(例えばログに記録すること)ができる。ステップ1612に示されるように、静的エンジンモデル作成器215は、縮尺変更されたエンジンコントローラモデル及び縮尺変更されたエンジンモデルのテスト中に得られたエンジン出力データに基づいて、一組のルックアップテーブルを作成することができる。ステップ1614に示されるように、この一組のルックアップテーブルはさらに、静的エンジン等価モデル要素に関連付けられてもよい。この一組のルックアップテーブルは、縮尺変更されたエンジンモデルの性能挙動をモデル化するのに十分なデータを含む場合がある。
【0152】
実施形態によっては、シミュレーション環境において、静的エンジン等価モデル要素は、GTSUITE(登録商標)エンジンモデル、WAVE又はWAVE RTモデル、又はAVLブーストモデルのような高度なエンジンモデルのテスト中に得られたデータを使用して、直接パラメータ化されてもよい。
【0153】
説明したように、元のエンジンモデル及び縮尺変更されたエンジンモデルは、実行中に種々の操作又は機能を実行してエンジン出力データを算出する動的モデルであってもよい。動的モデルのシミュレーション中には、種々の微分式が生成され、解かれる場合がある。これに対し、静的エンジン等価モデル要素は、動的モデルではない場合がある。その代わりに、静的エンジン等価モデル要素は、それ自体が有する一組のルックアップテーブルに含まれる情報のみに基づいて、エンジン出力データを決定することができる。ステップ1616に示されるように、モデリング環境200は、縮尺変更されたエンジンモデルを、静的エンジン等価モデル要素に置き換えてもよい。例えば、モデリング環境200は、システムモデルから、縮尺変更されたエンジンモデルを削除し、縮尺変更されたエンジンコントローラモデルを、静的エンジン等価モデル要素に接続することができる。ステップ1618に示されるように、モデリング環境200は、静的エンジン等価モデル要素を含むシステムモデルを実行する場合がある。
【0154】
静的エンジン等価モデル要素は、主にルックアップテーブルから構成されているため、縮尺変更されたエンジンモデルよりも高速に実行できる場合があり、縮尺変更されたエンジンモデルよりも少ないメモリ空間しか必要としない場合がある。
【0155】
例示的データ処理装置
図18は、本発明の一実施形態を実施するためのコンピュータ又はデータ処理システム1800を示す概略図である。コンピュータシステム1800は、システムバス1812によって相互接続された、プロセッサ1802のような1つ以上の処理要素、メインメモリ1804、ユーザー入出力(I/O)1806、ディスクドライブ1808のような永続的データ記憶装置、及びリムーバブル媒体ドライブ1810を含む場合がある。コンピュータシステム1800は、ネットワークインターフェースカード(NIC)1814のような通信ユニットをさらに含む場合がある。ユーザーI/O1806は、キーボード1816、マウス1818のようなポインティングデバイス、及びディスプレイ1820を含む場合がある。他のユーザーI/O構成要素1806としては、ボイス若しくはスピーチコマンドシステム、タッチパッドやタッチスクリーン、プリンタ、プロジェクタなどが挙げられる。プロセッサの例としては、シングルコア若しくはマルチコアの中央演算処理装置(CPU)、グラフィック処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、マイクロプロセッサ、マイクロコントローラなどが挙げられる。
【0156】
メインメモリ1804は、ランダムアクセスメモリ(RAM)であってもよい。メインメモリ1804には、オペレーティングシステム1822のような複数のプログラムライブラリ若しくはモジュールと、オペレーティングシステム1822にインターフェースを介して接続されたモデリング環境200のような1つ以上のアプリケーションプログラムとが記憶される場合がある。
【0157】
リムーバブル媒体ドライブ1810は、CD、DVD、フロッピーディスク、ソリッドステートドライブ(SSD)、テープ、フラッシュメモリ又は他の非一時的媒体のようなコンピュータ読み取り可能媒体1824を受け入れ、読み取ることができる。また、リムーバブル媒体ドライブ1810は、コンピュータ読み取り可能媒体1824に書き込むこともできる場合がある。
【0158】
適当なコンピュータシステムとしては、パーソナルコンピュータ(PC)、ワークステーション、サーバ、ラップトップ、タブレット、パームコンピュータ、スマートフォン、電子リーダー、及び他のポータブルコンピューティングデバイスなどが挙げられる。ただし、当業者は、図18のコンピュータシステム1800が、例示のみを目的としていることや、本発明が、他のコンピュータシステム若しくは装置、データ処理システム若しくは装置、又は計算システム若しくは装置と共に使用されてもよいことを理解するであろう。また、本発明は、例えばクライアントサーバアーキテクチャのようなコンピュータネットワーク、あるいは、パブリック及び/又はプライベートクラウドコンピューティング構成で使用されてもよい。例えば、モデリング環境1800は、1つ以上のクラウドサーバ又はデバイス上に置かれ、例えばMicrosoft(登録商標) Corp.のリモートデスクトップ接続ツールのようなウェブポータル又はアプリケーションホスティングシステムを通して、リモートクライアントによってアクセスされてもよい。
【0159】
適当なオペレーティングシステム1822としては、とりわけ、ワシントン州レッドモンドにあるMicrosoft(登録商標) Corp.のWindows(登録商標)シリーズのオペレーティングシステム、カリフォルニア州マウンテンビューにあるGoogle(登録商標) Inc.のAndroid(登録商標)及びChrome(登録商標) OSオペレーティングシステム、Linux(登録商標)オペレーティングシステム、カリフォルニア州クパチーノにあるApple(登録商標) Inc.のMAC(登録商標) OSシリーズのオペレーティングシステム、及びUNIX(登録商標)シリーズのオペレーティングシステムが挙げられる。オペレーティングシステム1822は、メモリの割り当て、ファイルシステムに従ったデータオブジェクトやファイルの編成、要求の優先順位付け、I/Oの管理等のような、アプリケーション又はモジュールのための種々のサービス又は機能を提供することができる。オペレーティングシステム1822は仮想マシン上で実行されてもよく、仮想マシンは、データ処理システム1800によって提供される場合がある。
【0160】
上記に示したように、エンジニア、科学者、プログラマー、開発者のようなユーザーは、キーボード1816、マウス1818、及びディスプレイ1820のような1つ以上の入力デバイスを使用して、モデル縮尺変更ツール214を含むモデリング環境200を操作することができる。
【0161】
図19は、本明細書に記載される種々のシステム及び/又は方法を実施できる分散コンピューティング環境1900を示す概略図である。分散コンピューティング環境1900は、ネットワーク1910のような1つ以上のネットワークによって相互接続された、2つのサーバ1902及び1904、並びに3つのクライアント1906~1908のような、クライアント及びサーバデバイスを含む場合がある。サーバ1902及び1904は、クライアント1906~1908によってアクセス可能なアプリケーション又はプロセスを含む場合がある。例えば、サーバ1902は、モデリング環境200を実行できる技術計算環境1912を実行することができる。サーバ1904は、モデル縮尺変更ツール214、コード生成器208、及び/又は他の何らかのアプリケーションを実行することができる。分散コンピューティング環境1900の種々のデバイスは、有線接続、無線接続、又は有線接続と無線接続の組合せを介して、相互接続される場合がある。
【0162】
実施形態によっては、分散環境1900は、ハードウェアインザループ(HIL)テスト環境1918を含む場合があり、ハードウェアインザループ(HIL)テスト環境1918は、1914で示された1つ以上のハードウェア要素を含む場合がある。分散環境1900は、電子制御ユニット(ECU)1916をさらに含む場合がある。
【0163】
サーバ1902及び1904は、情報を受信、生成、記憶、処理、実行、及び/又は提供することができる1つ以上のデバイスを含む場合がある。例えば、サーバ1902及び1904は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、又は同様のデバイスのようなコンピューティングデバイスを含む場合がある。
【0164】
クライアント1906~1908は、情報を受信、生成、記憶、処理、実行、及び/又は提供することが可能である場合がある。情報には、例えば、1つ以上のネットワークにおいて、及び/又は1つ以上のデバイスとともに使用するのに適した、実質的に任意のフォーマットの任意のタイプの機械読み取り可能情報が含まれ得る。情報には、デジタル情報及び/又はアナログ情報が含まれ得る。情報はさらに、パケット化され、及び/又は非パケット化されていてもよい。一実施形態において、クライアント1906~1908は、ネットワーク1910を介して、サーバ1902及び1904から、データ及び/又はコードをダウンロードすることができる。実施形態によっては、クライアント1906~1908は、デスクトップコンピュータ、ワークステーション、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、携帯電話(例えば、スマートフォン、無線電話など)、電子リーダー、又は同様のデバイスであってもよい。実施形態によっては、クライアント1906~1908は、サーバ1902及び1904から情報を受信し、及び/又はサーバ1902及び1904へ情報を送信することができる。
【0165】
ネットワーク1910には、1つ以上の有線ネットワーク及び/又は無線ネットワークが含まれ得る。例えば、ネットワーク1910には、セルラーネットワーク、公衆陸上移動ネットワーク(「PLMN」)、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、メトロポリタンエリアネットワーク(「MAN」)、電話ネットワーク(例えば、公衆交換電話網(「PSTN」))、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、及び/又は、これら若しくは他のタイプのネットワークの組み合わせが含まれ得る。情報は、任意のネットワークプロトコルを使用してネットワークデバイス間で交換されてもよく、限定はしないが、例えば、インターネットプロトコル(IP)、非同期転送モード(ATM)、同期光ネットワーク(SONET)、ユーザーデータグラムプロトコル(UDP)、米国電気電子学会(IEEE)の802.11などを使用して、ネットワークデバイス間で交換される場合がある。
【0166】
図19に示したデバイス及び/又はネットワークの数は、例として提供されている。実際には、図19に示したものに比べて、もっと多くのデバイス及び/又はネットワーク、もっと少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、あるいは、異なる配置のデバイス及び/又はネットワークが存在してもよい。また、図19に示した2つ以上のデバイスは、単一のデバイス内で実施されてもよく、又は図19に示した単一のデバイスは、複数の分散デバイスとして実施されてもよい。さらに、分散コンピューティング環境1900のデバイスのうちの1つ以上が、分散コンピューティング環境1900の別の1つ以上のデバイスにより実施されるものとして説明された1つ以上の機能を実施してもよい。
【0167】
電気モーターの縮尺変更の例
本開示のシステム及び方法は、電気モーターモデルと、電気モーターモデルに適合するコントローラモデルとを、縮尺変更することができる。電気モーターの一般的タイプは、永久磁石モーターである。永久磁石モーターは、ステータの内部で回転するようにシャフトに取り付けられたローターを有する交流(AC)モーターである。ステータは、ローターに対して静止している。ステータは巻線を有しており、ローターは、ステータの巻線の内側付近に、永久磁石を有している。永久磁石は、ローターの外面に取り付けられる場合があり、この場合は、表面永久磁石モーター(SPM)と呼ばれる。あるいは、永久磁石は、ローター自体に埋め込まれる場合もあり、この場合は、内部永久磁石モーター(IPM)と呼ばれる。ステータ巻線は、三相交流電源によって通電され、ステータとローターの間のギャップに、回転磁界を発生させることができる。ステータ巻線に誘起された回転磁界は、ローターを駆動し、負荷がかかると、シャフトにトルクを発生させる。ステータの巻線がローターの永久磁石に磁束を生成する軸は、モーターの直軸又はd軸と呼ばれる。また、モーターがトルクを生成する軸は、横軸又はq軸と呼ばれる。q軸は、d軸に対して90°だけ先行している。永久磁石同期電動機(PMSM)とも呼ばれる同期永久磁石モーターの場合、ローターは、回転磁界に同期して回転する。
【0168】
永久磁石モーターを制御するために、コントローラは、ステータの巻線に供給される三相電力を制御する。コントローラの一つのタイプは、フィールド指向制御(FOC)のコントローラである。FOCコントローラを用いると、ステータ電流量(相電流)は、静止基準フレームから、モーターの回転基準フレームにおけるトルクを生成する電流成分と磁束を生成する電流成分とに変換される。FOCコントローラは、回転基準フレームにおけるステータ電流のd軸成分とq軸成分を制御することで、間接的にモーターのトルクを制御する。モーターを自動車、トラック、オートバイ、船舶、航空機のような乗り物への動力供給に使用する場合、アクセルペダル又はスロットルから、モーターが提供すべき所望のトルクを得るための、基準信号を得ることができる。FOCコントローラの内部では、2つの比例積分(PI)制御ループが、所望のトルクを達成するためのd軸ステータ電流成分とq軸ステータ電流成分の差(例えばアクセルペダル又はスロットル基準信号に基づく)(例えば、誤差)と、モーターのd軸ステータ電流及びq軸ステータ電流の現在値とに基づいて、制御信号を決定することができる。
【0169】
図20は、一つ又は複数の実施形態による、モーター、インバータ、及びモーターコントローラをモデル化した電気モーター駆動システムモデル2000の一例を示す概略図である。電気モーター駆動システムモデル2000は、モーターモデル2002と、モーターコントローラモデル2004とを含む場合がある。モーターモデル2002は、電気モーターの動作をモデル化することができ、モーターコントローラモデル2004は、モーターモデル2002によりモデル化された電気モーターを制御するためのコントローラの動作をモデル化することができる。
【0170】
モーターモデル2002は、非線形三相内部永久磁石同期電動機(PMSM)モーターをモデル化したものであってもよく、コントローラモデル2004は、三相内部PMSMモーターを制御するための磁束ベースのフィールド指向制御(FOC)コントローラをモデル化したものであってもよい。モーターモデル2002は、1つ以上の入力を受け取り、1つ以上の出力を提供するように構成される場合がある。例えば、モーターモデル2002は、入力として、PhaseVoltコマンド信号(ボルト)、モーター速度(MotSpd)信号(ラジアン/秒)、及び直流(DC)バス電圧(BusVolt)信号(ボルト)を受信する場合がある。モーターモデル2002は、出力として、モータープラント(MotPlnt)信号、及び直流電流(I_dc)信号を生成する場合がある。モーターコントローラモデル2004も、1つ以上の入力を受け取り、1つ以上の出力を計算することができる。例えば、モーターコントローラモデル2004は、入力として、モータートルクコマンド(TrqCmd)信号(ニュートンメートル(N-m))、モーター速度(MotSpd)信号、及びDCバス電圧(Bus Voltage)信号を受信するように構成される場合がある。また、コントローラモデル2004は、モーターモデルから、モーターの動作に関する情報(MotPlnt)を、例えばフィードバックとして受け取ることができ、とりわけ、例えば、d軸ステータ電流とq軸ステータ電流のような情報を受け取る場合がある。モーターコントローラモデル2004は、出力として、3つのステータ端子位相電圧(PhaseVolt)を有するコマンド信号を計算することができる。
【0171】
モーターモデル2000は、モータートルクコマンド(MotTrqCmd)及びモーター速度(MotSpd)と名付けられたInportブロックのような、入力信号を受け取り又はアクセスする2つの入力要素2006及び2008を含む場合がある。モーターモデル2000は、モーター(Mot)及びモーターコントローラ(MotCtrlr)と名付けられたOutportブロックのような、モーターモデル2000によって計算された出力信号を提供する2つの出力要素2010及び2012をさらに含む場合がある。入力要素2006及び2008は、モーターモデル2000が受信する信号のようなデータを表しており、出力要素2010及び2012は、実行中にモーターモデル2000によって生成(例えば、計算)される信号のようなデータを表している。モーターモデル2000がMotTrqCmd入力ポート2006で受信する信号は、バス信号であってもよい。バス信号は、複数の信号からなる信号であってもよく、合成信号と呼ばれることもある。モデリング環境は、複数の信号を合成信号として結合するため、及び/又は、合成信号から個々の信号を抽出するための、1つ以上のバス要素を提供する場合がある。モーターモデル2000は、MotTrqCmd入力ポート2006からのバス信号、及びMotSpd入力ポート2008からの信号を受信し、トルクコマンド(TrqCmd)信号、DCバス電圧(V_dc)信号、及びMotSpd信号のような1以上の選択された信号を出力する、バスセレクタ要素2014を含む場合がある。
【0172】
モーターコントローラモデル2004は、1つ以上の入力に基づいて動作し、1つ以上の出力を計算するように構成される場合がある。例えば、モーターコントローラモデル2004は、モーターモデル2000への入力としてのトルクコマンド(TrqCmd)信号、モーター速度(MotSpd)信号、及びV_dc(ここではバス電圧(BusVolt)として識別される)信号に基づいて動作する場合がある。また、モーターコントローラモデル2004は、モーターモデル2002によって計算されることがあるモータープラント(MotPlnt)信号に基づいて動作することができる。モーターコントローラモデル2004は、モーターコントローラ(MotCtlr)コマンド信号を計算することができる。
【0173】
モーターモデル2002は、1つ以上の入力に基づいて動作し、1つ以上の出力を提供するように構成される場合がある。例えば、モーターモデル2002は、モーターモデル2000に入力されたモーター速度(MotSpd)及びバス電圧(BusVolt)信号に基づいて動作することができる。また、モーターモデル2002は、モーターコントローラモデル2004によって計算されたモーターコントローラ(MotCtlr)コマンド信号に基づいて動作することもできる。モーターモデル2002は、モータープラント(MotPlnt)信号及びDC電流(I_dc)信号を計算することができる。
【0174】
実施形態によっては、電気モーター駆動システムモデル2000は、「モーターサイズ変更(Resize Motor)」と名付けられたモデル要素2016をさらに含む場合がある。本明細書に記載されるように、「モーターサイズ変更」要素2016は、モデル縮尺変更ツール214に対し、モーターモデル2002及びモーターコントローラモデル2004に基づいて、縮尺変更されたモーターモデル及び縮尺変更されたコントローラモデルを生成すべきことを命じることができる。モーターモデル2002及びモーターコントローラモデル2004は、基準モーターモデル及び基準モーターコントローラモデルと呼ばれることもある。
【0175】
電気モーター駆動システムモデル2000は、モデルエディタのモデルキャンバス上に構築されてもよく、モデルエディタは、ワークステーション、ラップトップ、タブレットのようなデータ処理装置のディスプレイ上に表示されるデスクトップ環境の形態であってもよい。例えば、UIエンジン202及びモデルエディタ204は、電気モーター駆動システムモデル2000が表示されたモデルキャンバスを含むデスクトップを提供し、又はサポートする場合がある。モデルキャンバスの他に、モデルエディタは、ツールストリップの種々のタブの形に編成された所望のアクションを実行するための種々のコマンドボタンを含む場合がある。例えば、シミュレーションタブは、実行ボタンを含む場合がある。ユーザーが実行ボタンを選択することに応答して、シミュレーションエンジン212は、電気モーター駆動システムモデル2000を実行することができる。
【0176】
図21は、一つ又は複数の実施形態による、モーターモデル2002の種々の要素を見るために開かれたモーターモデル2002の一例を示す概略図である。モーターモデル2002は、インバータ要素2102と、モーター要素2104とを含む場合がある。実施形態によっては、モーター要素2104は、三相内部永久磁石同期電動機(PMSM)モーターをモデル化したものであってもよい。
【0177】
図22は、一つ又は複数の実施形態による、モーターコントローラモデル2004の種々の要素を見るために開かれたモーターコントローラモデル2004の一例を示す概略図である。モーターコントローラモデル2004は、磁束ベースの永久磁石(PM)モーターコントローラ要素2202を含む場合がある。モーターコントローラモデル2004は、MotPlntバス信号から、特定の幾つかの信号を磁束ベースのPMモーターコントローラ要素2202への入力として選択する、バスセレクタ要素2204をさらに含む場合がある。例えば、バスセレクタ要素2204は、MotPlntバス信号から、laStator信号、lbStator信号、及びモーター位置(MtrPos)信号を、磁束ベースのPMモーターコントローラ要素2202への入力として選択する場合がある。
【0178】
電気モーター駆動システムモデル2000のようなシミュレーションモデルの種々の要素は、データ、制御、信号、状態遷移、イベント、メッセージ、及び/又は、機械、電気若しくは熱といった物理的関係のような情報を要素間で交換するために、種々の接続によって互いに連結される場合がある。接続は、モデルの中を通る種々の情報経路を確立することができ、情報経路は、モデルのトップレベルの入力からそのトップレベルの出力まで伸びている場合がある。接続は、接続のタイプを示す線、ワイヤ、又は矢印のようなグラフィカル表現を有する場合がある。例えば、時間ベースのシミュレーション環境では、1本の線矢印のように見える接続が、2つの接続されたブロック間の信号のような数学的関係を表す場合がある。例えば、第1のブロック(例えば、ソースブロック)は信号を更新し、第2のブロック(例えば、シンクブロック)は信号を読み取る。信号は、例えば、モデル実行中のすべての時点において1つ以上の値を有する時間的に変化する量を示す場合がある。例えば、信号は、モデルの実行中の各時間ステップで、値を有する場合がある。
【0179】
モデル内の種々のモデル要素及び接続の配置により、物理システム、手順、アルゴリズム、及び/又は挙動を指定することができ、そのモデルをモデリング環境によって実行(例えば、シミュレーション)することで、システム挙動をモデル化し、あるいは、それらの手順、アルゴリズム、及び/又は挙動を実行することができる。実行中、モデルは、入力値を処理し、出力値を生成することができる。ユーザーは、モデリング環境に対し、サンプル入力データを用いてモデルを実行すべきことを命じることができ、そのモデルが実行されたときに、そのモデルが期待される出力値を生成するか否かを評価することができる。期待される出力値が生成されない場合、ユーザーは、モデルを変更することができる。
【0180】
実施形態によっては、接続は、1つ以上の実際の物理的接続を表す場合がある。具体的には、モデル要素は、モデル要素によって表された物理的構成要素間の実際の物理的接続点を模倣するように構成された種々の接続ポートを含む場合がある。所与のモデル要素に含まれる接続ポートの数は、それらのモデル要素が他のモデル要素と交換するエネルギーフローの数によって決定される場合があり、その数は、そのモデル要素が表す実際の物理的構成要素の理想化のレベルにも依存する場合がある。エネルギーフローは、1つ以上の変数によって特徴付けることができる。例えば、エネルギーフローは、貫通変数と交差変数によって特徴付けることができ、これらの積は、エネルギーフロー(ワット)を指定することができる。貫通変数は、構成要素に対して直列に測定できる値を表しているのに対し、交差変数は、構成要素に対して並列に測定できる値を表している。回転機械の分野では、貫通変数は力であってもよく、交差変数は角速度であってもよい。電気の分野では、貫通変数は電流であってもよく、交差変数は電圧であってもよい。ユーザーは、配線ツールのようなグラフィカルな接続ツールを使用して、ブロック間の物理的接続線を確立することができる。実際の物理的要素を表すグラフィカルオブジェクト間の接続によって、モデル化されるシステムの物理的形状を定義することができる。
【0181】
他の実施形態では、接続は、信号と状態変数との間の時間ベースの種々の関係を定義する動的な一組の式を表す動的モデル、すなわち時間ベースのモデルの種々の信号であってもよい。信号は、経時的に変化する量を表す場合があり、また、あらゆる時点で値を有する場合がある。信号と状態変数との間の種々の関係は、モデルに含まれるモデル要素によって表された一組の式によって定義することができる。時間ベースのモデル要素は、矢印やワイヤのような信号ベースの接続でグラフィカルに相互接続される場合がある種々の信号ポートを含む場合がある。信号源は、モデル要素の種々の式の評価中に信号に書き込むモデル要素に対応しており、信号の宛先は、宛先モデル要素の式の評価中に信号を読み出すモデル要素(複数可)である。
【0182】
電気モーター駆動システムモデル2000のモーター要素2104及びモーターコントローラ要素2202のような、モデルに含まれるモデル要素は、そのモデルの実行中にモデル要素が出力値を計算する方法を決定する数値パラメータを有する場合がある。モデル要素が実行する計算を制御するために、ユーザーは、モデル要素のパラメータの値を入力することができる。これらの値は、直接入力されてもよいし、あるいは、モデルのためのワークスペースに定義された記号のような、数値を参照する記号によって入力されてもよい。さらに、モデル要素のパラメータの値は、例えばそのモデル要素のユーザーインターフェースを介して、グラフィカルに設定されてもよいし、あるいは、例えばコマンドラインインターフェースのコマンドラインに入力可能なgetコマンドやsetコマンドを使用して、テキスト形式で設定されてもよい。モデル要素のパラメータは、スカラー、ベクトル、配列、行列、又はテーブルのような様々なデータ型を有することができる。
【0183】
モーター要素2104とモーターコントローラ要素2202は何れも、ルックアップテーブル(LUT)の形をした1つ以上のパラメータを含み、又はそれらへのアクセスを有することができ、モーター要素2104及びモーターコントローラ要素2202は、各自の出力を決定する際に、それらのパラメータを使用することができる。先に説明したように、LUTは、1つ以上の入力ブレークポイントデータセットと、出力テーブルデータとを含む場合がある。各入力ブレークポイントデータセットは、ルックアップテーブルの特定の次元についての入力値のインデックスであってもよく、例えば、ベクトルの形態であってもよい。入力ブレークポイントデータセットは、ルックアップテーブルの種々の入力値を、そのルックアップテーブルが返す種々の出力値に関連付ける。入力ブレークポイントデータセットに含まれる個々の入力値は、ブレークポイントと呼ばれることもある。
【0184】
例えば、モーター要素2104は、非線形モーター磁束リンケージデータを含む場合がある。非線形モーター磁束リンケージデータは、モーター要素2104によってモデル化される物理モーターのダイナモメーターテストから得ることができ、あるいは、モーター要素2104によってモデル化されるモーターの設計の有限要素解析(FEA)から得ることもできる。実施形態によっては、このデータは、d軸電流LUT及びq軸電流LUTのような1つ以上のLUTの形で、モーター要素2104に記憶される場合がある。電気モーター駆動システムモデル2000の実行中に、d軸電流LUTは、d軸電流値(i)を、q軸磁束リンケージ値(λ)及びd軸磁束リンケージ値(λ)の関数として提供することができる。q軸電流LUTは、q軸電流値(i)を、q軸磁束リンケージ値(λ)及びd軸磁束リンケージ値(λ)の関数として提供することができる。電気モーター駆動システムモデル2000の実行中に、モーター要素2104は、1つ以上のLUT内のデータを使用して、モーター要素2104の出力を計算することができる。
【0185】
モーターコントローラ要素2202は、非線形d軸及びq軸基準電流データを、モータートルク、モーター速度、及びDCリンク電圧(図22のBusVolt)の関数として含む場合がある。このデータは、物理的モーターのダイナモメーターテストから得ることができ、あるいは、モーターの設計の有限要素解析(FEA)から得ることもできる。このデータは、d軸基準電流LUT及びq軸基準電流LUTのような1つ以上のLUTの形で、モーターコントローラ要素2202に記憶される場合がある。電気モーター駆動システムモデル2000の実行中に、モーターコントローラ要素2202は、1つ以上のLUT内のデータを使用して、モーターコントローラ要素2202の出力を計算することができる。実施形態によっては、モーターコントローラ要素2202は、トルクコマンドをローター速度コマンド及びローター速度の関数として計算する速度コントローラ機能を、任意選択で含む場合がある。モーターコントローラ要素2202は、d軸基準電流LUT及びq軸基準電流LUTを使用して、d軸電流コマンド及びq軸電流コマンドを、モーター速度及びトルクコマンドの関数として計算することができる。トルクコマンドは、任意選択の速度コントローラによって決定されてもよいし、あるいは、モーターコントローラ要素2202に直接入力されてもよい。二つの比例積分(PI)制御ループは、計算されたd軸電流コマンド及びq軸電流コマンド、ならびに、例えばモーター要素2104によって出力されたモーターのd軸電流値及びq軸電流値を受け取り、d軸電圧コマンド及びq軸電圧コマンドを計算することができる。
【0186】
PI制御ループは、非線形モーターデータを、d軸磁束リンケージLUT及びq軸磁束リンケージLUTの形で含む場合がある。これらのLUTは、d軸相互結合項及びq軸相互結合項を決定するのに使用される場合がある。これら2つの相互結合項は、「相互結合分離制御」の一環として、d軸電圧コマンド及びq軸電圧コマンドに追加される場合がある。PI制御ループによって決定されたd軸電圧コマンド及びq軸電圧コマンドは、所望のトルクを達成するために、モーターを制御するためのステータ位相電圧に変換される場合がある。決定されたステータ位相電圧コマンドは、モーターモデル2002に提供される場合がある。
【0187】
説明したように、実施形態によっては、モーター要素2104及びモーターコントローラ要素2202は、6つのLUTを含み、及び/又は6つのLUTにアクセスする場合がある。例えば、モーター要素2104は、モデル化されているモーターのd軸電流及びq軸電流を、モーターのd軸磁束及びq軸磁束の関数として出力する2つのLUTを含み、及び/又はそのような2つのLUTにアクセスする場合がある。モーターコントローラ要素2202は、4つのLUTを含み、及び/又は4つのLUTにアクセスする場合がある。2つのLUTは、d軸制御基準電流及びq軸制御基準電流を、モーター速度及び所望のトルクの関数として出力することができる。残りの2つのLUTは、d軸磁束リンケージ及びq軸磁束リンケージを、モーターのd軸電流及びq軸電流の関数として出力することができる。電流インデックスは、「状態」とみなすことができる。つまり、この特定の瞬間に、モーターの電流値は、このid値及びこのiq値であり、LUTは、d軸及びq軸について、対応する磁束リンケージ値を提供する。モーターコントローラ要素2202にとって、d軸電流値及びq軸電流値は、モーターコントローラ要素2202が達成しようとする「制御基準」であってよい。モーター要素2104に含まれるLUTのd軸電流値及びq軸電流値も、この場合、磁束リンケージLUTから逆マッピングされた「状態」とみなすことができる。
【0188】
d軸及びq軸の基準電流データ(id/iq)は、ダイナモメーターテスト又はFEAから得られた特性データを使用する、規則に基づく最適化ルーチンによって導出される場合がある。id/iq制御基準データを導出するためのツールの一例は、The MathWorks, Inc.の Model-Based Calibration(MBC)ツールボックスでる。磁束リンケージとトルクのデータ、ならびに、モーターの電流、電圧、速度制限情報をMBCツールボックスに入力すると、MBCツールボックスは、id/iq電流制御基準LUTを生成することができる。
【0189】
モーターコントローラ要素2202は、モーター要素2104によってモデル化されたモーターの磁束リンケージデータ、及び対応するid/iq電流基準データのようなデータを含むため、モーターコントローラ要素2202(及びモーターコントローラモデル2004)は、モーター要素2104(及びモーターモデル2002)に適合される。
【0190】
実施形態によっては、モーター要素2104は、隠し要素として実施される場合がある。隠し要素は、マスクを使用して、例えば隠し要素に含まれるモデル要素のような、その隠し要素の内容を隠すことができる。そのため、隠し要素のユーザーは、隠し要素を編集することができない。隠し要素の一例は、Simulink(登録商標)モデリング環境の隠しサブシステムである。隠し要素は、モデル内で、固有のパラメータダイアログボックスを有する極小要素のように見える。ユーザーは、ダイアログボックスに所望の値を入力することで、隠し要素をパラメータ化することができる。
【0191】
図23は、一つ又は複数の実施形態による、三相PMモーター要素2104のための例示的ユーザーインターフェース(UI)2300を示す概略図である。UI2300は、ダイアログウィンドウの形態であってもよく、情報又はデータを受け取り、及び/又は表示するための複数のユーザーインターフェース要素を含む場合がある。ダイアログ2300は、モーター要素2104の種々のパラメータに値を設定するための1つ以上のユーザーインターフェース要素を含む場合がある。例えば、ダイアログ2300は、シミュレーションタイプを選択するためのドロップダウンメニュー2302と、ポート設定を選択するためのドロップダウンメニュー2304とを含む場合がある。選択できるシミュレーションタイプには、連続(選択中)と、離散とが含まれ得る。選択できるポート設定には、速度(選択中)と、トルクとが含まれ得る。ダイアログ2300は、メモリ最適化ルックアップテーブル(LUT)を有効化又は無効化するためのチェックボックス2306を含む場合がある。ダイアログ2300は、1つ以上のルックアップテーブル(LUT)で使用されるデータを入力するためのデータ入力フィールド2308a~2308dを含む場合がある。データは、ベクトルとして入力されてもよく、d軸磁束、q軸磁束、d軸電流、及びq軸電流を表す場合がある。ダイアログ2300は、ステータ位相抵抗を受け取るためのデータ入力フィールド2310を含む場合がある。ダイアログ2300は、モーターの磁極対の数を受け取るためのデータ入力フィールド2312と、初期磁束を受け取るためのデータ入力フィールド2314と、及びローターの初期の機械的位置を受け取るためのデータ入力フィールド2316とを含む場合がある。
【0192】
実施形態によっては、磁束ベースのPMモーターコントローラ要素2202は、隠しサブシステムや隠しモデルのような隠し要素として実施されてもよい。
【0193】
図24は、一つ又は複数の実施形態による、磁束ベースのPMモーターコントローラ要素2202のための隠しダイアログ2400の一例を示す概略図である。ダイアログ2400は、制御タイプを指定するためのドロップダウンメニュー2404を有するブロックオプション領域2402を含む場合がある。選択できるオプションには、トルク制御(選択中)と速度制御とが含まれ得る。ダイアログ2400は、パラメータ領域2406をさらに含む場合がある。パラメータ領域2406は、モーターパラメータタブ2408、電流コントローラタブ2410(選択中)、及び電気的損失タブ2412に編成される場合がある。電流コントローラタブ2410は、コントローラ要素2102の種々のパラメータに値を設定するための複数のデータ入力フィールドを含む場合がある。例えば、電流コントローラタブ2410は、「トルク制御のためのサンプル時間」パラメータに値を設定するための数値入力ボックス2414と、「D軸比例ゲイン」パラメータを設定するための数値入力ボックス2416と、「Q軸比例ゲイン」パラメータを設定するための数値入力ボックス2418と、「D軸積分ゲイン」パラメータを設定するための数値入力ボックス2420と、「Q軸積分ゲイン」パラメータを設定するための数値入力ボックス2422とを含む場合がある。また、これらの数値入力ボックスのうちの1つ以上に種々の記号を入力し、入力した記号に数値を関連付けることによって、値を指定してもよい。
【0194】
電流コントローラタブ2410は、コントローラ要素2102によって使用されるLUTに種々の値を入力するためのデータ入力ボックスをさらに含む場合がある。例えば、電流コントローラタブ2410は、「速度ブレークポイントのベクトル」を設定するためのデータ入力ボックス2424と、「トルクブレークポイントのベクトル」を設定するためのデータ入力ボックス2426と、「対応するd軸電流基準」を設定するためのデータ入力ボックス2428と、「対応するq軸電流基準」を設定するためのデータ入力ボックス2430とを含む場合がある。
【0195】
説明のために、例示的実施形態は、The MathWorks,Inc.のPowertrain Blockset(商標)で使用可能な特定の所定のブロックを含むものとして説明される。ただし、本開示が、他のブロック又はモデル要素を用いて構築された他のモーターモデル及び/又はコントローラモデルと共に使用されてもよいこと、とりわけ、例えば、MapleSim物理モデリングシミュレーションツール、ペンシルベニア州キャノンズバーグにあるANSYS,IncからのSimplorerシミュレーションプログラム、スイス国チューリッヒにあるPlexim GmbHのPLECSツール、AVL BOOSTモデリングシミュレーションツール、LabVIEW(登録商標)仮想機器プログラミングシステム、及びNI MatrixXモデリング環境のような他のモデリング環境の他のブロック又はモデル要素を用いて構築された他のモーターモデル及び/又はコントローラモデルと共に使用されてもよいことを、理解すべきである。
【0196】
例として、モーターモデル2002は、80キロワット(kW)のPMSM電気モーターをモデル化するために、ユーザーによって作成されたものであってもよい。例えば、モーターモデル2002は、80kWのPMSMモーターについて、例えば、ダイナモメーターテスト及び/又はFEAのいずれかによって得られたデータを含む場合がある。同様に、モーターコントローラモデル2004は、80kWのPMSM電気モーターを制御するように設計されたコントローラをモデル化するために、ユーザーによって作成されたものであってもよい。また、モーターコントローラモデル2004は、データをさらに含む場合があり、このデータも、ダイナモメーターテスト及び/又はFEAを使用して得られたものである場合がある。
【0197】
80kWのモーターモデルとモーターコントローラモデルを作成した後、ユーザーが、類似の非線形挙動を有する異なるサイズの磁束ベースのPMSMモーターモデル、及びその異なるサイズのモーターモデルに適合するコントローラモデルを評価したいと考えた場合を仮定する。例えば、ユーザーが、200kWの磁束ベースのPMSMモーターモデル、及びそれに適合するコントローラモデルを評価したいと考えた場合を仮定する。FEAやダイナモメーターテストを使用して、200kWのモーターについて新しいデータを取得するには、時間とコストがかかることがある。例えば、ダイナモメーターテストでは、物理的モーターを製造し、テストするために、それをダイナモメーターシステムに取り付ける必要がある。モーターを製造し、ダイナモメーターシステムで動かすには、時間とコストがかかる。FEAでは、少なくともステータとローターの幾何形状を含む詳細なモータートポロジ設計を作成する必要があり、通常、1つ以上のCAE(コンピュータ支援技術)ツールが使用されるが、こうしたツールは高価であり、使用するには、かなりの訓練を必要とする。また、そのような設計を作成し、評価するには、時間もかかる。
【0198】
しかしながら、モデル縮尺変更ツール214は、基準モデルと呼ばれる元の80kWのモーターモデル2002及びモーターコントローラモデル2004を自動的に縮尺変更し、縮尺変更されたモデルと呼ばれる200kWのモーターモデル及び適合するモーターコントローラモデルを作成することができる。この縮尺変更プロセスにおいてユーザーは、例えば200kWモーターのような新しいサイズのモーター及びそれに適合するコントローラについて、いかなる新しいデータを取得することも必要としない場合がある。
【0199】
実施形態によっては、ユーザーは、モーターモデル2002及びモーターコントローラモデル2004を新しいサイズのモデルに縮尺変更するために、モデル縮尺変更ツール214に対し、1つ以上のコマンドを発行する場合がある。これら1つ以上のコマンドは、例えばモデリング環境214のためのデスクトップ環境内から、テキスト形式で、又はグラフィカルに入力される場合がある。例えば、ユーザーは、例えば、マウスのようなポインティングデバイスを使用して、「モーターサイズ変更」モデル要素2016を選択することができる。「モーターサイズ変更」モデル要素2016は、基準モーターモデル及び基準コントローラをサイズ変更されたモーターモデル及びサイズ変更されたコントローラモデルに自動的に縮尺変更するために、モデル縮尺変更ツール214によって実施される手順を表現し、及び/又は具現化することができる。
【0200】
図25A図25Dは、一つ又は複数の実施形態による、モーターモデル2002及びモーターコントローラモデル2004のような、電気モーターモデル及び適合するコントローラモデルを縮尺変更する例示的方法のフロー図の各部分を示す図である。図25A図25Dのフロー図は、例示のみを目的としている。実施形態によっては、1つ以上のステップが省略されてもよく、追加のステップが追加されてもよく、ステップの順序が変更されてもよく、及び/又は図25A図25Dの矢印によって示される1つ以上のシーケンスが省略されてもよい。
【0201】
ステップ2502に示されるように、モデル縮尺変更ツール214は、1つ以上の縮尺変更係数を受け取ることができる。本明細書に記載されるように、1つ以上の縮尺変更係数は、サイズ変更されたモーターのサイズと元のモーターのサイズとの間の無次元の比率であってもよい。また、ステップ2504で示されるように、モデル縮尺変更ツール214は、サイズ変更されたモーターの1つ以上の属性又は特性を受け取ることができる。また、ステップ2506に示されるように、モデル縮尺変更ツール214は、1つ以上の縮尺変更係数を導出することができる。縮尺変更係数、及び属性/特性は、モデル化されるモーター及び適合するコントローラの新しいサイズを示す場合がある。実施形態によっては、受け取られる属性/特性には、サイズ変更されたモーターの出力及びインバータ側直流(DC)リンク電圧が含まれる場合があり、受け取られ又は導出される1つ以上の縮尺変更係数には、軸方向縮尺変更係数(K)、半径方向縮尺変更係数(K)及び巻取係数(K)のうちの1つ以上が含まれる場合がある。電気モーターは、多くの場合、軸方向の長さと、直径とを有する円筒形の形を有している。軸方向縮尺変更係数(K)は、基準モーターの軸方向長さに対する、縮尺変更されたモーターの軸方向長さの比率を表すことができる。例えば、長さLの基準モーターの場合、縮尺変更されたモーターの長さは、K×Lになる場合がある。軸方向縮尺変更係数は、モーター軸に沿ったモーターのコアの軸方向の長さの変化を表すことができる。実施形態によっては、ステータスタック、ロータースタック、及び磁石の軸方向の長さは、全て同じ比率で変更される場合がある。半径方向縮尺変更係数(K)は、基準モーターの断面に対する、縮尺変更されたモーターの断面の比率を表すことができる。断面は、基準モーターのステータの外径に対する、縮尺変更されたモーターのステータの外径によって表される場合がある。例えば、基準モーターの直径がDである場合、縮尺変更されたモーターの直径は、K×Dになる場合がある。巻取係数(K)は、基準モーターのステータの1コイルあたりの巻線の巻き数Nを基準モーターのステータの巻線の平行線路の数aで割ったもの(例えば、N/a)に対する、縮尺変更後のモーターのステータの1コイルあたりの巻線の巻き数(N)を縮尺変更後のモーターのステータの巻線の平行線路の数(a)で割ったもの(例えば、N/a)の比率を表す場合がある。巻取係数は、基準モーターの直接的な縮尺変更でなくてもよい。むしろ、巻取は、巻線数及び線路を、サイズ変更されたモーターの最終的な出力及び端子電圧が設計要件を満たすように、調節することができる。上記の縮尺変更係数の導出は、縮尺変更されたモーターと基準モーターとの間で、断面幾何形状及びスロット電流密度に変更を加えないという要件に基づいている。これにより、縮尺変更されたモーターの磁界を確実に、基準モーターの磁界の正確な像にすることができる。1つ以上の縮尺変更係数は、無次元の値であってもよい。
【0202】
軸方向縮尺変更係数、半径方向縮尺変更係数、及び巻取縮尺変更係数の他に、すなわち、それらに加えて、他の縮尺変更係数を受け取り、又は導出してもよいものと理解すべきである。例えば、使用できる他の縮尺変更係数としては、一定の出力速度比率(CPSR)がある。一定の出力速度比率は、モーターの全負荷時の速度に対するモーターの出力が一定に保たれるときのモーターの最大速度の比率である。基準モーターは、第1のCPSR値を有する場合があり、縮尺変更されたモーターは、別のCPSR値を有する場合がある。CPSRは、集中パラメータモデル(動的モーターモデルとも呼ばれることもある)の縮尺変更係数として使用することができる。
【0203】
また、出力及びDCリンク電圧の他に、すなわち、それらに加えて、他の属性/特性を受け取ってもよい。例えば、他の属性/特性としては、トルク制限及び電流制限が挙げられる。これらの制限は、電気モーターの温度要件から得られる場合がある。
【0204】
実施形態によっては、他の情報のうち、1つ以上の縮尺変更係数及び1つ以上のサイズ変更属性/特性のような、サイズ変更手順を制御するための入力は、ダイアログのような1つ以上のユーザーインターフェース(UI)を介して入力される場合がある。例えば、「モーターサイズ変更」モデル要素2016の選択に応答して、UIエンジン202は、1つ以上のダイアログ又は他のユーザーインターフェース(UI)のような1つ以上のインターフェースを表示することができ、ユーザーは、それらのインターフェースを通して、基準モーターモデル2002及び基準コントローラモデル2004を縮尺変更する処理を命じたり、制御したりするための情報を入力することができる。
【0205】
図26は、一つ又は複数の実施形態による、基準モーターモデル2002及び基準コントローラモデル2004を縮尺変更するための情報を受け取るための例示的ユーザーインターフェース(UI)2600を示す概略図である。UI2600は、磁束ベースのモーターモデルについて、設計パラメータの値を受け取るように構成された要素を含む場合がある。
【0206】
例えば、UI2600は、「定格出力[W]」データ入力ボックス2602と、「定格直流リンク電圧[V]」データ入力ボックス2604と、「サイズ変更された出力[W]」データ入力ボックス2606と、「サイズ変更された直流リンク電圧[V]」データ入力ボックス2608と、「軸方向サイズ変更係数(Ka)」データ入力ボックス2610とを含む場合がある。また、UI2600は、「デフォルトに戻す」、「モーターをサイズ変更する」、及び「特性をプロットする」と名付けられた3つのコマンドボタン2612~2614をさらに含む場合がある。UI2600はさらに、「半径方向サイズ変更係数Kr」データ表示フィールド2616と、「巻取係数Kw」データ表示フィールド2618とを含む場合がある。
【0207】
ユーザーは、「定格出力」データ入力ボックス2606に、基準モーターの出力(例えば80e3(80kW))を入力する場合があり、「定格直流リンク電圧」データ入力ボックス2604に、基準モーターの直流ライン電圧(例えば500)を入力する場合がある。さらにユーザーは、「出力サイズ変更」データ入力ボックス2606に、サイズ変更されたモーターの出力、例えば、200e3ワット(200kW)を入力することができる。さらにユーザーは、データ入力ボックス2608に、サイズ変更されたモーターについて、DCリンク電圧の値を入力することができる。実施形態によっては、サイズ変更されたモーターのDCリンク電圧は、基準モーターと同じであってもよい。ユーザーは、「軸方向サイズ変更係数」データ入力ボックス2610に、軸方向サイズ変更係数の値(例えば、「1.2」)を入力することができる。モデル縮尺変更ツール214は、「モーターをサイズ変更する」コマンドボタン2613の選択に応答して、UI2600に入力された種々の値を用いて、基準モデルを縮尺変更することができる。実施形態によっては、基準モーターモデルの磁極対の数は、縮尺変更されたモーターモデルにおいても変更されない場合がある。そのため、実施形態によっては、UI2600は、磁極対のためのデータ入力ボックスを含まない場合がある。
【0208】
磁束ベースのPMSMモーター以外の他のタイプのモーターモデル及びコントローラを縮尺変更するための情報を受け取るために、他のUIが表示されてもよい。
【0209】
また、図26のUI2600は、例示のみを目的としており、本開示は、他のUIと共に使用されてもよいことを理解されたい。例えば、実施形態によっては、UIは、「設計パラメータ」タブ、「パラメータ(既存のモーター)」タブ、及び「パラメータ(サイズ変更されたモーター)」タブのような複数のタブを含む場合があり、それらが、UIの種々のインターフェース要素を編成する。「設計パラメータ」タブは、「忠実度レベル」のドロップダウンメニューを含む場合があり、このメニューから、ユーザーは、サイズ変更方法を選択することができる。選択できる方法の例には、「磁束ベースのPMSMモデル」、「マッピングモデル」、及び「動的モデル」がある。
【0210】
実施形態によっては、モデル縮尺変更ツール214は、出力特性及び軸方向縮尺変更係数(K)を使用して、半径方向縮尺変更係数(K)を導出する場合がある。モデル縮尺変更ツール214は、軸方向縮尺変更係数(K)、半径方向縮尺変更係数(K)及びDCリンク電圧特性を使用して、巻取係数(K)を導出する場合がある。例えば、モデル縮尺変更ツール214は、半径方向縮尺変更係数(K)を下記のように導出することができる。
【0211】
【数14】
【0212】
ここで
rescaledは、縮尺変更されたモーターの出力であり、例えば、この例では200kWであり、
baselineは、縮尺変更された基準モーターの出力であり、例えば、80kWであり、
は、軸方向縮尺変更係数である。
【0213】
モデル縮尺変更ツール214は、巻取縮尺変更係数(K)を下記のように導出することができる。
【0214】
【数15】
【0215】
ここで
dc rescaledは、縮尺変更されたモーターのDCリンク電圧であり、
dc baselineは、基準モーターのDCリンク電圧であり、
は、巻取縮尺変更係数であり、
は、軸方向縮尺変更係数である。
【0216】
DCリンク電圧はインバータへの入力であり、インバータはDCリンク電圧を変調してAC電圧を生成する。インバータがバッテリに直接接続されている場合、バッテリの端子電圧が、DCリンク電圧になる。
【0217】
実施形態によっては、モデル縮尺変更ツール214は、基準モーターを縮尺変更するためにユーザーが入力する値のうちの1つ以上に、1つ以上の制限を設ける場合がある。例えば、この例のように、ユーザーが基準モーターをより高出力のモーターに縮尺変更する場合、モデル縮尺変更ツール214は、ユーザーが入力する軸方向縮尺変更係数(K)の値を、1よりも大きい値に制限する場合がある。例えば、モーターモデルをより高出力のモーターモデルに縮尺変更する場合、モデル縮尺変更ツール214は、ユーザーが1よりも小さい軸方向縮尺変更係数(K)を入力することを禁止することができる。追加又は代替として、モデル縮尺変更ツール214は、ユーザーが1よりも小さい軸方向縮尺変更係数(K)を入力した場合、又は入力しようとした場合、警告メッセージを発することができる。さらに、モデル縮尺変更ツール214は、より高い出力のモーターへ縮尺変更する場合、結果として導出される半径方向縮尺変更係数(K)が1未満になるような値を出力レベル及び軸方向縮尺変更係数(K)としてユーザーが入力することを制限又は禁止することができる。この制限が実施される場合がある理由は、元のモーターよりも小さい半径しか有しないにもかかわらず元のモーターに比べて高い出力を有する新しいモーターを製造することは、直感に反し、及び/又は非現実的であろうと考えられるからである。追加又は代替として、モデル縮尺変更ツール214は、ユーザーに対して警告メッセージを発行してもよい。
【0218】
ユーザーが基準モーターモデルを、その基準モーターモデルよりも小さい出力しか有しない縮尺変更後のモーターモデルに縮尺変更しようとするときは、モデル縮尺変更ツール214は、ユーザーが1よりも大きい軸方向縮尺変更係数を入力することを制限又は禁止してもよい。また、モーター縮尺変更ツール214は、結果として導出される半径方向縮尺変更係数(K)が1よりも大きくなるような出力レベル及び軸方向縮尺変更係数(K)への値の入力を、制限又は禁止することができる。この場合、元のモーターよりも大きな半径を有するにもかかわらず元のモーターに比べて低い出力しか持たない新しいモーターを製造することは、直感に反し、及び/又は非現実的であろうと考えられる。追加又は代替として、モデル縮尺変更ツール214は、ユーザーに対して警告メッセージを発行してもよい。
【0219】
実施形態によっては、モデル縮尺変更ツール214は、縮尺変更されたモーターモデルの磁極の数を、基準モーターモデルと同じ数に制限する場合がある。サイズ変更されたモーターは、基準モーターと同じ断面幾何形状を有する場合がある。また、モーターの磁極対の数は、断面幾何形状によって決定される。そのため、サイズ変更されたモーターと基準モーターとの間で、断面幾何形状が同じままであれば、磁極対の数も同じままになる。
【0220】
他の実施形態では、ユーザーは、例えばK、K及びKのようなすべての縮尺変更係数の値を入力する場合がある。他の実施形態では、ユーザーが、K及び/又はKの値を入力する場合があり、モデル縮尺変更ツールは、残りの係数を導出する場合がある。
【0221】
ステップ2508に示されるように、パラメータ変更エンジン226は、1つ以上の縮尺変更係数を使用して、基準モーターモデル2002の1つ以上のパラメータを縮尺変更することができる。
【0222】
例えば、パラメータ変更エンジン226は、以下に示すように、縮尺変更後されたモーターモデルのステータ位相抵抗パラメータの新しい値を、基準モーターモデル2002のパラメータの値に基づいて、下記のように計算する場合がある。
【0223】
【数16】
【0224】
ここで
は、ステータ位相抵抗(オーム)である。
【0225】
パラメータ変更エンジン226は、縮尺変更されたモーターモデルの最大電流パラメータの新しい値を、基準モーターモデルのパラメータの値に基づいて、下記のように計算する場合がある。
【0226】
【数17】
【0227】
ここで
Iは、任意の電流変数である。例えば、上記の比率又は関係は、磁束リンケージテーブルの電流インデックスid及びiq、ならびにコントローラのLUTの基準電流インデックスを縮尺変更するのに使用される場合がある。インデックスは、ブレークポイントとも呼ばれることがある。上記の比率又は関係は、縮尺変更されたモーターの最大モーター電流を、基準モーターの最大モーター電流に基づいて縮尺変更するのにも、使用される場合がある。モーターの最大モーター電流は、モーターの鉄芯が特定の閾値までで飽和しないように、モーター設計者によって与えられる場合がある。
【0228】
ステップ2510に示されるように、ルックアップテーブル再形成エンジン228は、1つ以上の縮尺変更係数を使用して、モーターモデルの1つ以上のLUTを再形成することができる。例えば、ルックアップテーブル再形成エンジン228は、基準モーターモデル2002のd軸電流LUT及びq軸電流LUTを再形成することができる。前述のように、d軸電流LUTは、d軸電流値iを、q軸磁束値λとd軸磁束値λの関数として出力する場合がある。ルックアップテーブル再形成エンジン228は、基準d軸電流LUT及び基準q軸電流LUTの出力電流値及び入力ブレークポイントを、下記のように縮尺変更することができる。
【0229】
【数18】
【0230】
ここで
は、d軸についてのステータ電流であり、
は、q軸についてのステータ電流であり、
λは、d軸の磁束であり、
λは、q軸の磁束である。
【0231】
再形成の処理には、出力ブレークポイントパラメータ及び入力ブレークポイントパラメータの縮尺変更が含まれ得るだけでなく、非線形性が高い特定の領域にルックアップテーブルを集中させるための非線形ブレークポイント間隔再配列も含まれ得る。
【0232】
図27は、一つ又は複数の実施形態による、80kWのPMSMモーターをモデル化した基準モーターモデル2002について、d軸電流を得るためのルックアップテーブル2700の一例を示す概略図である。ルックアップテーブル2700は、q軸磁束(λ)軸2702と、d軸磁束(λ)軸2704と、d軸電流(i)軸2706とを含む。ルックアップテーブル2700は、テーブルデータ2708のプロットをさらに含む。
【0233】
図28は、一つ又は複数の実施形態による、200kWのPMSMモーターをモデル化した縮尺変更後のモーターモデルについて、d軸電流を得るための縮尺変更されたルックアップテーブル2800の一例を示す概略図である。ルックアップテーブル2800は、q軸磁束(λ)軸2802と、d軸磁束(λ)軸2804と、d軸電流(i)軸2806とを含む。ルックアップテーブル2800は、テーブルデータのプロット2808をさらに含む。
【0234】
大きいモーターほど高い電流値を生成し、高い磁束値を使用することが、見てとれるはずである。また、大きいモーターほど、それに対応して高いトルク値も生成する。
【0235】
ステップ2512(図25B)に示されるように、パラメータ変更エンジン226は、縮尺変更係数のうちの1つ以上を使用して、基準コントローラモデル2004の1つ以上のパラメータを縮尺変更することができる。
【0236】
例えば、パラメータ変更エンジン226は、縮尺変更されたコントローラモデルの新しい比例パラメータ(P)及び積分パラメータ(I)を、基準コントローラモデル2004についての値に基づいて、以下のように計算することができる。
【0237】
【数19】
【0238】
ここで
p_dは、d軸のKパラメータであり、
p_qは、q軸のKパラメータであり、
i_dは、d軸のKパラメータであり、
i_qは、q軸のKパラメータである。
【0239】
パラメータ変更エンジン226は、上に例示した比率又は式に加えて、又はそれとは異なる1つ以上の他の比率又は式を使用して、縮尺変更されたPパラメータ及びIパラメータを計算してもよいことを、理解すべきである。例えば、他の実施形態では、パラメータ変更エンジン226は、次の比率又は式のうちの1つ以上を使用する場合がある。
【0240】
【数20】
【0241】
実施形態によっては、これをさらに、以下に示すような一連の値に拡張してもよい。
【0242】
【数21】
【0243】
ここで、iは、正の実数、{i∈R: i>0}であってもよく、例えば、i=0.25、0.5、1,2、等であってよい。
【0244】
このアプローチにより、サイズ変更されたモーターについて、一連のレギュレータ利得が得られる。
【0245】
ステップ2514に示されるように、ルックアップテーブル再形成エンジン228は、1つ以上の縮尺変更係数を使用して、基準コントローラモデル2004の種々のLUTを再形成することができる。例えば、基準コントローラモデル2004は、「相互分離」制御機構の一部として、電流コントローラ内にd軸及びq軸の磁束リンケージテーブルを含む場合がある。ルックアップテーブル再形成エンジン228は、基準d軸及び基準q軸の磁束リンケージLUTのブレークポイントを、以下のように縮尺変更することができる。
【0246】
【数22】
【0247】
ここで
d_indexは、d軸電流入力ブレークポイントであり、
q_indexは、q軸電流入力ブレークポイントであり、
ψは、d軸の磁束リンケージであり、
ψは、q軸の磁束リンケージである。
【0248】
基準コントローラモデル2004は、d軸基準電流値をトルクとモーター速度の関数として決定するためのLUTと、q軸基準電流値を同じくトルクとモーター速度の関数として決定するためのLUTとをさらに含む場合がある。ルックアップテーブル再形成エンジン228は、基準コントローラモデル2004の種々のLUTのブレークポイントを、以下に示すように縮尺変更することができる。
【0249】
【数23】
【0250】
モーター速度は、縮尺変更されなくてもよい。
【0251】
図29は、一つ又は複数の実施形態による、80kWのPMSMモーターに適合する基準コントローラモデル2004について、q軸基準電流を得るためのルックアップテーブル2900の一例を示す概略図である。ルックアップテーブル2900は、d軸基準電流(iq_reference)軸2902と、モーター速度(ω)軸2904と、トルク軸2906とを含む。ルックアップテーブル2900は、テーブルデータのプロット2908をさらに含む。
【0252】
図30は、一つ又は複数の実施形態による、200kWのPMSMモーターに適合する縮尺変更されたコントローラモデルについて、q軸基準電流を得るための縮尺変更されたルックアップテーブル3000の一例を示す概略図である。ルックアップテーブル3000は、d軸基準電流(iq_reference)軸3002と、モーター速度(ω)軸3004と、トルク軸3006とを含む。ルックアップテーブル3000は、テーブルデータのプロット3008をさらに含む。
【0253】
ステップ2516に示されるように、モデル縮尺変更ツール214は、新しい縮尺変更されたパラメータ値及び再形成されたLUTを、1つ以上のファイル、コンテナオブジェクト、データオブジェクト、ワークスペース変数等のような1つ以上のデータ構造に記憶することができる。ステップ2518に示されるように、実施形態によっては、モデル縮尺変更ツール214は、縮尺変更されたモーターモデルパラメータのうちの1つ以上、及び/又は1つ以上の再形成されたモーターモデルLUTを出力する場合がある。また、ステップ2520(図25C)に示されるように、モデル縮尺変更ツール214は、縮尺変更されたコントローラモデルパラメータのうちの1つ以上、及び/又は1つ以上の再形成されたコントローラモデルLUTを出力する場合がある。
【0254】
ステップ2522に示されるように、モデル縮尺変更ツール214は、縮尺変更されたモーターモデル及び縮尺変更されたコントローラモデルを生成することができる。実施形態によっては、ステップ2522に示されるように、モデル縮尺変更ツール214は、縮尺変更プロセス中に、元の(基準)コントローラモデルを及び元の(基準)モーターモデルの構造設計を保持することができる。例えば、縮尺変更ツール214は、縮尺変更されたパラメータ及び再形成されたLUTを元の(基準)モーターモデル及び元の(基準)コントローラモデルに適用することにより、元の(基準)モーターモデル2002及び元の(基準)コントローラモデル2004を再利用することができる。すなわち、縮尺変更ツール214は、元の(基準)モーターモデル及び元の(基準)コントローラモデルにおいて、いかなる新しいモデル要素も追加せず、いかなる既存のモデル要素も削除せず、いかなる既存のモデル要素間の接続も変更しない場合がある。モデル縮尺変更ツール214は、元のパラメータ及び元のルックアップテーブルの代わりに、パラメータ変更エンジン226により計算された新しい縮尺変更されたパラメータ値、及びルックアップテーブル再形成エンジン228により生成された新しい再形成されたルックアップテーブルを使用することを、元の(基準)モーター及びコントローラモデルに命じることによって、縮尺変更プロセスを達成することができる。実施形態によっては、これは、モデル内で種々の記号によって参照されるワークスペース変数の数値を変更することを含む場合がある。
【0255】
他の実施形態では、モデル縮尺変更ツール214は、元の(基準)モーターモデル2002及び/又はコントローラモデル2004とは別に、新しい縮尺変更されたモーターモデル、及び/又は新しい縮尺変更されたコントローラモデルを生成してもよい。例えば、モデル縮尺変更ツール214は、元のモーターモデル2002及び元のコントローラモデル2004のコピーを作成する場合があり、新しい縮尺変更されたパラメータ値、及び新しい再形成されたルックアップテーブルを、新しい縮尺変更されたモーターモデル及びコントローラモデルに割り当てる場合がある。
【0256】
ステップ2524に示されるように、シミュレーションエンジン212は、縮尺変更されたモーターモデル、及び縮尺変更されたコントローラモデルを実行することができる。例えば、シミュレーションエンジン212は、モデルの実行中に、縮尺変更されたモーターモデルパラメータ、縮尺変更されたコントローラモデルパラメータ、再形成されたモーターモデルLUT、及び再形成されたコントローラモデルLUTを記憶している1つ以上のデータ構造内の情報を使用することができる。
【0257】
モデルの実行の代替又は追加として、ステップ2526に示されるように、コード生成器208は、縮尺変更されたモーターモデルの少なくとも一部についてコードを生成することができる。ステップ2528(図25D)に示されるように、縮尺変更されたモーターモデルについて生成されたコードは、縮尺変更されたコントローラモデルのハードウェアインザループ(HIL)テストに使用される場合がある。モデルの実行及び/又はHILテストの代替又は追加として、ステップ2530に示されるように、コード生成器208は、縮尺変更されたコントローラモデルについてコードを生成することができる。ステップ2532に示されるように、縮尺変更されたコントローラモデルについて生成されたコードは、例えば、乗り物で使用するための電子制御ユニット(ECU)上に、組み込みソフトウェアとして配備されてもよい。例えば、ECU又は他のターゲットハードウェアが製造されてもよく、生成されたコードは、ECU又はターゲットハードウェアにロードされる場合がある。ECU又はターゲットハードウェアは、乗り物に搭載される場合がある。
【0258】
実施形態によっては、縮尺変更されたコントローラモデル及び縮尺変更されたモーターモデルは、ダイナモメーターセットアップをモデル化するシミュレーションモデルに含まれる場合がある。
【0259】
図31は、一つ又は複数の実施形態による、縮尺変更されたモーターコントローラモデル及び縮尺変更されたモーターモデルをテストするための例示的モーターダイナモメーターモデル3100の概略図である。モーターダイナモメーターモデル3100は、ダイナモメーター制御モデル3102と、モーターシステムモデル3104と、ダイナモメーターモデル3106とを含む場合がある。モーターダイナモメーターモデル3100は、性能モニタ3108と、スコープブロックのような表示要素3110とをさらに含む場合がある。モーターシステムモデル3104は、縮尺変更されたモーターコントローラモデルと、縮尺変更されたモーターモデルとを含む場合がある。ダイナモメーター制御モデル3102は、モーターシステムモデル3104への入力刺激を提供することができる。例えば、ダイナモメーター制御モデル3102は、0から最大(max)速度までのような範囲にわたって、モーター速度入力を提供することができる。ダイナモメーター制御モデル3102は、その範囲にわたって、500rpmの増分量のような増分量で、速度を変化させることができる。各速度増分量は、ある時間間隔にわたって保持される場合がある。ダイナモメーター制御モデル3102は、トルク入力も提供することができる。例えば、ダイナモメーター制御モデル3102は、各速度増分量についての時間間隔の中で、トルク入力を0から最大トルクまで変化させ、0まで戻す場合がある。ダイナモメーターモデル3106は、トルク、電流のような、モーターモデル及び/又はモーター制御モデルの1つ以上の出力を監視することができる。実施形態によっては、ダイナモメーターモデル3106は、モーターの温度のような特性を決定することができ、例えば、計算することができる。
【0260】
モーターダイナモメーターモデル3100は、1つ以上のコマンドボタンを含む場合がある。例えば、モーターダイナモメーターモデル3100は、磁束ベースのPMSMモーターモデル及び適合するモーターコントローラボタンをサイズ変更するプロセスを開始するための「磁束ベースのPMSMをサイズ変更しコントローラを再較正する」という名前のコマンドボタン3112と、動的PMSMモーターモデル及び適合するモーターコントローラモデルをサイズ変更するプロセスを開始するための「動的PMSMをサイズ変更しコントローラを再較正する」という名前のコマンドボタン3114とを含む場合がある。モーターダイナモメーターモデル3100は、モーターダイナモメーターモデル3100を実行するための「性能テストを実行する」という名前のコマンドボタン3116をさらに含む場合がある。性能テストは、コマンド指定されたトルク及び速度の様々な動作点を通して実行される場合があり、測定トルクを判定することもできる。
【0261】
実施形態によっては、元の(基準)コントローラモデル及び元の(基準)モーターモデルについて、元のダイナモメーターシステムモデルが作成されている場合がある。モデル縮尺変更ツール214は、このダイナモメーターシステムモデルを再利用してもよい。モデル縮尺変更ツール214は、1つ以上の縮尺変更係数を使用して、モーターダイナモメーターモデル3100の1つ以上のパラメータを、縮尺変更されたモーターコントローラ及びモーターモデルのサイズに適合するように、縮尺変更することができる。例えば、モデル縮尺変更ツール214は、新しいモーターサイズを反映するために、トルクのテスト範囲を縮尺変更する場合がある。実施形態によっては、モデル縮尺変更ツール214は、モーターダイナモメーターモデル3100の速度のテスト範囲を維持する場合がある。これは、電気自動車の場合、モーターの速度範囲が比較的固定である場合があるからである。
【0262】
例えば、ダイナモメーター制御モデル3102は、複数の元のモータートルクコマンドポイントを含む場合がある。モデル縮尺変更ツール214は、ダイナモメーター制御モデル3102のための縮尺変更されたモータートルクコマンドポイントを以下のように生成する場合がある。
【0263】
【数24】
【0264】
モデル縮尺変更ツール214は、まず、上記の式及び/又は関係における基準モーターの最大達成可能トルクを使用して、縮尺変更されたモーターの最大達成可能トルクを決定することができる。基準モーターの最大トルクは、既知である場合がある。そのため、サイズ変更されたモーターの最大トルクを決定することができる。次に、モデル縮尺変更ツール214は、基準モーターダイナモメーターモデル3100の種々のトルクコマンドポイントを上記の関係によってサイズ変更することができる。
【0265】
あるいは、ユーザーは、別の場所で決定されたトルク制限を満たす新しいトルクコマンドポイントを入力してもよい。
【0266】
モーターダイナモメーターモデル3100は、モーターサイズパラメータ、慣性パラメータ、出力吸収パラメータ、熱遮断能力パラメータなどのパラメータを含む場合がある。これらの追加的パラメータも、縮尺変更される場合がある。
【0267】
縮尺変更後のモーターコントローラモデル及びモーターモデルに適合するように縮尺変更されたモーターダイナモメーターモデルを用いると、縮尺変更後のモーターダイナモメーターモデルを実行することにより、縮尺変更後のモーターコントローラモデル及びモーターモデルを複数のテストポイントでテストすることができる。縮尺変更されたモーターコントローラモデル及びモーターモデルのテスト中、モーター出力データは記録される場合があり、例えば、ログに記録される場合がある。実施形態によっては、縮尺変更後のモーターコントローラモデル及びモーターモデルのテスト中に得られたモーター出力データに基づいて、一組のルックアップテーブルが作成される場合がある。この一組のルックアップテーブルは、縮尺変更後のモーターモデルの性能挙動をモデル化するのに十分なデータを含む場合があり、静的モーター等価モデル要素に関連付けられる場合がある。
【0268】
図33A及び図33Bは、1つ以上の実施形態によるシミュレーション中に生成された、80kWモーターの性能テストから得られたデータのプロットの配置3300の一例を、200kWモーターと対比して示す部分的図である。プロットは、モーター速度3302a、3302b、トルクコマンドと実際のトルクの関係3304a、3304b、最大電流(I_max)3306a、3306b、及びモーター出力3308a、3308bのプロットを含む場合があり、これらはすべて、シミュレーション時間(例えばゼロから20秒まで)の関数として示されている。プロット3302a、3302bに示されるように、基準モーターのモーター速度と縮尺変更されたモーターのモーター速度は、両方とも、ゼロ(シミュレーション時間ゼロの時点)から8000(シミュレーション時間20秒の時点)回転/分(rpm)まで、直線的に増加している。プロット3304aに示されるように、基準モーターに対するトルクコマンドは、シミュレーション時間の全体にわたって、約420Nmで一定に保持されている。基準モーターによって生成されるトルクは、モーター速度がゼロから2000rpmまでの間は、トルクコマンドに適合しているが、モーター速度が約2000rpmを超えると、基準モーターによって生成されるトルクは、トルクコマンドを下回り始める。プロット3304bに示されるように、縮尺変更されたモーターに対するトルクコマンドは、シミュレーション時間の全体にわたって約1040(Nm)で一定に保持されている。基準モーターの場合と同様に、縮尺変更されたモーターによって生成されるトルクは、モーター速度がゼロから2000rpmまでの間は、トルクコマンドに適合しているが、モーター速度が約2000rpmを超えると、縮尺変更されたモーターによって生成されるトルクは、トルクコマンドを下回り始める。
【0269】
図34A及び図34Bは、1つ以上の実施形態によるシミュレーション中に生成された、図33A及び図33Bとは異なるトルク及び速度の動作点でテストされた、80kWモーターの性能テストから得られたデータのプロットの配置3400の一例を、200kWモーターと対比して示す部分的図である。プロットは、モーター速度3402a、3402b、トルクコマンドと実際のトルクの関係3404a、3404b、最大電流(I_max)3406a、3406b、及びモーター出力3408a、3408bのプロットを含む場合があり、これらはすべて、シミュレーション時間(例えば、ゼロから36秒まで)の関数として示されている。プロット3402a、3402bに示されるように、基準モーターのモーター速度と縮尺変更されたモーターのモーター速度は、両方とも、ゼロから6000rpmまで500rpmのステップで増加しており、各ステップが、約3秒間のシミュレーション時間だけ保持されている。プロット3404aに示されるように、モーター速度の各ステップについて、トルクコマンドは、ゼロから約420Nmまで直線的に上昇し、その後直線的に降下してゼロまで戻る。基準モーターによって生成されるトルクは、モーター速度がゼロから1500rpmまでの間は、トルクコマンドに適合しているが、モーター速度2000rpmからは、基準モーターによって生成されるトルクは、トルクコマンドに適合しなくなる。プロット3304bに示されるように、モーター速度の各ステップについて、トルクコマンドは、ゼロから約1040Nmまで直線的に上昇し、その後直線的に降下してゼロまで戻る。基準モーターの場合と同様に、縮尺変更されたモーターによって生成されるトルクは、モーター速度がゼロから1500rpmまでは、トルクコマンドに適合しているが、モーター速度2000rpmからは、縮尺変更されたモーターによって生成されるトルクは、トルクコマンドに適合しなくなる。
【0270】
実施形態によっては、静的モーター等価モデル要素は、ANSYS(登録商標) Maxwell、又はJSOL(登録商標) JMAG(登録商標)シミュレーション環境で作成されたモデルのような有限要素解析(FEA)から得られたデータを使用して、直接パラメータ化される場合がある。
【0271】
説明したように、元のモーターモデル及び縮尺変更されたモーターモデルは、モーター出力データを計算するために実行中に種々の操作又は機能を実行する物理的及び/又は動的モデルであってもよい。動的モデルのシミュレーション中には、種々の微分式が生成され、及び/又は解かれる場合がある。対照的に、静的モーター等価モデル要素は、動的モデルでなくてもよい。その代わりに、静的モーター等価モデル要素は、その一組のルックアップテーブルに含まれる情報のみに基づいて、モーター出力データを決定することができる。モデリング環境200は、静的モーター等価モデル要素を、縮尺変更されたモーターモデルに置き換えることができる。例えば、モデリング環境200は、ダイナモメーターシステムモデルから縮尺変更されたモーターモデルを削除し、縮尺変更されたコントローラモデルを静止モーター等価モデル要素に接続する場合がある。モデリング環境200は、静的モーター等価モデル要素を含むダイナモメーターシステムモデルを実行することができる。
【0272】
静的モーター等価モデル要素は、主にルックアップテーブルで構成されているため、縮尺変更されたモーターモデルよりも高速に実行することができ、縮尺変更されたモーターモデルよりも少ないメモリ領域しか使用しない場合がある。
【0273】
縮尺変更されたモーターコントローラモデル及びモーターモデルは、乗り物のバッテリ及び/又は電気部品のような、他のシステム部品のサイズの決定に使用されてもよいことを理解されたい。
【0274】
80kWのモーターモデル及びコントローラモデルの縮尺変更の追加又は代替として、ユーザーが、より低い出力の磁束ベースのPMSMモーターモデル及びコントローラモデルを評価したい場合を想定する。例えば、ユーザーが、20kWの磁束ベースのPMSMモーターモデル及び適合するコントローラモデルを評価したい場合を想定する。本開示によれば、モデル縮尺変更ツール214は、80kWのモーターモデル2002及びコントローラモデル2004を自動的に縮尺変更し、20kWのモーターモデル及び適合するコントローラモデルを作成することができる。200kWのモーターモデル及びコントローラモデルへの縮尺変更と同様に、より低い出力のモーターモデル及びコントローラモデルへ縮尺変更するために、ユーザーは、モデル化されることになる新しいサイズのモーター(例えば、20kWのモーター)及びそれに適合するコントローラについて、新しい非線形データを取得する必要はない。
【0275】
ここで、例えば、軸方向縮尺変更係数(K)は0.8であってもよく、新たな出力の入力値は20e3であってもよい。実施形態によっては、縮尺変更されたモーターについてのDCリンク電圧は、基準モーターと同じに保たれてもよい。
【0276】
図32は、一つ又は複数の実施形態による、20kWのPMSMモーターに適合する縮尺変更されたコントローラモデルについて、q軸基準電流を得るための縮尺変更されたルックアップテーブル3200の一例を示す概略図である。ルックアップテーブル3200は、q軸基準電流(iq_reference)軸3202と、モーター速度(ω)軸3204と、トルク軸3206とを含む。ルックアップテーブル3200は、テーブルデータ3208のプロットをさらに含む。
【0277】
実施形態によっては、モーターモデルは、同期リラクタンス(SynRM)モーター、永久磁石アシスト同期リラクタンスモーター、又は集中パラメータ/動的PMSMモーターのような他のタイプの電気モーターをモデル化するものであってもよく、コントローラモデルは、これらの他のタイプの電気モーターのためのコントローラをモデル化するものであってもよい。SynRMモーター又は永久磁石アシスト同期リラクタンスモーターを縮尺変更する場合、モデル縮尺変更ツール214は、PMSMモーターについて説明されたものと同じプロセスを使用することができる。集中パラメータモーターモデルは、磁束リンケージパラメータを含まなくてもよい。その代わりに、集中パラメータモデルは、d軸インダクタンスパラメータ及びq軸インダクタンスパラメータのような1つ以上のインダクタンスパラメータを含む場合がある。モデル縮尺変更ツール214は、集中パラメータモデルの1つ以上のインダクタンスパラメータを以下のように縮尺変更することができる。
【0278】
【数25】
【0279】
ここで
は、d軸インダクタンスであり、
は、q軸インダクタンスである。
【0280】
以下の例は、本開示の種々の方法及び/又はシステムの1つ以上の態様を具現化したものである。これらの例は、非限定的な例である。実施形態によっては、異なる例の特徴が組み合わされる場合がある。実施形態によっては、各例の種々の特徴が変更され、又は取り除かれる場合がある。
【0281】
態様1.エンジンコントローラモデル及びエンジンモデルにアクセスし、前記エンジンコントローラモデル及び前記エンジンモデルが、実行可能であり、前記エンジンコントローラモデルが、元のコントローラパラメータ及び元のコントローラルックアップテーブルを含み、前記エンジンモデルが、元のエンジンパラメータ及び元のエンジンルックアップテーブルを含み、前記エンジンモデルが、実行中に所与のサイズの元のエンジンの動作をシミュレートするものであり、
前記元のエンジンの前記所与のサイズからサイズ変更されたエンジンの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記1つ以上の縮尺変更係数に基づいて、前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間における複数の比率を決定し、
前記複数の比率に基づいて、前記元のコントローラパラメータを変更することにより、縮尺変更されたコントローラパラメータを生成し、
前記複数の比率に基づいて、前記元のエンジンパラメータを変更することにより、縮尺変更されたエンジンパラメータを生成し、
前記複数の比率に基づいて、前記元のコントローラルックアップテーブルを変更することにより、再形成されたコントローラルックアップテーブルを作成し、
前記複数の比率に基づいて、前記元のエンジンのルックアップテーブルを変更することにより、再形成されたエンジンルックアップテーブルを作成し、
前記プロセッサによって、前記縮尺変更されたコントローラパラメータ、前記縮尺変更されたエンジンパラメータ、前記再形成されたコントローラルックアップテーブル、及び前記再形成されたエンジンルックアップテーブルを使用して、前記エンジンコントローラモデル及び前記エンジンモデルを実行することにより、前記新しいサイズの前記サイズ変更されたエンジンの動作をシミュレートすること
を含む方法。
【0282】
態様2.前記1つ以上の縮尺変更係数は、最大エンジン出力及びエンジンの気筒数を含む、態様1に記載の方法。
【0283】
態様3.前記複数の比率は、
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジン速度の第1の比率、
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジントルクの第2の比率、
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジン排気量の第3の比率、又は
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジン出力の第4の比率
のうちの少なくとも1つを含む、先行する態様の何れか1つに、特に態様1に記載の方法。
【0284】
態様4.前記元のエンジンパラメータは、エンジン容積特性についての第1のエンジンパラメータを含み、前記縮尺変更されたエンジンパラメータを生成することは、前記第1のパラメータを少なくとも前記第2の比率の関数として変更することを含む、先行する態様の何れかに、特に態様3に記載の方法。
【0285】
態様5.前記元のエンジンパラメータは、エンジン面積特性についての第2のエンジンパラメータを含み、前記縮尺変更されたエンジンパラメータを生成することは、前記第2のパラメータを少なくとも前記第4の比率の関数として変更することを含む、先行する態様の何れかに、特に態様3に記載の方法。
【0286】
態様6.前記元のエンジンルックアップテーブルのうちの1つ以上が、エンジン速度についての第1のブレークポイントと、エンジントルク、噴射燃料質量、又は正規化シリンダ空気チャージについての第2のブレークポイントとを含み、前記再形成されたエンジンルックアップテーブルを作成することは、前記第1のブレークポイントを少なくとも前記第1の比率の関数として変更し、前記第2のブレークポイントを少なくとも前記第2の比率の関数として変更することを含む、先行する態様の何れかに、特に態様3に記載の方法。
【0287】
態様7.前記元のエンジンルックアップテーブルのうちの1つ以上が、テーブル配列データをさらに含み、
前記方法は、
前記テーブル配列データを前記複数の比率のうちの少なくとも1つによって変更すること
をさらに含む、先行する態様の何れかに、特に態様6に記載の方法。
【0288】
態様8.前記実行することは、
前記エンジンコントローラモデルによって、縮尺変更されたエンジンコマンドを生成すること、及び
前記エンジンモデルによって、縮尺変更されたエンジン出力データを生成すること
を含む、先行する態様の何れかに、特に態様1に記載の方法。
【0289】
態様9.前記元のエンジンルックアップテーブルは、前記所与のサイズの前記元のエンジンについての排気放出物データを含む第1のテーブルを含み、前記再形成されたエンジンルックアップテーブルを作成することは、前記第1のテーブルを、前記新しいサイズの前記サイズ変更されたエンジンについての新しい排気放出物データを表すように再形成することを含む、先行する態様の何れかに、特に態様1に記載の方法。
【0290】
態様10.前記エンジンコントローラモデル及び前記エンジンモデルを実行することは、縮尺変更されたエンジン出力データを生成するある範囲のテストポイントにわたって行われ、
前記方法は、
前記プロセッサによって、前記縮尺変更されたエンジン出力データから一組の静的エンジンルックアップテーブルを作成すること、及び
前記一組の静的エンジンルックアップテーブルを含むモデル要素を作成すること
を含み、前記モデル要素は、前記縮尺変更されたエンジンパラメータ及び前記再形成されたエンジンルックアップテーブルを使用する前記エンジンモデルと等価な静的エンジンを表す、先行する態様の何れかに、特に態様1に記載の方法。
【0291】
態様11.前記縮尺変更されたコントローラパラメータ及び前記再形成されたコントローラルックアップテーブルを有する前記エンジンコントローラモデルについてコードを生成すること
をさらに含み、前記コードは、電子制御ユニット(ECU)上に埋め込みソフトウェアとして配備されるように構成される、先行する態様の何れかに、特に態様1に記載の方法。
【0292】
態様12.前記縮尺変更されたエンジンパラメータ及び前記再形成されたエンジンルックアップテーブルを有する前記エンジンモデルの少なくとも一部についてコードを生成すること;及び
前記縮尺変更されたエンジンパラメータ及び前記再形成されたエンジンルックアップテーブルを有する前記エンジンモデルの前記少なくとも一部について生成された前記コードを使用して、前記縮尺変更されたコントローラパラメータ及び前記再形成されたコントローラルックアップテーブルを有する前記エンジンコントローラモデルのハードウェアインザループ(HIL)テストを実施すること
をさらに含む、先行する態様の何れかに、特に態様1に記載の方法。
【0293】
態様13.エンジンルックアップテーブルが、非線形エンジン挙動データを記憶するように構成され、及び/又は
コントローラルックアップテーブルが、所与のエンジン動作点についての最適な制御コマンドを記憶するように構成されている、先行する態様の何れかに記載の方法。
【0294】
態様14.ルックアップテーブルが、特に準定常エンジン動作条件及び動的エンジン動作条件下で、コントローラコマンド入力値を、前記エンジンに所望の応答をもたらすコントローラ出力に関連付け;及び/又は
ルックアップテーブルが、1つ以上の入力ブレークポイントデータセット及び出力テーブルデータを含む、先行する態様の何れかに記載の方法。
【0295】
態様15.入力ブレークポイントデータセットは、前記ルックアップテーブルの特定の次元への入力値のインデックスであり、及び/又は
ブレークポイントは、入力ブレークポイントデータセットに含まれる入力値として定義される、先行する態様の何れかに記載の方法。
【0296】
態様16.所与のエンジンアーキテクチャについての前記エンジンモデルのパラメータ、特に気筒数及び/又は排気量が、前記エンジンの前記サイズを定義する、先行する態様の何れかに記載の方法。
【0297】
態様17.コンピューティングデバイスによって実行されたときに、先行する態様の何れかに記載の方法を前記コンピューティングデバイスに実施させる命令が記憶された1つ以上の非一時的コンピュータ読み取り可能媒体。
【0298】
態様18.エンジンコントローラモデル及びエンジンモデルを記憶するメモリであって、前記エンジンコントローラモデル及び前記エンジンモデルが、実行可能であり、前記エンジンコントローラモデルが、元のコントローラパラメータ及び元のコントローラルックアップテーブルを含み、前記エンジンモデルが、元のエンジンパラメータ及び元のエンジンルックアップテーブルを含み、実行中の前記エンジンモデルが、所与のサイズの元のエンジンの動作をシミュレートするものである、メモリと、
前記メモリに結合されたプロセッサと
を含み、前記プロセッサは、
前記元のエンジンの前記所与のサイズからサイズ変更されたエンジンの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記1つ以上の縮尺変更係数に基づいて、前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間における複数の比率を決定し、
前記複数の比率に基づいて、前記元のコントローラパラメータを変更することにより、縮尺変更されたコントローラパラメータを生成し、
前記複数の比率に基づいて、前記元のエンジンパラメータを変更することにより、縮尺変更されたエンジンパラメータを生成し、
前記複数の比率に基づいて、前記元のコントローラルックアップテーブルを変更することにより、再形成されたコントローラルックアップテーブルを作成し、
前記複数の比率に基づいて、前記元のエンジンルックアップテーブルを変更することにより、再形成されたエンジンルックアップテーブルを作成するように構成され、さらに、
前記縮尺変更されたコントローラパラメータ、前記縮尺変更されたエンジンパラメータ、前記再形成されたコントローラルックアップテーブル、及び前記再形成されたエンジンプルックアップテーブルを使用して、前記エンジンコントローラモデル及び前記エンジンモデルを実行することにより、前記新しいサイズの前記サイズ変更されたエンジンの動作をシミュレートすること、又は
前記縮尺変更されたコントローラパラメータ及び前記再形成されたコントローラルックアップテーブルを含む前記エンジンコントローラモデルについてコードを生成すること
のうちの少なくとも一方を実施するように構成されている、装置。
【0299】
態様19.前記複数の比率は、
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジン速度の第1の比率、
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジントルクの第2の比率、
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジン排気量の第3の比率、又は
前記所与のサイズの前記元のエンジンと前記新しいサイズの前記サイズ変更されたエンジンとの間におけるエンジン出力の第4の比率
のうちの少なくとも1つを含む、態様18に記載の装置。
【0300】
態様20.エンジンコントローラモデル及びエンジンモデルにアクセスし、前記エンジンコントローラモデル及び前記エンジンモデルが、実行可能であり、実行中の前記エンジンモデルが、所与のサイズの元のエンジンの動作をシミュレートするものであり、前記エンジンコントローラモデルが、前記元のエンジンのモデルを含み、前記エンジンモデルに適合するフィードフォワードコントローラを実施するものであり、
前記元のエンジンの前記所与のサイズからサイズ変更されたエンジンの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記1つ以上の縮尺変更係数に基づいて、前記エンジンモデルを、前記新しいサイズの前記サイズ変更されたエンジンをシミュレートするように縮尺変更し、
前記1つ以上の縮尺変更係数に基づいて、前記エンジンコントローラモデルを、前記新しいサイズの前記サイズ変更されたエンジンをシミュレートするように縮尺変更された前記エンジンモデルに適合するように縮尺変更し、
前記エンジンコントローラモデルの縮尺変更、及び前記エンジンモデルの縮尺変更の後、前記エンジンコントローラモデル及び前記エンジンモデルを実行することにより、前記新しいサイズの前記サイズ変更されたエンジンの動作をシミュレートすること
を含む、方法。
【0301】
種々の実施形態に関する上記の説明は、例示及び説明を提供することを意図しているが、網羅的であることや、開示された正確な形態に開示を限定することを意図してはいない。種々の変更及び変形が、上記の教示に照らして可能であり、又は本開示の実施から得ることができる。例えば、フロー図に関して一連の行為を上で説明したが、実施形態によっては、行為の順序は変更されてもよい。また、行為、動作、及びステップは、追加の、すなわち他のモジュール又はエンティティによって実施されてもよく、これらのモジュール又はエンティティは、他のモジュール又はエンティティを形成するように、結合又は分離されてもよい。さらに、依存関係のない行為は、並行して実施されてもよい。また、本明細書で使用される「ユーザー」という用語は、特に断らない限り、例えばコンピュータ若しくはデータ処理システム、又はコンピュータ若しくはデータ処理システムの人間のユーザーを含むように広く解釈されることが意図されている。
【0302】
さらに、本開示の特定の実施形態は、1つ以上の機能を実現するロジックとして実施される場合がある。このロジックは、ハードウェアベースであっても、ソフトウェアベースであっても、又はハードウェアベースとソフトウェアベースとの組み合わせであってもよい。ロジックの一部又は全部は、1つ以上の有形の非一時的コンピュータ読み取り可能記憶媒体に記憶されてもよく、コンピュータ又はデータ処理システムによって実行され得るコンピュータ実行可能命令を含む場合がある。コンピュータ実行可能命令は、本開示の1つ以上の実施形態を実現する種々の命令を含む場合がある。有形の非一時的コンピュータ読み取り可能記憶媒体は、揮発性であっても、揮発性であってよく、例えば、フラッシュメモリ、ダイナミックメモリ、リムーバブルディスク、及び非リムーバブルディスクを含む場合がある。
【0303】
本明細書で使用されるいかなる要素、行為、又は指示も、明示的に記載されない限り、本開示にとって重要又は不可欠であると解釈されるべきではない。一つだけの項目を意図する場合、「1つの」又はそれに類する文言が使用される。また、「に基づく」は、そうでないことが明示されていない限り、「に少なくとも部分的に基づく」を意味することを意図している。
【0304】
上記の説明は、本開示の特定の実施形態に向けられたものである。しかしながら、それらの利点の一部又は全部を達成しつつ、説明した実施形態に対して他の変形や変更を行ってもよいことは明らかであろう。例えば、生成されたコードは、浮動小数点コアを含む組込みハードウェアのような他の組込みハードウェアと共に有利に利用される場合がある。したがって、添付の特許請求の範囲の目的は、そのような変形や変更もすべて本開示の真の思想及び範囲内に入るものとなるようにカバーすることである。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図7D
図7E
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
図17
図18
図19
図20
図21
図22
図23
図24
図25A
図25B
図25C
図25D
図26
図27
図28
図29
図30
図31
図32
図33A
図33B
図34A
図34B
【手続補正書】
【提出日】2023-01-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つ以上のコンピューティングデバイスによる方法であって、
モデリング環境内で、前記1つ以上のコンピューティングデバイスのうちの第1のコンピューティングデバイスによって、メモリから、電気モーターコントローラシミュレーションモデル及び電気モーターシミュレーションモデルにアクセスし、前記電気モーターコントローラシミュレーションモデル及び前記電気モーターシミュレーションモデルが、前記モデリング環境のシミュレーションエンジンによって実行可能であり、前記電気モーターシミュレーションモデルが、実行中に、所与のサイズの元の電気モーターの動作をシミュレートするものであり、前記電気モーターコントローラシミュレーションモデルが、前記電気モーターシミュレーションモデルに適合しており、
前記1つ以上のコンピューティングデバイスのうちの前記第1のコンピューティングデバイス又は第2のコンピューティングデバイスによって、前記元の電気モーターの前記所与のサイズからサイズ変更された電気モーターの新しいサイズへの変化を示す1つ以上の縮尺変更係数を受け取り、
前記1つ以上のコンピューティングデバイスのうちの前記第1のコンピューティングデバイス、前記第2のコンピューティングデバイス又は第3のコンピューティングデバイスによって、前記1つ以上の縮尺変更係数に基づいて、前記電気モーターシミュレーションモデルを、前記新しいサイズの前記サイズ変更された電気モーターをシミュレートするように縮尺変更し、
前記1つ以上のコンピューティングデバイスのうちの前記第1のコンピューティングデバイス、前記第2のコンピューティングデバイス、前記第3のコンピューティングデバイス又は第4のコンピューティングデバイスによって、前記1つ以上の縮尺変更係数に基づいて、前記電気モーターコントローラシミュレーションモデルを、前記新しいサイズの前記サイズ変更された電気モーターをシミュレートするように縮尺変更された前記電気モーターシミュレーションモデルに適合するように縮尺変更し、
前記電気モーターコントローラシミュレーションモデルの前記縮尺変更及び前記電気モーターシミュレーションモデルの前記縮尺変更の後、前記1つ以上のコンピューティングデバイスのうちの前記第1のコンピューティングデバイス、前記第2のコンピューティングデバイス、前記第3のコンピューティングデバイス、前記第4のコンピューティングデバイス又は第5のコンピューティングデバイスによって、前記電気モーターコントローラシミュレーションモデル及び前記電気モーターシミュレーションモデルを実行し、前記新しいサイズの前記サイズ変更された電気モーターの動作をシミュレートすること
を含む方法。
【請求項2】
前記元の電気モーターは、軸方向寸法及び半径方向寸法を有する円筒形の物理的形態を有し、
前記元の電動モーターは、巻線を備えたステータを有し、
前記1つ以上の縮尺変更係数は、軸方向縮尺変更係数、半径方向縮尺変更係数、又は巻取係数である、請求項に記載の方法。
【請求項3】
前記元の電気モーターは、軸方向寸法及び半径方向寸法を有する円筒形の物理的形態を有し、
前記元の電気モーターは、巻線を備えたステータを有し、
受け取った前記1つ以上の縮尺変更係数は、軸方向縮尺変更係数であり、前記方法は、
前記軸方向縮尺変更係数に基づいて、半径方向縮尺変更係数を導出し、
前記軸方向縮尺変更係数及び前記半径方向縮尺変更に基づいて、巻取係数を導出すること
をさらに含む、請求項に記載の方法。
【請求項4】
前記半径方向縮尺変更係数は、前記元の電気モーターの前記所与のサイズと前記サイズ変更された電気モーターの前記新しいサイズとの間における出力比率にさらに基づく、請求項に記載の方法。
【請求項5】
前記巻取係数は、前記元の電気モーターの前記所与のサイズと前記サイズ変更された電気モーターの前記新しいサイズとの間における直流(DC)リンク電圧比率にさらに基づく、請求項に記載の方法。
【請求項6】
前記電気モーターコントローラシミュレーションモデルは、比例(P)パラメータ、積分(I)パラメータ、又は微分(D)パラメータのうちの少なくとも1つを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記Pパラメータ、Iパラメータ又はDパラメータのうちの少なくとも1つを縮尺変更することを含む、請求項に記載の方法。
【請求項7】
前記電気モーターコントローラシミュレーションモデルは、比例(P)パラメータを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記Pパラメータを、前記軸方向縮尺変更係数及び前記巻取係数の関数として縮尺変更することを含む、請求項に記載の方法。
【請求項8】
前記電気モーターコントローラシミュレーションモデルは、積分(I)パラメータを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記Iパラメータを、前記軸方向縮尺変更係数、前記半径方向縮尺変更係数及び前記巻取係数の関数として縮尺変更することを含む、請求項に記載の方法。
【請求項9】
前記電気モーターシミュレーションモデルは、モーターデータを含む元のモータールックアップテーブルを含み、
前記電気モーターシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記元のモータールックアップテーブルを変更することを含む、請求項に記載の方法。
【請求項10】
前記元のモータールックアップテーブルは、前記元の電気モーターのダイナモメーターテスト、又は前記元の電気モーターの設計の有限要素解析(FEA)から得られた非線形データを含む、請求項に記載の方法。
【請求項11】
前記電気モーターコントローラシミュレーションモデルは、モーターデータを含む元のコントローラルックアップテーブルを含み、
前記電気モーターコントローラシミュレーションモデルを縮尺変更することは、前記1つ以上の縮尺変更係数に基づいて、前記元のコントローラルックアップテーブルを変更することを含む、請求項に記載の方法。
【請求項12】
前記元のコントローラルックアップテーブルは、トルクデータを含み、前記元のコントローラルックアップテーブルを変更することは、前記トルクデータを、前記軸方向縮尺変更係数及び前記半径方向縮尺変更係数の関数として縮尺変更することを含む、請求項11に記載の方法。
【請求項13】
前記電気モーターコントローラシミュレーションモデルを縮尺変更することの後、前記電気モーターコントローラシミュレーションモデルについてコードを生成すること
をさらに含み、前記コードが、電子制御ユニット(ECU)上に組み込みソフトウェアとして配備されるように構成されている、請求項に記載の方法。
【外国語明細書】