(57)【特許請求の範囲】
【請求項１】
転移元ロボットの動作情報を複数取得する転移元動作情報取得部と、
転移先ロボットの第１の動作情報を複数取得する転移先動作情報取得部と、
前記転移元ロボットの動作情報と前記第１の動作情報とを用いた学習により生成された所定の更新式により前記転移元ロボットの動作情報を補正することにより、前記転移先ロボットの第２の動作情報を複数生成する補正部と、を有し、
前記第１の動作情報は、前記転移先ロボットに設けられた複数の関節の複数の関節値と、前記複数の関節値に対応する座標値と、からなるセットを含み、
前記転移元ロボットの動作情報は、前記転移元ロボットに設けられた複数の関節の複数の関節値と、前記複数の関節値に対応する座標値と、からなるセットを含み、
前記第２の動作情報は、前記補正部により生成された、前記転移先ロボットに設けられた複数の関節の複数の関節値と、前記複数の関節値に対応する座標値と、からなるセットを含み、
前記第１の動作情報に含まれる前記セットの数は、前記転移元ロボットの動作情報に含まれる前記セットの数より少なく、
前記第２の動作情報に含まれる前記セットの数は、前記第１の動作情報に含まれる前記セットの数より多い
動作の転移装置。
【請求項２】
前記転移先ロボットに設けられた前記関節の数は、前記転移元ロボットに設けられた前記関節の数と等しい、
請求項１記載の動作の転移装置。
【請求項３】
各関数の関節値は、各関節の関節角である、
請求項１又は２記載の動作の転移装置。
【請求項４】
前記第１及び第２の動作情報のそれぞれに含まれる前記座標値は、前記転移先ロボットの特定部分の位置を示し、
前記転移元ロボットの動作情報に含まれる前記座標値は、前記転移先ロボットの前記特定部分に対応する前記転移元ロボットの特定部分の位置を示すものである、
請求項１乃至３のいずれか１項記載の動作の転移装置。
【請求項５】
前記更新式は、前記転移先ロボットの第１の動作情報と、前記転移元ロボットの動作情報と、の誤差に基づいて前記補正を行う
請求項１乃至４のいずれか１項記載の動作の転移装置。
【請求項６】
前記転移元ロボットの動作情報、前記転移先ロボットの第１の動作情報及び前記転移先ロボットの第２の動作情報は、それぞれ異なる空間において定義され、
前記更新式は、前記異なる空間それぞれにかかる制約条件を同時に満足するものである
請求項１乃至５のいずれか１項記載の動作の転移装置。
【請求項７】
前記更新式は、ＳＯＭ（Ｓｅｌｆ−Ｏｒｇａｎｉｚｉｎｇ  ｍａｐｓ）アルゴリズムを複数の前記空間に拡張することにより、前記補正を行う
請求項６記載の動作の転移装置。
【請求項８】
前記更新式は、前記転移先ロボットの第１の動作情報に含まれる第１の関節値の近傍に位置する、第２の関節値を、前記転移元ロボットの動作情報から抽出し、
前記転移先ロボットの第１の動作情報に含まれ、前記第１の関節値に対応する第１の座標値と、
前記転移元ロボットの動作情報に含まれ、前記第２の関節値に対応する第２の座標値と、の誤差を算出し、
前記誤差を、前記転移元ロボットの動作情報に含まれる他の座標値に伝播させることにより前記補正を行う
請求項１乃至６いずれか１項記載の動作の転移装置。
【請求項９】
転移元ロボットの動作情報を複数取得する転移元動作情報取得ステップと、
転移先ロボットの第１の動作情報を複数取得する転移先動作情報取得ステップと、
前記転移元ロボットの動作情報と前記第１の動作情報とを用いた学習により生成された所定の更新式により前記転移元ロボットの動作情報を補正することにより、前記転移先ロボットの第２の動作情報を複数生成する補正ステップと、を有し、
前記第１の動作情報は、前記転移先ロボットに設けられた複数の関節の複数の関節値と、前記複数の関節値に対応する座標値と、からなるセットを含み、
前記転移元ロボットの動作情報は、前記転移元ロボットに設けられた複数の関節の複数の関節値と、前記複数の関節値に対応する座標値と、からなるセットを含み、
前記第２の動作情報は、前記補正ステップにより生成された、前記転移先ロボットに設けられた複数の関節の複数の関節値と、前記複数の関節値に対応する座標値と、からなるセットを含み、
前記第１の動作情報に含まれる前記セットの数は、前記転移元ロボットの動作情報に含まれる前記セットの数より少なく、
前記第２の動作情報に含まれる前記セットの数は、前記第１の動作情報に含まれる前記セットの数より多い
動作の転移方法。
【請求項１０】
コンピュータに、請求項９記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動作の転移装置、動作の転移方法及びプログラムに関し、例えば転移先ロボットで取得した少量の学習サンプルを用いて、転移元ロボットからの動作の転移を行う技術に関する。
【背景技術】
【０００２】
現在、ロボットが家庭をはじめとする人間社会に急速に進出している。現在のところ、ロボットのための知的発達機構は未だ発展途上であり、実行できる動作や理解できる事柄は限られている。一方、機体の特性がそれぞれ異なる多種多様なロボットが開発され、それらが一般家庭へ導入されることを想定すると、それらのロボット１つ１つに独立に動作等を学習させることは非効率的である。
【０００３】
そこで、ロボットが学習した知識、特に動作情報をロボット同士で共有できる機構が必要となる。このように、ロボット同士が動作情報の共有によって動作を獲得することを、動作の転移という。換言すれば、動作の転移とは、転移元（ソースドメイン）のロボット上で獲得した動作情報を利用して、転移先（ターゲットドメイン）のロボットが動作を効率的に学習することである。
【０００４】
ロボットの動作の基となる情報（動作情報）は、例えばある物理特性（例えば腕の長さ、関節の数等）を有するロボットについて、関節角（関節値）と、腕の先端部分の座標（エンドエフェクタ）と、の対応関係を集積した情報として考えることができる。このような動作情報を用いることで、ロボットは動作を行うことができる。したがって、ロボットの動作の転移においては、物理特性が重要な意味を有する。しかし、ロボットの物理特性は、多種多様なロボット間で同一化することが困難である。そのため、動作の転移においては、他のロボットから得た動作情報を、自らの物理特性に合わせる機構が重要となる。
【０００５】
かかる機構としては、転移先ロボットの物理特性を得たうえで、移転元ロボットの動作情報を、移転先ロボットの物理特性に適合するよう加工する手法が一般的である。しかし、この手法では事前に移転先ロボットの物理特性を測定するなどの準備が必要となる。また、移転先ロボットの物理特性が変更となった場合や、測定に誤差が生じていた場合には、正確な動作が出来ないという問題もある。さらに、人や動物は、事前に自己の体の物理特性を得ることなく、動作を学習できている。してみると、移転先ロボットの物理特性を事前に想定せず、実機における経験ベースで動作の転移を実現することが、より現実的に則したアプローチと考えられる。
【０００６】
この点、非特許文献１は、転移先ロボットの物理特性が一部未知であっても、転移元のロボットと転移先のロボットとの双方から取得した同数の動作サンプルを利用して、転移元ロボットの動作サンプルを転移先に転移する手法を提案している。なお、ここでの転移は、行列計算によるフィッティングで実現されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｂｏｔｏｎｄ  Ｂｏｃｓｉ外２名，“Ａｌｉｇｎｍｅｎｔ−ｂａｓｅｄ  Ｔｒａｎｓｆｅｒ  Ｌｅａｒｎｉｎｇ  ｆｏｒ  Ｒｏｂｏｔ  Ｍｏｄｅｌｓ”，［ｏｎｌｉｎｅ］，２０１３年，［２０１４年１０月６日検索］，ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｃｓ．ｕｂｂｃｌｕｊ．ｒｏ／〜ｂｂｏｔｉ／ｐｕｂｓ／ｉｊｃｎｎ＿２０１３．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１は、動作の転移において必要となるデータサンプルの量への言及が少なく、転移元のロボットと転移先のロボットとの双方で同数のデータサンプルを取得することが必要と考えられる。すなわち、同手法では転移元のみならず転移先においても大量の学習サンプルを取得する必要がある。そのため、動作の転移に大量の時間、工数及び費用等を要し、迅速かつ正確な転移が出来ないという問題があった。
【０００９】
一般に、転移元のロボットについては、シミュレータや実験施設内の実機等を用いることにより、大量の動作サンプルを取得することが比較的容易である。しかし、転移先のロボットは、家庭内などで現実の稼働に供される実機であることが想定され、このような状況のもとでは移転元ロボットと同量の学習サンプルを取得することは困難と考えられる。したがって、転移先ロボットにおいては大量の学習サンプルを取得する工程を要せず、高い効率で動作の転移を実現する機構が望まれる。
【００１０】
本発明は、このような問題点を解決するためになされたものであり、転移先ロボットで取得した少量の学習サンプルを用いて、転移元ロボットからの動作の転移を行うことができる動作の転移装置、動作の転移方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る動作の転移装置は、転移元ロボットの動作情報を複数取得する転移元動作情報取得部と、転移先ロボットの第１の動作情報を複数取得する転移先動作情報取得部と、
前記転移先ロボットの第１の動作情報を用いて、所定の更新式により前記転移元ロボットの動作情報を補正することにより、転移先ロボットの第２の動作情報を複数生成する補正部と、を有する。前記転移先ロボットの第１の動作情報は、前記転移元ロボットの動作情報より少なく、前記転移先ロボットの第２の動作情報は、前記転移先ロボットの第１の動作情報より多い。
【００１２】
本発明に係る動作の転移方法は、転移元ロボットの動作情報を複数取得する転移元動作情報取得ステップと、転移先ロボットの第１の動作情報を複数取得する転移先動作情報取得ステップと、前記転移先ロボットの第１の動作情報を用いて、所定の更新式により前記転移元ロボットの動作情報を補正することにより、転移先ロボットの第２の動作情報を複数生成する補正ステップと、を有する。前記転移先ロボットの第１の動作情報は、前記転移元ロボットの動作情報より少なく、前記転移先ロボットの第２の動作情報は、前記転移先ロボットの第１の動作情報より多い。
【００１３】
本発明に係るプログラムは、上記動作の転移方法をコンピュータに実行させるためのプログラムである。
【００１４】
本発明においては、動作の転移装置が、転移先のロボットにおいて取得された少量の動作サンプル（転移先ロボットの第１の動作情報）を用いて、転移元のロボットの大量のデータセット（転移元ロボットの動作情報）を変形することで、転移先のロボットに最適化された大量のデータセット（転移先ロボットの第２の動作情報）を生成する。これにより、転移先のロボットで大量の動作サンプルを得ることなく、転移元のロボットの動作を、転移先のロボットに転移することができる。
【発明の効果】
【００１５】
本発明により、転移先ロボットで取得した少量の学習サンプルを用いて、転移元ロボットからの動作の転移を行うことができる動作の転移装置、動作の転移方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１にかかる動作の転移装置１００の構成を示す図である。
【図２】実施の形態１にかかる動作の転移装置１００の動作を示す図である。
【図３】実施の形態１にかかる動作の転移装置１００の動作アルゴリズムの一例を示す図である。
【図４】実施の形態２にかかる動作の転移装置１００の動作を示す図である。
【図５】実施の形態２にかかる動作の転移装置１００の動作アルゴリズムの一例を示す図である。
【図６】比較実験に用いたロボットの物理特性を示す図である。
【図７】比較実験に用いたロボットの物理特性を示す図である。
【図８】比較実験の結果を示す図である。
【図９】比較実験の結果を示す図である。
【図１０】比較実験の結果を示す図である。
【図１１】比較実験に用いたロボットの図である。
【図１２】比較実験に用いたロボットの図である。
【図１３】比較実験に用いたロボットの物理特性を示す図である。
【図１４】比較実験の結果を示す図である。
【図１５】比較実験の結果を示す図である。
【図１６】比較実験の結果を示す図である。
【図１７】比較実験の結果を示す図である。
【図１８】本発明に係る動作の転移の概念を示す図である。
【図１９】データセットを用いて腕を動作させるための関節値を求めるアルゴリズムの一例を示す図である。
【発明を実施するための形態】
【００１７】
＜はじめに＞
はじめに、本発明にかかる動作の転移手法の前提となる諸条件について説明する。
【００１８】
本発明は、以下の条件の下にあるロボット間で動作の転移を実施する手法を提案するものである（図１８）。後述する本発明の実施の形態も、以下の条件に従うものとする。なお、ここでロボットの動作とは、腕のエンドエフェクタ（人間の手先にあたる、腕の先端部分）などのロボットの特定の部分を任意の場所（座標値）へ移動させることを指す。
【００１９】
条件１：転移元及び転移先のロボットはいずれも、関節数が既知であり、かつ等しいものとする。
条件２：関節数以外の物理特性（例えば腕の長さ等）は未知であるものとする。
条件３：転移元のロボットは、大量の動作サンプルが抽出可能であるものとする。典型的にはシミュレータ上又は実験施設内に存在するロボットである。
条件４：転移先のロボットは、少量の動作サンプルのみが抽出可能であるものとする。典型的には実機のロボットである。
【００２０】
本発明にかかる手法は、上述の制約条件を満たす転移元のロボットから、転移先のロボットに動作を転移させるものである。動作の転移とは、転移元のロボット上で作成された動作の経験データベースＤｓｒｃから、転移先のロボットの作業空間に合わせた経験データベース
0006550605.tif 000002
を作成することを意味している。このとき、
0006550605.tif 000003
は、まず転移先のロボットにて少量の動作を行って経験データセットＤｔｇｔを作成し、次にＤｓｒｃをＤｔｇｔによって補正することで作成する。ここで、ＤｔｇｔのサイズはＤｓｒｃよりも小さく、
0006550605.tif 000004
のサイズはＤｓｒｃと同等である。したがって、本手法によれば、転移先のロボットを実際に大量に動作させてデータセットを生成する場合に比べ、少ないデータセットでの学習が可能である。また、Ｄｓｒｃをそのままコピーして
0006550605.tif 000005
を生成する場合に比べ、精度が向上する。なお、Ｄｓｒｃ等の経験データベースは、単に関節値と座標値とのペアの集合であれば良く、単純なデータベース（単純なペアの情報を記録したデータベース）の他にも、例えば、競合学習を用いた自己組織化マップＳＯＭ（Ｓｅｌｆ  Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐｓ）や、ＳＯＭを改良した追加学習可能なオンライン教師なし学習手法であるＳＯＩＮＮ（Ｓｅｌｆ  Ｏｒｇａｎｉｚｉｎｇ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）等を用いて情報を圧縮したものであっても良い。
【００２１】
なお、ＳＯＭ及びＳＯＩＮＮについては下記参考文献１及び参考文献２に説明されているため、ここでは詳細な説明を省略する。
（参考文献１）Ｋｏｈｏｎｅｎ  Ｔ．，“Ｓｅｌｆ−ｏｒｇａｎｉｚｅｄ  ｆｏｒｍａｔｉｏｎ  ｏｆ  ｔｏｐｏｌｏｇｉｃａｌｌｙ  ｃｏｒｒｅｃｔ  ｆｅａｔｕｒｅ  ｍａｐｓ”，Ｂｉｏｌｏｇｉｃａｌ  Ｃｙｂｅｒｎｅｔｉｃｓ  Ｖｏｌ．４３，ｐｐ．５９−６９，１９８２年
（参考文献２）Ｓｈｅｎ  Ｆ．，Ｈａｓｅｇａｗａ  Ｏ．，“Ａ  Ｆａｓｔ  Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ  Ｃｌａｓｓｉｆｉｅｒ  Ｂａｓｅｄ  ｏｎ  Ｓｅｌｆ−ｏｒｇａｎｉｚｉｎｇ  Ｉｎｃｒｅｍｅｎｔａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ”，Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，２００８年
【００２２】
ここで、ロボット上で動作の経験データベースＤを作成する方法について説明する。この方法は、Ｄｓｒｃ及びＤｔｇｔの作成に適用できる。一般に、ロボットの物理特性が既知の場合は、公知技術であるＩｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ（ＩＫ）を用いることにより、腕のエンドエフェクタを任意の場所に移動させる制御が可能である。ところが、今回の仮定ではその物理特性が未知である。したがって、本発明の手法では、経験ベースのＩＫを実施することによりエンドエフェクタの移動を行う。以下、経験ベースのＩＫを実行するためにロボットが獲得すべきデータと、そのデータを用いたＩＫの実行方法について開示する。
【００２３】
まず、対象とするロボットが持つ全ての関節の関節角を示すデータである関節値のセット
0006550605.tif 000006
を生成する。例えば、ｍ軸のロボット、すなわちｍ個の関節を持つロボットの場合、関節値
0006550605.tif 000007
はｍ次元ベクトルとなる。
【００２４】
そして、Ｊに含まれる関節値それぞれを用いて実際にロボットを動作させ、ロボットの各種センサ情報（例えば視覚情報等）により腕のエンドエフェクタの絶対座標値（以下、単に座標値という）を求める。シミュレータ上のロボットなど、物理特性が既知の場合には、Ｆｏｒｗａｒｄ  Ｋｉｎｅｍａｔｉｃｓを用いることで、座標値取得の所要時間を短縮できる。そして、計算された座標値をまとめたデータセット
0006550605.tif 000008
を生成する。このとき、ロボットの関節値からエンドエフェクタの座標値は一意に決定される。つまり、関節値と座標値との間には関数の関係がある。
【００２５】
これらの経験、すなわち実際の動作から獲得される関節値と座標値を、データセットＤとする（式（１）（２））。
0006550605.tif 000009
【００２６】
ここで、獲得したデータセットＤに基づいて、ランダムに指定される座標値
0006550605.tif 000010
へ腕のエンドエフェクタを移動させるための関節値
0006550605.tif 000011
を求める方法を示す。ここでは、指定された座標値
0006550605.tif 000012
の近傍の座標値データを、データセットＤの中からｋ個探し出し、それらｋ個の座標値にそれぞれ対応する関節値
0006550605.tif 000013
の逆距離加重平均（ＩｎｖｅｒｓｅＤｉｓｔａｎｃｅＷｅｉｇｈｔｉｎｇ）を計算することにより
0006550605.tif 000014
を求める。
【００２７】
ここで、指定された座標値へエンドエフェクタを動かすことのできる関節値が、複数存在することがある。この事象は関節数が大きくなるほど生じやすい。そのため、似通った座標値であっても、それぞれの座標値に到達するための関節値が大きく異なる場合が存在する。このような場合、座標値空間だけを用いて平均を算出すると、大きく異なる関節値同士の平均を用いてしまうことになり、結果として位置誤差が大きくなる可能性がある。そこで、本手法では、関節値空間における関節値の距離も参考にしながら、
0006550605.tif 000015
を算出している。
【００２８】
具体的には、まず座標値空間において、指定された座標値の最近傍である
0006550605.tif 000016
と、その周辺の座標値サンプルＸｋｎｎと、を探し出す。ついで、探し出した座標値それぞれに対応する関節値
0006550605.tif 000017
を求める。そして、関節値Ｊｋｎｎの中から、
0006550605.tif 000018
に距離の近いデータＪｓｅｌｅｃｔｅｄを探し出す。そして、それらの逆距離加重平均を
0006550605.tif 000019
とする。このアルゴリズムを図１９に示す。なお、パラメータｋは本手法では３とした。
【００２９】
つづいて、本発明の実施の形態として、転移元のロボットにおいて獲得したＤｓｒｃを補正することで、
0006550605.tif 000020
すなわち転移先のロボットの作業空間へ適応させたデータセットを求める２種類の手法を開示する。まず、実施の形態１として、ＳＯＭ変形法（Ｔｒａｎｓｆｅｒ  ｂｙ  ＳＯＭ−ａｌｇｏｒｉｔｈｍ）を開示する。つぎに、実施の形態２として、誤差伝播法（Ｔｒａｎｓｆｅｒ  ｂｙ  Ｅｒｒｏｒ  ｐｒｏｐａｇａｔｉｏｎ）を開示する。
【００３０】
＜実施の形態１＞
【００３１】
実施の形態１にかかるＳＯＭ変形法は、転移先のロボットにおいて少量の動作サンプルＤｔｇｔを取得し、Ｄｔｇｔ中の座標値空間のデータＸｔｇｔを用いて、かつＳＯＭを参考に作成した更新式により、転移元のロボットの座標値空間Ｘｓｒｃを変形する手法である。
【００３２】
ＳＯＭ変形法は、従来より公知であるＳＯＭ（Ｓｅｌｆ  Ｏｒｇａｎｉｚｉｎｇ  Ｍａｐｓ）の更新式から着想されたアルゴリズムである。ＳＯＭは、ネットワーク構造（トポロジー）を入力に合わせて変化させる手法としてＫｏｈｏｎｅｎらによって考案された自己組織化マップである。ＳＯＭは人工ニューラルネットワークの一種であり、入力に従ってニューロンのトポロジーを変形させる機構を持つ。ＳＯＭの学習方式は競合学習であり、入力に対する近傍ニューロンに対して更新を行う。
【００３３】
一方、従来のＳＯＭとＳＯＭ変形法とでは対象とする問題設定が異なるため、ＳＯＭ変形法では、更新率の変動方法に新たな知見を加えている。従来のＳＯＭは、１つの空間内におけるノードの更新を行うものであり、当該空間内における、入力と、入力の近傍ノードと、の距離を用いて更新率の決定を行っている。一方、ＳＯＭ変形法は、関節値空間及びエンドエフェクタの座標空間とうい２つの空間が存在することを前提としている。本手法においては、入力されたデータに応じて更新が行われる空間は、座標値空間が適当と考えられる。但し、上述のように座標値と関節値の間には一定の制約条件が存在することから、関節値空間内での関節値の距離も考慮することが重要である。そこで、本手法では、関節値空間内での関節値の距離も座標値空間の更新率に反映することができるような仕組みを設けている。
【００３４】
以下、ＳＯＭ変形法により
0006550605.tif 000021
を求める手法を具体的に開示する。
【００３５】
まず、図１を用いて、本発明の実施の形態１にかかる動作情報の転移装置１００の構成について説明する。
【００３６】
動作の転移装置１００は、典型的にはサーバコンピュータ、パーソナルコンピュータ（ＰＣ）等の情報処理装置である。典型的な動作の転移装置１００は、演算処理装置、揮発性又は不揮発性の記憶装置、及び入出力装置を有する。演算処理装置は、記憶装置に格納されたプログラムに基づいて各種制御を実行することにより、後述の各処理部を論理的に実現する。動作の転移装置１００は、物理的に単一である必要はなく、複数の情報処理装置による分散処理により実現されてもよい。また、動作の転移装置１００は、例えば転移先のロボットに内蔵されても良く、又は転移先のロボットとは分離されていても良い。
【００３７】
転移元動作情報取得部１０１は、転移元のロボットを動作させるためのデータセットＤｓｒｃを取得する。Ｄｓｒｃは、関節値群Jｓｒｃ及びエンドエフェクタの座標値群Ｘｓｒｃを含む。典型的には、Ｄｓｒｃは、シミュレータ上及び実験施設内等において転移元ロボットを幾度にもわたり動作させ、エンドエフェクタと、それに対応する関節値と、のペアを多数取得することにより生成できる。本実施の形態では、Ｄｓｒｃは予め生成済みであるものとし、転移元動作情報取得部１０１は、入力装置又は記憶装置からＤｓｒｃを取得するものとする。
【００３８】
転移先動作情報取得部１０２は、転移先のロボットを試験動作させた際に得られたデータセットＤｔｇｔを取得する。Ｄｔｇｔは、関節値群Jｔｇｔ及びエンドエフェクタの座標値群Ｘｔｇｔを含む。典型的には、Ｄｔｇｔは、転移元ロボットを何度かランダムに動作させ、エンドエフェクタの座標値と、それに対応する関節値と、のペアを幾つか取得することにより生成できる。ここで、Ｄｔｇｔの大きさは、Ｄｓｒｃよりも極めて小さくて良い。すなわち、転移元ロボットの動作試行回数に比べて、転移先ロボットの動作試行回数は少なくて良い。
【００３９】
本実施の形態では、Ｄｔｇｔは予め生成済みであるものとし、転移先動作情報取得部１０２は、入力装置又は記憶装置からＤｔｇｔを取得するものとする。
【００４０】
補正部１０３は、Ｄｔｇｔを利用して、Ｄｓｒｃを
0006550605.tif 000022
に変形する処理を行う。本実施の形態では、補正部１０３はＳＯＭ変形法を用いた変形処理を行う。
【００４１】
出力部１０４は、補正部１０３が生成した
0006550605.tif 000023
を外部に出力する。転移先ロボットは、出力部１０４が出力した
0006550605.tif 000024
を取得し、これに基づいた動作を行うことで、転移元ロボット同様の動作を獲得できる。
【００４２】
つづいて、図２のフローチャートを用いて、本発明の実施の形態１にかかる動作の転移装置１００の動作について説明する。なお、図３のアルゴリズムは、上記フローチャートが示す処理の一実装例である。
【００４３】
Ｓ１０１：転移先データセットの初期化
転移元動作情報取得部１０１は、転移元のデータセットＤｓｒｃを取得する。
補正部１０３は、転移先データセットとして
0006550605.tif 000025
を生成する。この際、初期値としてＤｓｒｃと同じ値を設定する（図３、第２行）。
【００４４】
Ｓ１０２：転移先動作サンプルの関節値、座標値の全ての組について繰返し処理
転移先動作情報取得部１０２は、転移先ロボットの動作サンプルＤｔｇｔを取得する。
補正部１０３は、Ｄｔｇｔに含まれる関節値Ｊｔｇｔ及び座標値Ｘｔｇｔのペアそれぞれについて、Ｓ１０３以降の処理を繰り返し実行する。
【００４５】
Ｓ１０３：転移先動作サンプルの座標値と転移先データセットの最寄りの座標値との距離を算出
補正部１０３は、転移先ロボットの動作サンプルＤｔｇｔに含まれる座標値
0006550605.tif 000026
に最も近い座標値
0006550605.tif 000027
を、転移先のデータセット
0006550605.tif 000028
から探し出し、両者の距離ｄｎｅａｒｅｓｔを算出する（図３、第３、６−８行）。
【００４６】
より具体的には、補正部１０３はまず、転移先ロボットの動作サンプルＤｔｇｔに含まれる関節値
0006550605.tif 000029
に最も近い座標値
0006550605.tif 000030
を、転移先のデータセット内の関節値群
0006550605.tif 000031
から探し出す（図３、第６行）。ついで、補正部１０３は、
0006550605.tif 000032
のペアである
0006550605.tif 000033
を、転移先のデータセット
0006550605.tif 000034
から探し出す（図３、第７行）。そして、補正部１０３は、
0006550605.tif 000035
と
0006550605.tif 000036
との距離ｄｎｅａｒｅｓｔを計算する（図３、第８行）。なお、このように関節値空間から先に計算する理由は、ある座標値に対応する関節値が複数存在する場合があるためである。このような場合には、座標値空間から計算を始めてしまうと、座標値に対応する関節値を探し出すことができない。
【００４７】
Ｓ１０４：パラメータ設定
ここで補正部１０３は、
0006550605.tif 000037
の変形処理にかかるパラメータを設定しても良い（図３、第４−５行）。本実施の形態では、変形処理に用いるシグモイド関数（後述）の特性を設定するためのパラメータをここで設定することができる。シグモイド関数の特性を変更することで、変形処理（学習処理）のスピードを調整することが可能である。なお、このパラメータは任意に設定して構わない。
【００４８】
Ｓ１０５：転移先データセットの関節値、座標値を補正
補正部１０３は、転移先のデータセット
0006550605.tif 000038
を変形する処理を行う。すなわち、
0006550605.tif 000039
に含まれるすべての座標値
0006550605.tif 000040
を補正することにより、関節値
0006550605.tif 000041
と上記座標値のマッピングを、転移先のロボットに最適化する（図３、第９−１２行）。
【００４９】
より具体的には、補正部１０３はまず、
0006550605.tif 000042
に含まれる関節値
0006550605.tif 000043
と
0006550605.tif 000044
との距離ｄｊを算出する（図３、第１０行）。ついで、補正部１０３は、
0006550605.tif 000045
と
0006550605.tif 000046
との差分
0006550605.tif 000047
を算出する（図３、第１１行）。そして、補正部１０３は、
0006550605.tif 000048
及びＳ１０３で算出したｄｎｅａｒｅｓｔを用いて、以下の更新式により
0006550605.tif 000049
を補正する（図３、第１２行）。
0006550605.tif 000050
【００５０】
ここで、上記更新式は、従来のＳＯＭの更新式を基としながら、座標値空間の更新を行うに際し、関節値空間の情報も加味している点に留意されたい。これは、従来のＳＯＭとは異なり、本発明では関節値空間及び座標値空間という複数の空間を扱う必要があることに起因している。
【００５１】
本実施の形態においては、動作の転移装置１００は、ＳＯＭ変形法を用いて、転移元のロボットのデータセットを変形し、転移先のロボットに最適化されたデータセットを生成する。この変形処理においては、転移先のロボットにおいて取得された、上記データセットに含まれるよりも少ない数の動作サンプルが用いられる。これにより、たとえ転移先のロボット上で大量の動作サンプルを得ていなくても、転移元のロボットの動作を、転移先のロボットにて獲得することができる。すなわち、同等の動作を実施できることとなり、動作が転移される。
【００５２】
また、本実施の形態では、従来のＳＯＭを修正し、性質の違う２つの空間を同時に考慮した更新式を導入した。これにより、ロボットにおける動作の転移という問題設定すなわち課題にふさわしい手法となった。
【００５３】
さらに、本実施の形態によれば、従来技術に比較して少量の計算量で動作の転移を実現できる。特に、転移先のロボットにおける学習サンプルが従来よりも少なくて済むことから、計算量を大幅に削減することが可能である。
【００５４】
＜実施の形態２＞
実施の形態２にかかる誤差伝播法は、ＤｓｒｃとＤｔｇｔとの誤差を算出して、その誤差値を用いて、転移元のロボットの座標値空間Ｘｓｒｃを変形する手法である。すなわち、少量の動作サンプルを用いて算出した誤差値を、Ｄｓｒｃ内の周辺のデータへと伝播させることで、変形を行う。具体的には、転移先ロボットにおいて得られた動作サンプルデータＤｔｇｔ内のサンプルそれぞれについて、移転元ロボットのデータセットＤｓｒｃの中から、近い動作を探し出す。そして、双方の動作に対応するエンドエフェクタの座標値の誤差を算出する。さらに、その誤差を、同じような関節値を持つＤｓｒｃ内のデータへと伝播させて、座標値空間を変改させてゆく。
【００５５】
以下、誤差伝播法により
0006550605.tif 000051
を求める手法を具体的に開示する。
【００５６】
実施の形態２にかかる動作の転移装置１００の構成は、実施の形態１と同様であるため説明を省略する。
【００５７】
つづいて、図４のフローチャートを用いて、本発明の実施の形態２にかかる動作の転移装置１００の動作について説明する。なお、図５のアルゴリズムは、上記フローチャートが示す処理の一実装例である。
【００５８】
Ｓ２０１：転移先データセットの初期化
実施の形態１と同様に、転移元動作情報取得部１０１は、転移元のデータセットＤｓｒｃを取得する。また、補正部１０３は、転移先データセットとして
0006550605.tif 000052
を生成する。この際、初期値としてＤｓｒｃと同じ値を設定する（図５、第２行）。
【００５９】
Ｓ２０２：転移先動作サンプルの関節値、座標値の全ての組について繰返し処理
実施の形態１と同様に、転移先動作情報取得部１０２は、転移先ロボットの動作サンプルＤｔｇｔを取得する。また、補正部１０３は、Ｄｔｇｔに含まれる関節値Ｊｔｇｔ及び座標値Ｘｔｇｔのペアそれぞれについて、Ｓ２０３以降の処理を繰り返し実行する。
【００６０】
Ｓ２０３：転移先動作サンプルの座標値と転移先データセットの最寄りの座標値との差分を算出
補正部１０３は、転移先ロボットの動作サンプルＤｔｇｔに含まれる座標値
0006550605.tif 000053
に最も近い座標値
0006550605.tif 000054
を、転移先のデータセット
0006550605.tif 000055
から探し出し、両者の誤差
0006550605.tif 000056
を算出する（図５、第３、５−７行）。
【００６１】
より具体的には、補正部１０３はまず、転移先ロボットの動作サンプルＤｔｇｔに含まれる関節値
0006550605.tif 000057
の、関節値空間における最近傍の関節値
0006550605.tif 000058
を、転移先のデータセット内の関節値群
0006550605.tif 000059
から探し出す（図５、第５行）。ついで、補正部１０３は、
0006550605.tif 000060
のペアである
0006550605.tif 000061
を、転移先のデータセット
0006550605.tif 000062
から探し出す（図５、第６行）。そして、補正部１０３は、今回の入力
0006550605.tif 000063
と
0006550605.tif 000064
の誤差
0006550605.tif 000065
を計算する（図５、第７行）。ここでも、実施の形態１と同様に、関節値空間から先に計算が行われる。
【００６２】
Ｓ２０４：パラメータ設定
ここで補正部１０３は、
0006550605.tif 000066
の変形処理にかかるパラメータを設定しても良い（図５、第４行）。ここでも、実施の形態１と同様に、シグモイド関数の特性を変更することで、変形処理（学習処理）のスピードを調整することが可能である。
【００６３】
Ｓ２０５：転移先データセットの関節値、座標値を補正
補正部１０３は、転移先のデータセット
0006550605.tif 000067
を変形する処理を行う。すなわち、
0006550605.tif 000068
に含まれるすべての座標値
0006550605.tif 000069
を補正することにより、関節値
0006550605.tif 000070
と上記座標値のマッピングを、転移先のロボットに最適化する（図３、第９−１２行）。
【００６４】
より具体的には、補正部１０３はまず、
0006550605.tif 000071
に含まれる関節値
0006550605.tif 000072
と
0006550605.tif 000073
との距離ｄｊを算出する（図３、第９行）。ついで、補正部１０３は、ｄｊ及びＳ１０３で算出した変位
0006550605.tif 000074
を用いて、以下の更新式により
0006550605.tif 000075
を補正する（図５、第１０行）。これにより、上記変位が他の座標点にも伝播する。
0006550605.tif 000076
【００６５】
ここで、上記更新式は、実施の形態１の更新式を修正したものである。詳しくは後述するが、実施の形態１のＳＯＭ変形法では、入力された座標値（転移先の動作サンプルＤｔｇｔの座標値群Ｘｔｇｔ）に対し、
0006550605.tif 000077
の他の座標値が寄って行くような変形が行われる。これに対し、実施の形態２の誤差伝播法では、入力された座標値と、
0006550605.tif 000078
内の対応する座標値との誤差が他の座標値にも伝播し、それに基づいて移動するような変形が行われる。本発明における、ロボットの動作の転移という問題設定に鑑みると、実施の形態２の更新式によりデータセットを変形させる方がより効率が良い。
【００６６】
本実施の形態によれば、動作の転移装置１００は、実施の形態１に比較してより適切かつ効率の良い動作の転移を実現できる。
【００６７】
＜実験＞
実施の形態１及び２にかかる動作転移手法の効果を検証するため、発明者は２種類の実験を実施した。１つめの実験はエンドエフェクタが２次元平面上を動作する２軸のロボットを用いた実験、２つめの実験はエンドエフェクタが３次元空間内を動作する６軸の実機のロボットを用いた実験である。前者の２軸のロボットを用いて主に定量的な評価を、後者の６軸のロボットを用いて有効性の評価を行う。
【００６８】
＜２軸のロボットによる実験＞
実験環境：２軸の片腕ロボットをシミュレータ上に作成し、シミュレータ上で動作を転移した後、エンドエフェクタの位置誤差の定量的な評価を実施する。そのために、腕の長さが異なるロボットを４種類用意した。それぞれのロボットの腕の長さを図７に示す。また、それぞれの腕の長さの場合のロボットの動作可能な空間を図６に示す。また、関節値の可動範囲は、０から１８０度に限定した場合（以降「関節値に制限あり」と呼び、図６はこちらである）と、０から３６０度にした場合（以降「関節値に制限なし」と呼ぶ）の２つのパターンで実験を行う。関節値に制限なしの場合、任意の場所にエンドエフェクタを持って行くための関節値の候補が複数存在することがあり、ロボットの動作生成が一律でない。
【００６９】
本実験では、ロボットＳｒｃを転移元のロボットとして、ロボットＡ、Ｂ、Ｃへと動作の転移を実施する。そして、その時の位置誤差の絶対値
0006550605.tif 000079
を計測する。ここで、
0006550605.tif 000080
は目標として指定された座標値、
0006550605.tif 000081
は実際にロボットが到達したエンドエフェクタの座標値である。
【００７０】
転移元のロボットのデータセットＤｓｒｃは、ロボットＳｒｃの各関節の値を０．０３１４≒π／１００［ｒａｄ］ずつ動かして得られたグリッド上の関節値のデータと、その関節値それぞれから得られたエンドエフェクタの絶対座標値（ＸＹ平面）である。データ数は、関節値に制限ありの場合で１００００サンプル、関節値に制限なしの場合で４００００サンプルとした。
【００７１】
転移先のロボットの動作サンプルＤｔｇｔは、ロボットＡ、Ｂ、Ｃそれぞれにおいてランダムに設定した関節値と、その関節値それぞれから得られた座標値である。データ数は、関節値の制限の有無に関わらず、５０サンプルとした。
【００７２】
本実験の評価は、ランダムな目標へ２００回腕を動かす実験を１００回実施し、その時の目標とエンドエフェクタとの位置誤差を記録することで行った。パラメータは、ａｓ＝１、ａｅ＝０．１とした。これらの値は、一番難しいと考えられる転移を小規模で事前実施し多彩に得られた、それぞれのパラメータの最良値である。本実験では、以下の６つの実験データを比較した。
【００７３】
ＳＴｇｔ：少量のサンプルデータＤｔｇｔを、転移先のロボットのデータセットとして単純に利用した場合
Ｌｓｒｃ：データＤｓｒｃを単純にコピーし、転移先のロボットのデータセットとして利用した場合
ＴＳｏｍ：ＳＯＭ変形法を用いて転移した場合
ＴＥｒｒ：誤差伝播法を用いて転移した場合
ＬＴｇｔ：転移先のロボットにおいて大量の動作サンプルを得た場合（理論上の最小誤差）
【００７４】
実験結果：関節値に制限ありの場合の、位置誤差の箱ひげ図を図９に示す。また、関節値に制限なしの場合の、箱ひげ図を図１０に示す。また、関節値に制限ありの場合（Ｌ）及び関節値に制限なし（Ｎ）の場合それぞれにおける平均値、標準偏差を図８に記す。
【００７５】
図８乃至１０によれば、幾つかの転移手法の中でも、誤差伝播法（ＴＥｒｒ）を用いることで、理論上の最小誤差（ＬＴｇｔ）に近い位置誤差まで抑えることができることがわかる。これは、腕の長さ等の物理特性の異なるロボットであっても、転移元のロボットが十分学習されていれば（ここでは数万サンプル）、転移先のロボット上で少量のサンプル（５０サンプル）を集めることで、大量のサンプル（数万サンプル）を学習したときと同程度での精度での稼働が実現できることを意味する。つまり、ロボット１台１台に対して動作の学習を行う手間を抑制し、効率的な動作の転移を行うことができる。
【００７６】
ところで、誤差伝播法を用いてもなお位置誤差は一定程度存在しており、本実験のみでは、本発明にかかる手法が実際にロボットの動作の転移手法として有効であるか不明である。よって、つぎに実機のロボットにおける本発明の有効性について検証する。
【００７７】
＜６軸の実機ロボットによる実験＞
実験環境：本実験では、図１２に示す実機のロボットを転移先として使用する。この移転先のロボットは、６軸の左腕を備えている。このロボットに対する転移元として、移転先のロボットの腕に似たスペックを持つロボットを、シミュレータ上に作成する。この移転元のロボットの外観を図１１に示す。また、このロボットの腕と手首の長さを図１３に示す。ここでは、シミュレータ上にロボットα、ロボットβの２種類の移転元ロボットを作成した。これらのシミュレータ上の移転元ロボットα及びロボットβの左腕を用いて、大量にデータベースを収集し、実機のロボットに対して動作の転移を実施した。
【００７８】
実験時に使用したデータの詳細を記述する。転移元であるシミュレータ上のロボットで獲得したデータセットＤｓｒｃは、それぞれの関節を０．０１５７≒π／２００［ｒａｄ］ずつ動かしたものであり、データ数は約７０万サンプルである。転移先の実機のロボットにて獲得した少量の動作サンプルＤｔｇｔは、ランダムに実機のロボットを動かすことで取得し、１００サンプルとした。
【００７９】
ここでは、２種類の実験を実施する。６軸のロボットを用いた場合の定量的な評価と、実機を用いた実証実験である。前者の実験の方法は、上述の２軸のロボットによる実験と同様である。後者の実験としては、実機のロボットにて任意の目標位置にエンドエフェクタを持っていかせ、その場所に予め置かれた物体を把持させる。この時、物体の位置については、ロボットが搭載するカメラと深度センサを用いることで絶対座標を特定できる。
【００８０】
本実験でも、ＳＴｇｔ、Ｌｓｒｃ、ＴＳｏｍ、ＴＥｒｒ及びＬＴｇｔの６つの実験データを比較した。
【００８１】
実験結果：ロボットα、βのそれぞれを転移元とし、６つの手法をそれぞれ用いた場合のエンドエフェクタの位置誤差の箱ひげ図を図１４に示す。また、平均値、標準偏差を図１５に記す。図１４及び１５によれば、２軸の場合と同様、６軸の場合においても、誤差伝播法を用いることでより高い効率で位置誤差を削減できることがわかる。また、誤差伝播法を用いた１回の転移に要する時間は、５６．８±３［ｓｅｃ］であり、実用に耐えうる時間と評価できる。
【００８２】
つぎに、実機の６軸のロボットにてロボットβから転移された情報を使い、任意の場所に置かれた物体を把持する実験を実施した。その結果、実際に物体を把持することができることを確認した。よって、本発明にかかる手法は、実環境における動作転移にも有効と評価できる。
【００８３】
＜実施例の比較＞
上記実験結果によれば、実施の形態１にかかるＳＯＭ変形法により動作転移を行った場合、位置誤差が比較的大きくなることがわかる。一方、実施の形態２にかかる誤差伝播法によれば、位置誤差は非常に小さい。
【００８４】
２軸のロボットを転移先として使用し、ロボットＡからの転移を実施した時の２つの変形法のそれぞれのエンドエフェクタの絶対座標空間を図１６及び１７に記す。図１６はＳＯＭ変形法を用いた場合、図１７は誤差伝播法を用いた場合である。
【００８５】
図１６及び図１７において、点Ａ（白抜きの丸で表される）は転移先のロボット上で入力された少量の動作サンプルの座標値Ｘｔｇｔを示す。点Ｂ（大きな黒丸で表される）は転移後の座標値
0006550605.tif 000082
を示す。線分は動作の転移による座標値の移動（データセットの補正変形）の軌跡を示す。点Ｃ（小さな黒丸で表される）は転移先のロボットで大量の動作サンプルを取得できると仮定した場合の座標値を示す。ここで、点Ｂと点Ｃとが重なっている状態であれば、その転移手法では、移転先ロボットにおいて十分にすなわち移転元ロボットと同程度に学習したときと同じ誤差を抑えられていることになる。
【００８６】
図１６から分かるように、ＳＯＭ変形法では、転移先のロボット上で入力された少量の動作サンプルである点Ａの近傍に、転移後の座標値である点Ｂが移動している。これは、ＳＯＭ変形法の基礎となっているＳＯＭは、元来、未知の対象に対してネットワークを変形する手法として提案されたものであり、入力された情報に沿って変形させるアルゴリズムであることによる。
【００８７】
一方、図１７からわかるように、誤差伝播法では、転移先のロボット上で入力された少量の動作サンプルである点Ａと転移元のロボットにおける座標点との誤差、つまり線分で示された座標点の補正量が、周辺の座標点に伝播して、データセットが持つ座標点の補正が行われる。これは、誤差伝播法は、ＳＯＭ変形法とは問題設定が異なり、転移先と似た環境を有する転移元についての情報を事前に得ている状態から、転移先へ情報を“転移”させることを目的としていることによる。かかる問題を解決する手段として、誤差伝播法では、新しい環境（転移先）と学習済みの環境（転移元）との誤差を用いてデータを転移先に適応させている。
【００８８】
すなわち、ある環境から似た環境へ学習データを転移させる問題に対しては、誤差伝播法のほうがより適しており、誤差の少ない転移を実現しやすいのである。
【００８９】
＜その他の実施の形態＞
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、転移元の座標値と転移先の座標値とのマッピングにシグモイド関数を採用した。しかし、シグモイド関数に代えて、アークタンジェント（ａｒｃｔａｎ）をはじめとする任意の関数を採用しても良い。
【００９０】
また、上述の実施の形態では、関節値空間、座標値空間の２空間の存在を前提として動作情報の転移を行う手法を開示した。しかしながら、空間数は任意のＮであって良い。この場合、上述の更新式は空間数に応じ任意に拡張することができる。例えば、センサ値の空間を追加し、関節値及び座標値の関数として座標値を定義することが考えられる。センサ値は、例えば腕の状態（折れや曲がり等）を示すデータであって良い。これにより、センサ値を考慮しながら動作を行うことができるので、ロボット自身やその周辺の状態に応じた動作の選択、動作の生成が行うことができると考えられる。
【００９１】
また、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００９２】
１００  動作の転移装置
１０１  転移元動作情報取得部
１０２  転移先動作情報取得部
１０３  補正部
１０４  出力部
【図１】
0006550605.tif 000083
【図２】
0006550605.tif 000084
【図３】
0006550605.tif 000085
【図４】
0006550605.tif 000086
【図５】
0006550605.tif 000087
【図６】
0006550605.tif 000088
【図７】
0006550605.tif 000089
【図８】
0006550605.tif 000090
【図９】
0006550605.tif 000091
【図１０】
0006550605.tif 000092
【図１１】
0006550605.tif 000093
【図１２】
0006550605.tif 000094
【図１３】
0006550605.tif 000095
【図１４】
0006550605.tif 000096
【図１５】
0006550605.tif 000097
【図１６】
0006550605.tif 000098
【図１７】
0006550605.tif 000099
【図１８】
0006550605.tif 000100
【図１９】
0006550605.tif 000101