(57)【特許請求の範囲】
【請求項１】
複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームにおいて、
前記ミドルウェアにより前記動作環境が構築され、複数の前記アプリケーションソフトウェアが実行される処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行される際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路が形成されるハードウェアユニットとを有することを特徴とするハードウェアプラットフォーム。
【請求項２】
請求項１記載のハードウェアプラットフォームにおいて、前記ハードウェアユニットは、前記処理手段と接続し、前記特定アプリケーションソフトウェアを実行する第２の処理手段と、該第２の処理手段と接続し前記ハードウェア処理を行う前記演算回路が形成される実行手段とを有することを特徴とするハードウェアプラットフォーム。
【請求項３】
請求項１又は２記載のハードウェアプラットフォームにおいて、前記ミドルウェアはロボット向けミドルウェアであることを特徴とするハードウェアプラットフォーム。
【請求項４】
複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームを用いたハードウェアの操作方法において、
前記ハードウェアプラットフォームに、前記ミドルウェアにより前記動作環境を構築して、複数の前記アプリケーションソフトウェアを実行する処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行された際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路を形成するハードウェアユニットとを設けることを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【請求項５】
請求項４記載のハードウェアプラットフォームを用いたハードウェアの操作方法において、前記ハードウェアユニットに、前記処理手段と接続して前記ハードウェア処理を実行する第２の処理手段と、該第２の処理手段と接続し前記ハードウェア処理を行う前記演算回路が形成される実行手段とを設けることを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【請求項６】
請求項４又は５記載のハードウェアプラットフォームを用いたハードウェアの操作方法において、前記特定アプリケーションソフトウェアには、前記演算回路を形成する情報を予め設けておくことを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【請求項７】
請求項４〜６のいずれか１項に記載のハードウェアプラットフォームを用いたハードウェアの操作方法において、前記ミドルウェアにはロボット向けミドルウェアを使用することを特徴とするハードウェアプラットフォームを用いたハードウェアの操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のハードウェアと接続し、複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法に関する。
【背景技術】
【０００２】
近年、家庭や病院等で人間をサポートするホームロボット（サービスロボット）への関心が高まっている。ホームロボットの実現には、様々なハードウェアやソフトウェアの統合が必要である。しかし、その全てを独自開発することは事実上不可能である。そこで、例えば、ロボットオペレーティングシステム（ＲＯＳともいう）等のロボット向けミドルウェアを用いて、多様なオープンソースの活用を可能にして、開発の効率化を図っている。
また、ホームロボットは、人間との間で円滑なコミュニケーションを行う必要があり、例えば、非特許文献１、２に示すような画像認識や音声認識等の知的処理が求められている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】S.Lee and K.Horio:“Human Tracking using Particle Filter with Reliable  Appearance Model",Proc.of SICE Annual  Conference（SICE），pｐ1418‐1424,2013.
【非特許文献２】松原弘樹、田中宙夫、森江隆：”RGB-Dセンサにより検出される人の頭部・顔表面の３D構造を用いた人物検出・顔認識”、第2回インテリジェントホームロボティクス研究会予稿集、2015
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、画像認識や音声認識等の知的処理を行う場合、カメラやマイクロフォンから得られる多量の情報を短時間で処理する必要がある。しかし、ホームロボットに搭載される規模の演算処理装置（例えば、パーソナルコンピュータ）を用いたソフトウェア処理では、多量の情報を実時間処理（実際のコミュニケーションの進行に合わせて順次処理）することは困難である。
一方、専用の処理回路を用いた処理では、多量の情報を実時間処理することが可能になるが、ロボット向けミドルウェアにより構築された動作環境において、専用の処理回路を操作するには、ハードウェア記述言語を使用したプログラムが必要となり、高度な専門知識が要求されるという問題がある。そこで、専用の処理回路を作製する代わりに、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）内に専用の処理回路（デジタル回路）を形成して、多量の情報を実時間処理することが提案されている。しかしながら、ＦＰＧＡを用いる場合でも、ホームロボットに使用されるハードウェアに応じてロボット向けミドルウェア内の一部のソフトウェア（例えば、通信ソフトウェア等）を組み換える必要があり、制御システム全体を再構成することになる。このため、ＦＰＧＡは、使い勝手が非常に悪いという問題を有している。
【０００５】
本発明はかかる事情に鑑みてなされたもので、ミドルウェア上でアプリケーションソフトウェアを用いて、多量の情報処理を伴うハードウェアの操作を容易に行うことが可能なハードウェアプラットフォーム及びハードウェアプラットフォームを用いたハードウェアの操作方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的に沿う第１の発明に係るハードウェアプラットフォームは、複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームにおいて、
前記ミドルウェアにより前記動作環境が構築され、複数の前記アプリケーションソフトウェアが実行される処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行される際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路が形成されるハードウェアユニットとを有する。
【０００７】
前記目的に沿う第２の発明に係るハードウェアプラットフォームを用いたハードウェアの操作方法は、複数のハードウェアと接続し、前記複数のハードウェアを操作する複数のアプリケーションソフトウェアの動作環境を構築するミドルウェアが実装されたハードウェアプラットフォームを用いたハードウェアの操作方法において、
前記ハードウェアプラットフォームに、前記ミドルウェアにより前記動作環境を構築して、複数の前記アプリケーションソフトウェアを実行する処理手段を備えたソフトウェアユニットと、
前記ソフトウェアユニットと接続すると共に、前記アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数の前記ハードウェアと接続し、前記ソフトウェアユニットで前記特定アプリケーションソフトウェアが実行された際に、該特定アプリケーションソフトウェアによるハードウェア処理を行う専用の演算回路を形成するハードウェアユニットとを設ける。
【発明の効果】
【０００８】
第１の発明に係るハードウェアプラットフォーム及び第２の発明に係るハードウェアプラットフォームを用いたハードウェアの操作方法においては、ハードウェアプラットフォームに、ミドルウェアにより動作環境が構築され、複数のアプリケーションソフトウェアが実行されるソフトウェアユニットを有するので、ソフトウェアユニットから複数のハードウェアを複数のアプリケーションソフトウェアを用いて操作することが可能となる。
【０００９】
また、ハードウェアプラットフォームが、アプリケーションソフトウェアの中で予め決められた特定アプリケーションソフトウェアが実行される際、特定アプリケーションソフトウェアによるハードウェア処理を専用の演算回路を形成して行うハードウェアユニットを有するので、特定アプリケーションソフトウェアによるハードウェア処理を迅速に行うことができる。その結果、特定アプリケーションソフトウェアによるハードウェア処理の実時間処理（リアルタイム処理）が可能になる。
更に、アプリケーションソフトウェアの実行が、ソフトウェアユニットとハードウェアユニットでそれぞれ分散して行われることになり、ソフトウェアユニットとハードウェアユニットの性能をそれぞれ処理内容に応じて決めることができ、ハードウェアプラットフォームの低コスト化、低消費電力化が可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施の形態に係るハードウェアプラットフォームが設けられたホームロボットの構成を示す説明図である。
【図２】ホームロボットのソフトウェアシステムのブロック図である。
【図３】本発明の第１の実施の形態に係るハードウェアプラットフォームのブロック図である。
【図４】実施例で使用した評価システムの説明図である。
【発明を実施するための形態】
【００１１】
続いて、添付した図面を参照しつつ、本発明を具体化した実施の形態につき説明し、本発明の理解に供する。
図１、図３に示すように、本発明の第１の実施の形態に係るハードウェアプラットフォーム１０は、ミドルウェアとしてロボット向けミドルウェアが実装され、例えば、ホームロボット１１に搭載されてホームロボット１１に設けられた複数のハードウェア（センサ、アクチュエータ、サーボモータ、表示装置、ＷＥＢカメラ等）とそれぞれ接続すると共に、複数のハードウェアを操作する複数のアプリケーションソフトウェアが搭載された制御装置１３と、例えば、ＬＡＮケーブル１４を介して接続し、制御装置１３からロードされた複数のアプリケーションソフトウェアが実行される際の動作環境を構築している。なお、制御装置１３は、例えば、パーソナルコンピュータを用いて構成することができる。
【００１２】
ホームロボット１１に設けられた複数のハードウェアを複数組み合わせて操作することにより、例えば、図１に示すように、ホームロボット１１に対する聴覚情報（音声信号）を取得して処理する聴覚情報取得手段１５、ホームロボット１１で聴覚情報を作成して発信する聴覚情報発信手段１６、ホームロボット１１の周囲の視覚情報（画像信号）を取得して処理する視覚情報取得手段１７、視覚情報取得手段１７で認識された対象物までの距離を測定する測域センサ１８、ホームロボット１１の移動手段１９、ホームロボット１１が認識した対象物を表示する表示手段２０、ホームロボット１１が物体をつかむ際に使用する物体把持手段２１等を有するハードウェアシステム１２を構成することができる。
【００１３】
また、制御装置１３に搭載された複数のアプリケーションソフトウェアを複数組み合わせることにより、図２に示すように、ホームロボット１１に必要とされる各種クライアントアプリケーション（以下、ＣＡｐという）、例えば、画像処理ＣＡｐ、物体認識ＣＡｐ、音声認識ＣＡｐ、音声合成ＣＡｐ、移動制御ＣＡｐ、物体把持制御ＣＡｐ、サーボモータ制御ＣＡｐ等を有するソフトウェアシステムを構成することができる。なお、制御装置１３には、上記の各種ＣＡｐを統括する（協調動作させる）サーバアプリケーションが設けられ、ハードウェアプラットフォーム１０には、移動制御ＣＡｐと連携して実行されるＳＬＡＭナビゲーションＣＡｐが設けられている。
【００１４】
図３に示すように、ハードウェアプラットフォーム１０は、ロボット向けミドルウェアにより制御装置１３からロードされる複数のアプリケーションソフトウェアの動作環境が構築されて、複数のアプリケーションソフトウェアを同時に実行することが可能なソフトウェアユニット２２を有している。
更に、ハードウェアプラットフォーム１０は、ソフトウェアユニット２２と接続すると共に、ソフトウェアユニット２２にロードされた複数のアプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数のハードウェアと接続し、ソフトウェアユニット２２で特定アプリケーションソフトウェアが実行される際に、特定アプリケーションソフトウェアにより操作されるハードウェアによるハードウェア処理を専用に行う演算回路が形成されるハードウェアユニット２３を有している。
【００１５】
ソフトウェアユニット２２は、制御装置１３からロードされる複数のアプリケーションソフトウェアを保存するメモリー手段（図示せず）と、ロボット向けミドルウェアにより構築された動作環境の下で、複数のアプリケーションソフトウェアをそれぞれ単独で、又は同時に実行する処理手段２４とを有し、例えば、パーソナルコンピュータを用いて構成することができる。なお、ＳＬＡＭナビゲーションＣＡｐは、ソフトウェアユニット２２に搭載されている。
【００１６】
ハードウェアユニット２３は、ソフトウェアユニット２２の処理手段２４と接続し、処理手段２４で特定アプリケーションソフトウェアが実行された際、特定アプリケーションソフトウェアによりハードウェアの操作を行う第２の処理手段２５（プロセッサーシステム（ＰＳ）部ともいう）を有している。更に、ハードウェアユニット２３は、第２の処理手段２５と通信して、特定アプリケーションソフトウェアにより操作されたハードウェアによるハードウェア処理を行う演算回路を形成してハードウェア処理を実行する実行手段２６（プログラマブルロジック（ＰＬ）部ともいう）を有している。
ここで、実行手段２６は、一部のハードウェア処理に対しては演算回路を形成して実行し、残部のハードウェア処理に対しては演算回路形成の指示を行う第１の実行部２７と、第１の実行部２７が演算回路形成を指示した際に、演算回路を形成してハードウェア処理を実行する第２の実行部２８とを有している。なお、演算回路を形成するために必要な情報は、予め特定アプリケーションソフトウェアに設けおく。
【００１７】
ハードウェアユニット２３に、第２の処理手段２５（ＰＳ）と実行手段２６（ＰＬ）を設けることにより、特定アプリケーションソフトウェアによるハードウェア処理を実行する際、大量の演算を伴う処理は実行手段２６（ＰＬ）で、複雑な演算を伴う処理は第２の処理手段２５（ＰＳ）でそれぞれ行うように（分散処理）することができる。実行手段２６では大量の演算処理を専用の演算回路を用いて実行するので、演算時間を短縮することができる。その結果、特定アプリケーションソフトウェアによるハードウェア処理に要する時間を短縮することが可能になる。
【００１８】
ここで、ハードウェアユニット２３の第２の処理手段２５（ＰＳ）は、例えば、マイクロプロセッサユニットを用いて、実行手段２６（ＰＬ）は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いてそれぞれ形成することができる。実行手段２６（ＰＬ）をＦＰＧＡを用いて形成することにより、実行手段２６（ＰＬ）をコンパクトに（省スペース化）することができると共に、省電力化することができる。更に、第２の実行部２８に形成される演算回路は書き換え可能なので、特定アプリケーションソフトウェア毎に演算回路を形成することができる。その結果、様々なハードウェア処理を実行することが可能になる（ハードウェアユニット２３を使用する際の自由度が向上する）。
【００１９】
そして、ハードウェアユニット２３を、第２の処理手段２５（ＰＳ）と実行手段２６（ＰＬ）を１つの半導体チップ上に集積し、インプット及びアウトプット等の周辺回路を一体化したシステム、例えば、ＺｅｄＢｏａｒｄ等を用いて構成すると、ロボット向けミドルウェアの動作環境上で動作するミドルウェアを備えたオペレーティングシステムをＰＳに実装することにより、ソフトウェアユニット２２から、ＰＳとＰＬを操作することが可能になる。これによって、ソフトウェアユニット２２やＰＳと接続したハードウェアからのデータをＰＬに送信してハードウェア処理することができる。
【００２０】
続いて、本発明の第２の実施の形態に係るハードウェアプラットフォームを用いたハードウェアの操作方法について説明する。
本実施の形態になるハードウェアプラットフォームを用いたハードウェアの操作方法は、図３に示すように、ミドルウェアとしてロボット向けミドルウェアが実装され、ホームロボット１１に搭載されてホームロボット１１に設けられた複数のハードウェアから構成されるハードウェアシステム１２と、複数のハードウェアを操作する複数のアプリケーションソフトウェアが搭載された制御装置１３にそれぞれ接続して、制御装置１３からロードされた複数のアプリケーションソフトウェアが実行される際の動作環境が構築されているハードウェアプラットフォーム１０を用いたハードウェアの操作方法である。
【００２１】
そして、ハードウェアの操作は、ハードウェアプラットフォーム１０に、ロボット向けミドルウェアにより複数のアプリケーションソフトウェアの動作環境を構築して、複数のアプリケーションソフトウェアを実行するソフトウェアユニット２２と、ソフトウェアユニット２２と接続すると共に、アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアの操作対象となる複数のハードウェアと接続し、ソフトウェアユニット２２で特定アプリケーションソフトウェアが実行された際に、特定アプリケーションソフトウェアにより操作されるハードウェアによるハードウェア処理を行う専用の演算回路を形成するハードウェアユニット２３とを設けて行っている。
【００２２】
ここで、ソフトウェアユニット２２には、ロボット向けミドルウェアにより動作環境が構築されて、複数のアプリケーションソフトウェアを実行する処理手段２４を設けている。また、ハードウェアユニット２３には、処理手段２４と接続し、アプリケーションソフトウェアの中で予め決められた複数の特定アプリケーションソフトウェアによるハードウェア処理を実行する第２の処理手段２５と、第２の処理手段２５と接続し、第２の処理手段２５を介して特定アプリケーションソフトウェアにより操作されたハードウェアによるハードウェア処理を行う演算回路が形成される実行手段２６とを設ける。
【００２３】
ソフトウェアユニット２２がロボット向けミドルウェアを実装するので、ロボット向けに開発された種々のハードウェアに対するオープンソース（例えば、ハードウェアの基本単位操作を行うアプリケーションソフトウェア、基本単位操作されたハードウェアによるハードウェア処理を示すアプリケーションソフトウェア）を容易に使用することが可能になる。このため、ホームロボット１１に設けられたハードウェアシステム１２を構成するハードウェアを操作するアプリケーションソフトウェアや操作されたハードウェアによるハードウェア処理を示すアプリケーションソフトウェアを、それぞれロボット向けオープンソースの中から選択した特定のオープンソースの集合体（以下、ＲＯＳパッケージという）とすることができる。
【００２４】
従って、図３に示すように、ソフトウェアユニット２２にロードされたアプリケーションソフトウェアをロボット向けミドルウェアで構築された動作環境下で実行すると、ソフトウェアユニット２２では、アプリケーションソフトウェアを構成している複数のＲＯＳパッケージ間で通信（メッセージの交換）を行いながら、ハードウェアの基本単位操作（ＲＯＳパッケージによるアクチュエータの操作）と、基本単位操作されたハードウェアによるハードウェア処理（ＲＯＳパッケージによるセンサからのデータ収集及び処理）が進行する。
【００２５】
ここで、画像認識や音声認識等の知的処理のように大量の演算実行が伴うアプリケーションソフトウェアを特定アプリケーションソフトウェアと予め設定しておくと、図３に示すように、特定アプリケーションソフトウェアをソフトウェアユニット２２にロードすると、ソフトウェアユニット２２からハードウェアユニット２３の第２の処理手段２５にＲＯＳパッケージをロードすることができ、ＲＯＳパッケージは、ハードウェアユニット２３において実行される。即ち、ソフトウェアユニット２２で実行するＲＯＳパッケージから、ハードウェアユニット２３を操作することができる。
【００２６】
ハードウェアユニット２３では、ハードウェアの操作のように複雑な演算を伴う処理（例えば、ＷＥＢカメラに設けられたアクチュエータの操作、オープンソースを介したＷＥＢカメラの操作）は、第２の処理手段２５（ＰＳ）で行われる。一方、ハードウェアによるハードウェア処理のように大量の演算を伴う処理は実行手段２６（ＰＬ）で、それぞれ分散して行われる。
【００２７】
なお、実行手段２６（ＰＬ）では、ＲＯＳパッケージによる一部のハードウェア処理、例えば、ＷＥＢカメラから得られた画像情報を単に表示装置に表示するように、単一のハードウェアによるハードウェア処理は、ＲＯＳパッケージ内に予め設けておいた演算回路を形成する情報に基づいて第１の実行部２７内に演算回路を形成して実行する。
一方、ＲＯＳパッケージによる残部のハードウェア処理、例えば、センサで得られた情報に基づいてアクチュエータを操作するように、複数のハードウェアによる連携したハードウェア処理は、ハードウェア毎のＲＯＳパッケージ内に予め設けておいた演算回路を形成する情報に基づいて連携したハードウェア処理を行う演算回路の形成情報を第１の実行部２７で作成し、第２の実行部２８内に演算回路を形成して実行する。
【実施例】
【００２８】
図４に示す評価システムを作製し、６４０×４８０［ｐｉｘｅｌ］で１［Ｂｐｐ］の情報量を持つ深度画像を用いた画像処理による性能評価を行った。
（１）第２の処理手段と実行手段間通信路の評価
第２の処理手段にオープンソースを介して接続するモーションキャプチャデバイスから取り込んだ画像を実行手段に送信した。第２の処理手段と実行手段間のレイテンシは２．２５μｓ、フレームレートは７４．４５ｆｐｓであった。モーションキャプチャデバイスのフレームレートは３０ｆｐｓなので、十分な通信速度を有していることが確認できた。
【００２９】
（２）第２の処理手段でのモーションキャプチャデバイスの動作評価
第２の処理手段でモーションキャプチャデバイスから得られるフレームレートを評価した。なお、オープンソースには、ＯｐｅｎＣＶ２．４．６とＯｐｅｎＮＩ２を用いた。３０．０７ｆｐｓの深度画像が得られた。この値は、モーションキャプチャデバイスのフレームレートのフレームレート３０ｆｐｓと等しく、第２の処理手段でモーションキャプチャデバイスの性能を十分引き出せることが確認できた。
【００３０】
（３）モーションキャプチャデバイスのデータを用いた画像処理性能評価
モーションキャプチャデバイスのデータを用いて第２の処理手段で処理し、第２の処理手段に接続した表示装置（図示せず）に表示する場合と、実行手段の第１の実行部で処理し、第１の実行部に接続した表示装置に表示する場合を評価した。第２の処理手段で処理した場合、３０．０７ｆｐｓの深度画像が得られた。また、第１の実行部で処理した場合、２８．６１ｆｐｓの深度画像が得られ、高い画像処理速度が確認できた。これにより、画像処理の実時間処理（リアルタイム処理）できることが分かった。
【００３１】
以上、本発明を、実施の形態を参照して説明してきたが、本発明は何ら上記した実施の形態に記載した構成に限定されるものではなく、特許請求の範囲に記載されている事項の範囲内で考えられるその他の実施の形態や変形例も含むものである。
更に、本実施の形態とその他の実施の形態や変形例にそれぞれ含まれる構成要素を組合わせたものも、本発明に含まれる。
例えば、ハードウェアプラットフォームに自動運転車向けミドルウェアを実装すれば、自動車に設けられた複数のハードウェアを複数のアプリケーションソフトウェアで操作して、リアルタイムでハードウェア処理を行うことができる。
【符号の説明】
【００３２】
１０：ハードウェアプラットフォーム、１１：ホームロボット、１２：ハードウェアシステム、１３：制御装置、１４：ＬＡＮケーブル、１５：聴覚情報取得手段、１６：聴覚情報発信手段、１７：視覚情報取得手段、１８：測域センサ、１９：移動手段、２０：表示手段、２１：物体把持手段、２２：ソフトウェアユニット、２３：ハードウェアユニット、２４：処理手段、２５：第２の処理手段、２６：実行手段、２７：第１の実行部、２８：第２の実行部
【図１】
0006611635.tif 000002
【図２】
0006611635.tif 000003
【図３】
0006611635.tif 000004
【図４】
0006611635.tif 000005