(57)【要約】【課題】複数のタスクのそれぞれをマルチコアのいずれかのコアに割り当てて車両制御を実行する電子制御装置において、車両の運転状態に応じて起動するコアの数を極力低減して電力消費を低減する。【解決手段】電子制御装置１０は、複数のタスク７０、８０〜８６のそれぞれをマルチコア３０、４０、５０のいずれかのコアに割り当てて車両制御を実行し、状態取得部７２と負荷算出部７４とスケジューリング部７６とコア制御部７８とを備えている。負荷算出部は、状態取得部が取得する車両の運転状態に応じて実行されるタスクに設定されている最大負荷を合計して合計負荷を算出する。スケジューリング部は、各コアで処理可能な車両制御の処理負荷と合計負荷とタスクの最大負荷とに基づいて、合計負荷を処理するために必要なコアにタスクを動的に割り当てる。コア制御部は、タスクを割り当てるコアを起動し、タスクを割り当てないコアを停止する。【選択図】図１
2019074851.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスク（７０、８０〜８６）のそれぞれをマルチコア（３０、４０、５０）のいずれかのコアに割り当てて車両制御を実行する電子制御装置（１０）であって、
前記車両の運転状態を取得するように構成された状態取得部（７２、Ｓ４１８）と、
前記状態取得部が取得する前記車両の運転状態に応じて実行される前記タスクに設定されている最大負荷を合計して、前記運転状態に応じた合計負荷を算出するように構成された負荷算出部（７４、Ｓ４００）と、
前記マルチコアの各コアで処理可能な前記車両制御の処理負荷と、前記運転状態に応じて前記負荷算出部が算出する前記合計負荷と、前記運転状態に応じて実行される前記タスクの前記最大負荷とに基づいて、前記合計負荷を処理するために必要な前記コアに前記運転状態に応じて実行される前記タスクを動的に割り当てるように構成されたスケジューリング部（７６、Ｓ４０２、Ｓ４１２）と、
前記スケジューリング部が前記運転状態に応じて実行される前記タスクを割り当てる前記コアを起動し、前記スケジューリング部が前記タスクを割り当てない前記コアを停止するように構成されたコア制御部（７８、Ｓ４０６、Ｓ４１６）と、
を備える電子制御装置。
【請求項２】
請求項１に記載の電子制御装置であって、
前記最大負荷の情報は前記タスクに組み込まれており、
前記負荷算出部は、前記運転状態に応じて前記タスクに組み込まれている前記最大負荷を合計して前記合計負荷を算出するように構成されている、
電子制御装置。
【請求項３】
請求項１または２に記載の電子制御装置であって、
前記負荷算出部は、アプリケーションが追加または削除または更新されると、前記運転状態に応じて前記タスクに組み込まれている前記最大負荷を合計して前記合計負荷を算出するように構成されている、
電子制御装置。
【請求項４】
請求項１から３のいずれか一項に記載の電子制御装置であって、
前記負荷算出部は、電源投入時において、すべての前記運転状態について前記合計負荷を算出するように構成されており、
前記スケジューリング部は、電源投入時において、前記処理負荷と、前記負荷算出部が前記運転状態に応じて算出する前記合計負荷のうち最大の前記合計負荷と、前記最大負荷とに基づいて、前記合計負荷を処理するために必要な前記コアに前記運転状態で実行される前記タスクを動的に割り当てように構成されている、
電子制御装置。
【請求項５】
請求項１から４のいずれか一項に記載の電子制御装置であって、
前記車両の運転状態は、少なくとも車両のイグニッションスイッチがオフの状態と、前記イグニッションスイッチがオンで車両が停車している状態と、前記イグニッションスイッチがオンで前記車両が走行している状態とである、
電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のタスクのそれぞれをマルチコアのいずれかのコアに割り当てて車両制御を実行する技術に関する。
【背景技術】
【０００２】
複数のタスクのそれぞれをマルチコアのいずれかのコアに割り当て、割り当てられたタスクをコアが実行することにより車両制御を実行する技術が知られている。例えば、特許文献１には、内燃機関の制御装置において、吸気バルブおよび排気バルブの少なくとも一方のバルブタイミングの可変機構の作動に関連する演算モデルを、マルチコアのいずかのコアに割り当てて実行させている。
【０００３】
そして、特許文献１に記載されている技術では、バルブタイミングの可変機構の作動が停止すると演算モデルを実行するコアを停止させることにより、制御装置の電力消費を低減しようとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０９２１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されている技術では、バルブタイミングの可変機構の作動に関連する演算モデルを実行するコアが予め静的に割り当てられている。したがって、車両制御を実行する制御装置の処理負荷が低減しても、バルブタイミングの可変機構の作動が停止するまで、演算モデルを実行するために割り当てられたコアを停止させることができないという課題がある。
【０００６】
本開示の一態様は、複数のタスクのそれぞれをマルチコアのいずれかのコアに割り当てて車両制御を実行する電子制御装置において、車両の運転状態に応じて起動するコアの数を極力低減して電力消費を低減する技術を提供することが望ましい。
【課題を解決するための手段】
【０００７】
本開示の一態様における電子制御装置は、複数のタスクのそれぞれをマルチコアのいずれかのコアに割り当てて車両制御を実行する電子制御装置であって、状態取得部と、負荷算出部と、コア制御部と、スケジューリング部と、を備えている。
【０００８】
状態取得部は、車両の運転状態を取得する。負荷算出部は、状態取得部が取得する車両の運転状態に応じて実行されるタスクに設定されている最大負荷を合計して、運転状態に応じた合計負荷を算出する。
【０００９】
スケジューリング部は、マルチコアの各コアで処理可能な車両制御の処理負荷と、運転状態に応じて負荷算出部が算出する合計負荷と、運転状態に応じて実行されるタスクの最大負荷とに基づいて、合計負荷を処理するために必要なコアに運転状態に応じて実行されるタスクを動的に割り当てる。
【００１０】
コア制御部は、スケジューリング部が運転状態に応じて実行されるタスクを割り当てるコアを起動し、スケジューリング部がタスクを割り当てないコアを停止する。
この構成によれば、運転状態に応じて実行されるタスクの最大負荷を合計した合計負荷を処理するために必要な数のコアが起動され、不要なコアは停止される。そして、車両の運転状態に応じて実行されるタスクをマルチコアのいずれかのコアに静的に割り当てて実行させるのではなく、起動するコアにタスクを動的に割り当てて実行させる。つまり、運転状態に応じて、同じタスクであっても、タスクを実行するコアは異なることがある。
【００１１】
これにより、１個のコアが極力多くのタスクを実行するようにスケジューリングできるので、運転状態に応じて実行されるタスクの最大負荷を合計した合計負荷を処理するために起動するコアの数を極力低減できる。その結果、マルチコアによる電力消費を低減できる。
【００１２】
尚、この欄および特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１３】
【図１】車載の電子制御装置を示すブロック図。
【図２】運転状態と各タスクの最大負荷と合計負荷との関係を示す対応図。
【図３】コアにタスクを割り当てた状態を示す説明図。
【図４】運転状態と各タスクの最大負荷と合計負荷との他の関係を示す対応図。
【図５】コアにタスクを割り当てた他の状態を示す説明図。
【図６】タスクの割り当て処理を示すフローチャート。
【発明を実施するための形態】
【００１４】
以下、本開示の実施形態を図に基づいて説明する。
［１．構成］
図１に示す車載の電子制御システム２は、センサ群４とアプリケーション変更装置６と電子制御装置１０とを備えており、車両の走行、表示機器、車両の内外との通信等を制御するシステムである。
【００１５】
センサ群４は、車速センサ、ブレーキセンサ、操舵角センサ、イグニッションスイッチセンサ等、車両の運転状態を検出するセンサを備えている。尚、イグニッションスイッチという用語は、車両の運転を開始するためのスイッチとして記載しているものであり、車両が駆動源として内燃機関を備えていることを限定するものではない。車両は、駆動源として、内燃機関だけを備えていてもよいし、電動モータだけを備えていてもよいし、内燃機関と電動モータとの両方を備えていてもよい。
【００１６】
アプリケーション変更装置６は、車両制御を実行するアプリケーションの追加、削除、更新等を実行する装置である。アプリケーション変更装置６は、車両とコネクタで接続される外部ツールであってもよいし、車外のサーバ等との無線通信によりアプリケーションの追加、削除、更新等を実行する車載装置であってもよい。
【００１７】
電子制御装置１０は、例えば、３個のコア３０、４０、５０と、各コアの電源をオン、オフする電源スイッチ３２、４２、５２と、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリ６０と、を備えるマイクロコンピュータ２０を備えている。半導体メモリを単にメモリとも言う。電源スイッチ３２、４２、５２として、パワートランジスタ等が使用される。
【００１８】
電子制御装置１０の各機能は、コア３０、４０、５０が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、メモリ６０が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。尚、電子制御装置１０は、１つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。
【００１９】
メモリ６０には、タスクとして、ＯＳタスク７０とメータタスク８０とナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６とが保持されている。各タスクは、必要なときにコア３０、４０、５０のいずれかにより実行される。ＯＳは、Operating Systemの略であり、ＨＵＤは、Head-Up Displayの略である。
【００２０】
各タスクには、コア３０、４０、５０のそれぞれが処理可能な負荷の大きさを１００とした場合に、車両の運転状態に応じて、各タスクを処理するために必要な最大負荷の大きさを示す負荷情報が組み込まれている。さらに、各タスクには、各タスクを実行するために必要なデータが組み込まれている。
【００２１】
ＯＳタスク７０として、状態取得部７２と負荷算出部７４とスケジューリング部７６とコア制御部７８とが機能する。状態取得部７２は、センサ群４から車両の運転状態として、車速、ブレーキペダルの操作量、操舵角、イグニッションスイッチのオン、オフ等を取得する。
【００２２】
負荷算出部７４は、状態取得部７２がセンサ群４から取得する車両の運転状態に応じて、図２または図４に示す対応図に基づいて、現在の車両の運転状態において処理されるタスクの最大負荷を合計して合計負荷を算出する。
【００２３】
図２および図４に示す各タスクの負荷の大きさを示す数字は、コア３０、４０、５０のそれぞれが処理可能な負荷の大きさを１００とした場合に、各タスクを処理するために必要な最大負荷の大きさを示している。
【００２４】
図２において、運転状態として、イグニッションスイッチがオフの場合には、合計負荷は５０である。運転状態としてイグニッションスイッチがオンであり車両が停車している場合には、合計負荷は１６０である。運転状態としてイグニッションスイッチがオンであり車両が走行している場合には、合計負荷は２００である。
【００２５】
スケジューリング部７６は、各コアで処理可能な車両制御の処理負荷と、車両の運転状態に応じて負荷算出部７４が算出する合計負荷と、各タスクの最大負荷とに基づいて、合計負荷を処理するために必要なコアに車両の運転状態に応じて実行されるタスクを動的に割り当てる。
【００２６】
コア制御部７８は、スケジューリング部７６がタスクを割り当てたコアの電源スイッチをオンにし、スケジューリング部７６がタスクを割り当てないコアの電源スイッチをオフにする。
【００２７】
例えば、図２において、運転状態として、イグニッションスイッチがオフの場合には、ＯＳタスク７０とメータタスク８０と通信タスク８６との最大負荷の合計負荷は５０であるから、タスクを割り当てるコアは１個でよい。この場合、スケジューリング部７６は、例えば、図３に示すように、ＯＳタスク７０とメータタスク８０と通信タスク８６とをコア３０に割り当てる。
【００２８】
コア制御部７８は、コア３０の電源スイッチ３２をオンにして起動し、コア４０、５０の電源スイッチ４２、５２をオフにして停止する。
また、運転状態としてイグニッションスイッチがオンであり車両が停車している場合には、ＯＳタスク７０とメータタスク８０とナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６との最大負荷の合計負荷は１６０である。
【００２９】
この場合、ＯＳタスク７０とメータタスク８０と通信タスク８６との最大負荷の合計負荷は１１０になるので、イグニッションスイッチがオフの場合と同じように、ＯＳタスク７０とメータタスク８０と通信タスク８６とをコア３０に割り当てることはできない。
【００３０】
そこで、スケジューリング部７６は、ＯＳタスク７０とメータタスク８０とＨＵＤタスク８４とをコア３０に割り当てる。ＯＳタスク７０とメータタスク８０とＨＵＤタスク８４との最大負荷の合計は８０であるから、１個のコア３０で処理できる。
【００３１】
そして、スケジューリング部７６は、ナビゲーションタスク８２と通信タスク８６とをコア４０に割り当てる。ナビゲーションタスク８２と通信タスク８６との最大負荷の合計は８０であるから、１個のコア４０で処理できる。
【００３２】
コア制御部７８は、コア３０、４０の電源スイッチ３２、４２をオンにして起動し、コア５０の電源スイッチ５２をオフにして停止する。
また、運転状態としてイグニッションスイッチがオンであり車両が走行している場合には、ＯＳタスク７０とメータタスク８０とナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６との最大負荷の合計負荷は２００である。
【００３３】
この場合、ＯＳタスク７０とメータタスク８０とＨＵＤタスク８４との最大負荷の合計負荷は１００になるので、スケジューリング部７６は、ＯＳタスク７０とメータタスク８０とＨＵＤタスク８４とをコア３０に割り当てる。
【００３４】
そして、スケジューリング部７６は、ナビゲーションタスク８２と通信タスク８６との最大負荷の合計は１００であるから、ナビゲーションタスク８２と通信タスク８６とをコア４０に割り当てる。
【００３５】
コア制御部７８は、コア３０、４０の電源スイッチ３２、４２をオンにして起動し、コア５０の電源スイッチ５２をオフにして停止する。
次に、図２に示すタスクの処理状態に対し、図４に示すように、新機能を有するタスクが追加された場合について説明する。
【００３６】
運転状態としてイグニッションスイッチがオフの場合には、新機能のタスクの最大負荷は０であり実行されないので、図５に示すように、スケジューリング部７６は、ＯＳタスク７０とメータタスク８０と通信タスク８６とをコア３０に割り当てる。
【００３７】
コア制御部７８は、コア３０の電源スイッチ３２をオンにして起動し、コア４０、５０の電源スイッチ４２、５２をオフにして停止する。
運転状態としてイグニッションスイッチがオンであり車両が停車している場合には、ＯＳタスク７０とメータタスク８０とナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６と新機能のタスクとの最大負荷の合計負荷は２００である。
【００３８】
この場合、ＯＳタスク７０とメータタスク８０と新機能のタスクとの最大負荷の合計負荷と、ナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６との最大負荷の合計タスクとは、同じ１００である。
【００３９】
そこで、スケジューリング部７６は、ＯＳタスク７０とメータタスク８０と新機能のタスクとをコア３０に割り当て、ナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６とをコア４０に割り当てる。
【００４０】
コア制御部７８は、コア３０、４０の電源スイッチ３２、４２をオンにして起動し、コア５０の電源スイッチ５２をオフにして停止する。
運転状態としてイグニッションスイッチがオンであり車両が走行している場合には、ＯＳタスク７０とメータタスク８０とナビゲーションタスク８２とＨＵＤタスク８４と通信タスク８６と新機能のタスクとの最大負荷の合計負荷は２５０である。
【００４１】
この場合、ＯＳタスク７０とメータタスク８０との最大負荷の合計負荷は８０であり、ナビゲーションタスク８２と通信タスク８６との最大負荷の合計負荷は１００であり、新機能のタスクとＨＵＤタスク８４との最大負荷の合計負荷は７０である。
【００４２】
そこで、スケジューリング部７６は、ＯＳタスク７０とメータタスク８０とをコア３０に割り当て、ナビゲーションタスク８２と通信タスク８６とをコア４０に割り当て、新機能のタスクとＨＵＤタスク８４とをコア５０に割り当てる。
【００４３】
コア制御部７８は、コア３０、４０、５０の電源スイッチ３２、４２、５２をオンにする。
［２．タスクの割り当て処理］
電子制御装置１０が実行するタスクの割り当て処理を図６に示すフローチャートに基づいて説明する。
【００４４】
電子制御装置１０に電源の供給が開始された直後は、車両の運転状態が不明であるから、車両の運転状態に応じて車両制御で実行されるタスクの最大負荷の合計負荷を算出できない。
【００４５】
そこで、電源の供給が開始された直後のＳ４００において負荷算出部７４は、合計負荷が最大になるときの運転状態を選択し、そのときのタスクの最大負荷の合計負荷を算出する。例えば図２において、イグニッションスイッチがオンであり車両が走行している運転状態の時の合計負荷が最大である。
【００４６】
後述するように、Ｓ４２０の判定がＹｅｓまたはＳ４２２の判定がＹｅｓのときにＳ４００が実行される場合、Ｓ４００において負荷算出部７４は、車両の運転状態に応じて、タスクの最大負荷の合計負荷を算出する。
【００４７】
Ｓ４０２においてスケジューリング部７６は、図２において合計負荷が２００になるときの運転状態に基づいて、ＯＳタスク７０とメータタスク８０とＨＵＤタスク８４とをコア３０に割り当て、ナビゲーションタスク８２と通信タスク８６とをコア４０に割り当てる。
【００４８】
Ｓ４０４においてコア制御部７８は、タスクを割り当てるために必要なコアの数に変更があるか、変更がある場合に数が増加するか減少するかを判定する。Ｓ４０４の判定で必要なコアの数に変更がない場合、処理はＳ４１８に移行する。
【００４９】
Ｓ４０４の判定で必要なコアの数が増加する場合、処理はＳ４０６に移行し、Ｓ４０４の判定で必要なコアの数が減少する場合、処理はＳ４１２に移行する。必要なコアの数の初期値は０であるから、電源の供給が開始された直後において初めてＳ４０４の判定が実行される場合、Ｓ４０４において必要なコアの数は増加すると判定される。したがって、処理はＳ４０６に移行する。
【００５０】
Ｓ４０６においてコア制御部７８は、スケジューリング部７６によりタスクが割り当てられ、タスクを処理するために必要なコアの電源スイッチをオンにしてコアを起動する。コアの起動が完了してＳ４０８の判定がＹｅｓになると、Ｓ４１０においてスケジューリング部７６は、コアに割り当てたタスクに処理を開始させ、処理をＳ４１８に移行する。
【００５１】
Ｓ４１２においてスケジューリング部７６は、Ｓ４０２のスケジューリングによりＳ４０４において必要なコアの数が減少したと判定されているので、実行されないタスクの実行を停止する。さらに、スケジューリング部７６は、必要なコアの数が減少して電源スイッチがオフにされるコアで実行されており、継続して実行する必要のあるタスクを、電源スイッチのオンが保持されてタスクの実行に必要なコアに移動する。
【００５２】
Ｓ４１４においてスケジューリング部７６は、必要なコアに割り当てられたタスクに処理を開始させる。そして、Ｓ４１６においてコア制御部７８は、必要なコアの数が減少したために不要となったコアの電源スイッチをオフにして停止させる。
【００５３】
Ｓ４１８において状態取得部７２は、センサ群４から車両の運転状態を取得する。Ｓ４２０の判定がＹｅｓであり、車両の運転状態が変化する場合、処理はＳ４００に移行する。この場合、Ｓ４００において負荷算出部７４は、車両の運転状態に応じたタスクの最大負荷の合計負荷を算出する。
【００５４】
Ｓ４２０の判定がＮｏであり、車両の運転状態が変化しない場合、Ｓ４２２において負荷算出部７４は、アプリケーションが追加または削除または更新されることによりアプリケーションが変更されるか否かを判定する。Ｓ４２２の判定がＮｏであり、アプリケーションが変更されない場合、処理はＳ４１８に移行する。
【００５５】
Ｓ４２２の判定がＹｅｓであり、アプリケーションが変更される場合、処理はＳ４００に移行する。この場合、Ｓ４００において負荷算出部７４は、変更されたアプリケーションから生成されるタスクに組み込まれた最大負荷に基づいて、合計負荷を算出する。
【００５６】
［３．効果］
以上説明した上記実施形態では、以下の効果を得ることができる。
（１）車両の運転状態に応じて実行されるタスクの最大負荷の合計負荷を算出し、合計負荷と、各タスクの最大負荷と、各コアの処理可能な処理負荷とに基づいて、実行されるタスクをコアに動的に割り当てる。
【００５７】
これにより、実行されるタスクの最大負荷を合計した合計負荷を処理するために必要な数のコアが起動され、不要なコアは停止されるので、合計負荷を処理するために起動するコアの数を極力低減できる。したがって、マルチコアによる電力消費を低減できる。
【００５８】
（２）タスクに車両の運転状態に応じた最大負荷を組み込むので、タスクの最大負荷を電子制御装置毎に設定する必要がない。
以上説明した本実施形態において、Ｓ４００が負荷算出部の処理に対応し、Ｓ４０２、Ｓ４１２がスケジューリング部の処理に対応し、Ｓ４０６、Ｓ４１６がコア制御部の処理に対応し、Ｓ４１８が状態取得部の処理に対応する。
【００５９】
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上記の実施形態に限定されることなく、以下のように種々変形して実施することができる。
【００６０】
（１）上記実施形態では、各コアに設置された電源スイッチをオフにすることによりコアの動作を停止させた。これに対し、各コアに供給するクロックを停止することによりコアの動作を停止させてもよい。
【００６１】
（２）電子制御装置１０がマルチコアとして搭載するコアの数は、上記実施形態の３個に限らず、複数であれば何個でもよい。
（３）車両制御を実行するタスクは、上記実施形態で説明したＯＳタスク７０、メータタスク８０、ナビゲーションタスク８２、ＨＵＤタスク８４、通信タスク８６に限るものではなく、車両制御を実行するものであればどのようなタスクでもよい。
【００６２】
（４）タスクの合計負荷を算出する車両の運転状態は、イグニッションスイッチがオフの状態と、イグニッションスイッチがオンで車両が停車している状態と、イグニッションスイッチがオンで車両が走行している状態とに限るものではなく、さらに細かく分類してもよい。
【００６３】
例えば、車両が駆動源として内燃機関と電動モータとを備えている場合、車両の走行状態を、内燃機関で走行している状態と、電動モータで走行している状態と、内燃機関と電動モータの両方で走行している状態とに分類してもよい。
【００６４】
（５）上記実施形態における一つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、一つの構成要素が有する一つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、一つの構成要素によって実現したり、複数の構成要素によって実現される一つの機能を、一つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００６５】
（６）上述した電子制御装置１０の他、当該電子制御装置１０を構成要素とする電子制御システム２、当該電子制御装置１０としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、電子制御方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００６６】
２：電子制御システム、１０：電子制御装置、３０、４０、５０：コア、７０：ＯＳタスク、７２：状態取得部、７４：負荷算出部、７６：スケジューリング部、７８：コア制御部、８０：メータタスク、８２：ナビゲーションタスク、８４：ＨＵＤタスク、８６：通信タスク
【図１】
2019074851.tif 000003
【図２】
2019074851.tif 000004
【図３】
2019074851.tif 000005
【図４】
2019074851.tif 000006
【図５】
2019074851.tif 000007
【図６】
2019074851.tif 000008