JP3653224B2 - ロボット、単語学習装置およびその方法 - Google Patents
ロボット、単語学習装置およびその方法 Download PDFInfo
- Publication number
- JP3653224B2 JP3653224B2 JP2000402922A JP2000402922A JP3653224B2 JP 3653224 B2 JP3653224 B2 JP 3653224B2 JP 2000402922 A JP2000402922 A JP 2000402922A JP 2000402922 A JP2000402922 A JP 2000402922A JP 3653224 B2 JP3653224 B2 JP 3653224B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- data
- candidate
- type
- given
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 97
- 230000007613 environmental effect Effects 0.000 claims description 166
- 230000008569 process Effects 0.000 claims description 81
- 230000000875 corresponding effect Effects 0.000 claims description 43
- 230000009471 action Effects 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 34
- 230000003252 repetitive effect Effects 0.000 claims description 16
- 230000002093 peripheral effect Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 15
- 238000001514 detection method Methods 0.000 description 10
- 230000007257 malfunction Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、移動物体の単語学習に関する。
【0002】
【関連技術および発明が解決しようとする課題】
出願人は特願2000−235352号にて、動作制御データ生成装置を既に出願しており、これによりロボットに動作およびこれと対応する単語を学習させることができる。簡単に説明すると、「1)ロボットを図6に示すような環境下で移動命令を与え任意に移動させる」、「2)その際、記憶させたい学習単語「交差点前進」、「三叉路右折」などをあわせて記憶させる」、「3)ロボットは同じ学習単語が与えられた環境データを一般化して、各学習単語についての環境データを生成する」というものである。
【0003】
上記動作と単語との対応を上記手法にて学習させる場合に、繰り返しの概念を有する単語を学習させる場合に、当該動作を所定回数繰り返さなければならない。例えば、「3回橋を渡る」という単語に対応する動作をロボットに学習させる場合、橋を渡るという動作を3回繰り返し教えなければならない。
【0004】
かかる問題を解決するために繰り返しとはどのような処理すべきかを、あらかじめプログラムしておくことは煩雑である。
【0005】
この発明は上記問題を解決し、あらかじめ個々の学習処理についてのプログラムを用意することなく、移動物体が学習可能な移動物体学習方法またはその装置を提供することを目的とする。
【0006】
さらに詳しくは、移動物体が繰り返しの概念を簡易に学習することができる繰り返し概念学習方法またはその装置を提供することを目的とする。
【0007】
【課題を解決するための手段および発明の効果】
1)本発明にかかるロボットは、操作者の移動命令に基づいて自走するロボットであって、A)所定時間ごとに周辺の環境との距離データを検出し、あらかじめ記憶された環境把握規則を用いて、時系列順の所定数の周辺環境データで構成された周辺環境組データを生成する周辺環境組データ生成手段、B)前記移動中に操作者から単語が与えられると、第1型データテーブルを生成して、各項目にする周辺環境組データを記憶させる第1型データテーブル生成手段、b1)前記第1型データテーブルは、単語を記憶する単語項目、前記生成された周辺環境組データを記憶する周辺環境組データ項目、および前記各周辺環境データに対応する移動命令を記憶する移動命令項目を有する、C)前記単語項目が同じ第1型データテーブルについて、周辺環境組データ項目に記憶された周辺環境組データの一致演算を行い、一致する周辺環境組データはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えて記憶する第1抽象化手段であって、いずれかの第1型データテーブルについて、周辺環境組データ項目および対応する移動命令の組み合わせが、他の第1型データテーブルの周辺環境組データ項目およびその移動命令の組み合わせと一致するか否か判断し、一致する組み合わせが存在する場合には、以下の第2型データテーブルを生成するとともに、一致する組み合わせが複数である場合には、引用単語項目に引用単語を前記複数回記憶する第1抽象化手段、c1)前記第2型データテーブルは、以下の2つの項目を有している、c11)前記第1データテーブルの単語を記憶する単語項目および、c12)前記生成された周辺環境組データを記憶する周辺環境組データ項目および前記各周辺環境データに対応する移動命令を記憶する移動命令項目に代えて、当該一致する他の対応周辺環境組データの単語項目を記憶する引用単語項目、D)前記第2型データテーブルの単語項目が一部または全部重複する第2型データテーブルについて、前記引用単語項目に記憶された引用単語の一致演算を行い、一致する場合にはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えるとともに、当該単語項目に記憶された単語の各文字についても一致する場合にはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えて記憶する第2抽象化手段であって、前記複数の引用単語項目に記憶された引用単語を全文字列一致可能文字列に変換する場合には、各第2型データテーブルについて、引用単語項目に記憶された引用単語が同じである場合には、その情報を同一情報として記憶する第2抽象化手段をそなえている。このように、第2抽象化手段は、引用単語に変換してから、前記全文字列一致可能文字列に変換することにより、前記単語項目に共通の文字列があり、かつ引用単語文字列の個数が同じ場合には、前記前記全文字列一致可能文字列に変換が可能となる。また、前記同一情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0008】
また、本発明にかかるロボットは、E)以下のe1)〜e2)を有する対応動作特定手段、e1)操作者から単語が与えられると、かかる単語と、前記第2抽象化手段に記憶された各第2型データテーブルの単語項目に記憶された単語とを比較して、操作者から与えられた単語が、前記第2型データテーブルの単語項目に記憶された単語の全文字列一致可能文字以外の文字列と一致するか否か判断し、一致する場合には、その第2データテーブルを特定するとともに、操作者から与えられた単語のうち前記特定した第2型データテーブルの単語項目に記憶された単語の全文字列一致可能文字と合致させた文字列については、前記第1抽象化手段に記憶された第1型データテーブルのうち、当該文字列と単語項目に記憶された単語とが一致する第1型データテーブルを特定するデータテーブル特定手段、e2)当該引用単語に代えて前記特定した第1型データテーブルの周辺環境組データおよびこれに対応する移動命令に置換する動作特定手段であって、前記特定した第2データテーブルの引用単語に同一情報が付加されている場合には、全引用単語について置換処理を行う。これにより、前記繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0009】
なお、周辺環境組データ生成手段は、実施形態では図7ステップS1からステップS5までのCPUの処理が該当し、第1型データテーブル生成手段は図38に示すデータを生成する図37ステップS107のCPUの処理に該当し、第1抽象化手段は、図41に示すデータを生成する図37ステップS111のCPUの処理に該当し、第2抽象化手段は、図42に示すデータを生成する図37ステップS113のCPUの処理に該当し、対応動作特定手段は図37ステップS117,ステップS119のCPUの処理に該当する。
【0010】
2)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が、複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補として記憶する第2抽象化手段を備えている。このように、第2抽象化手段は、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0011】
さらに、本発明にかかる単語学習装置は、C)前記操作者から単語が与えられると、前記第1抽象化手段に記憶された前記第1型の候補のいずれか、および前記第2抽象化手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段を備えている。これにより、前記繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0012】
なお、第1抽象化手段は、図38に示すデータを生成する図37ステップS107のCPUの処理に該当し、第2抽象化手段は図42に示すデータを生成する図37ステップS111,ステップS113のCPUの処理に該当し、環境動作データ生成手段は、図37ステップS117、ステップS119のCPUの処理に該当する。
【0013】
3)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かを付加する処理を含む抽象化処理を行い、第2型の候補として記憶する第2抽象化手段を備えている。このように、第2抽象化手段は、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0014】
4)本発明にかかる単語学習装置においては、前記引用単語について、同じ引用単語については同じブロックIDを、異なる引用単語については異なるブロックIDを、前記引用単語の代えて置換する。したがって、付与するブロックIDに基づいて前記繰り返し用の候補枠を生成することができる。
【0015】
5)本発明にかかる単語学習装置においては、前記移動物体から与えられる検出された周辺環境データは、所定時間ごとに周辺の環境との距離データを検出し、あらかじめ記憶された環境把握規則を用いて、抽象化して生成された時系列順の所定数の周辺環境データで構成されている。したがって、距離データから前記周辺環境データを生成することができる。
【0016】
6)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、各候補について、前記引用単語が複数含まれているか否かの付加判断も実行する抽象化処理を行い、第2型の候補として記憶する第2抽象化手段を備えている。このように、第2抽象化手段は、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0017】
7)本発明にかかる環境動作データ生成装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶する第1候補記憶手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶する第2候補記憶手段、C)前記操作者から単語が与えられると、前記第1候補記憶手段に記憶された前記第1型の候補のいずれか、および前記第2候補記憶手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段を備えている。したがって、あらかじめ記憶した繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0018】
8)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)所定のデータ構造のデータ群が複数与えられると、前記データ構造を変更することなくデータ内容の抽象化を実行する抽象化手段であって、前記移動物体から与えられる、検出された周辺環境データ、移動命令および単語で構成されたデータ構造を有する単語付き環境動作データを抽象化して、単語付き環境動作データを第1型の候補を生成する抽象化手段、B)前記第1記憶手段に記憶された第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させて、変換第1型候補を生成する変換候補生成手段を備え、C)前記抽象化手段は、前記変換第1型候補を抽象化することにより、変換第1型候補を第2型の候補を生成する。このように、抽象化手段は、前記変換第1型候補に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。これにより、繰り返し用の候補枠を生成することができる。さらに、D)前記操作者から単語が与えられると、前記第1記憶手段に記憶された前記第1型の候補のいずれか、および前記第2記憶手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段を備えている。これにより、環境動作データを生成することができる。
【0019】
抽象化手段は、図37ステップS107、ステップS113のCPUの処理に該当し、変換候補生成手段は図41に示すデータを生成するためのステップS111の処理が該当し、環境動作データ生成手段は、図37ステップS117、ステップS119のCPUの処理に該当する。
【0020】
9)本発明にかかる単語学習方法は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習方法であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、これにより複数の第1型の候補を生成し、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補を生成する。このように、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0021】
10)本発明にかかる環境動作データ生成方法は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成方法であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶しておき、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶しておき、C)前記操作者から単語が与えられると、前記記憶された前記第1型の候補のいずれか、および前記記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する。したがって、あらかじめ記憶した繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0022】
特許請求の範囲で用いた用語と実施形態との対応について説明をする。
【0023】
「文字列の一部または全部が一致する単語に基づく抽象化処理」とは、実施形態では、例えば、環境単語および動作単語が同じデータである図21Aに示すデータと図21Bに示すデータから、図21Cに示すデータを生成することが該当する。
【0024】
「当該候補の単語の一部または全部が一致する他の候補が存在する場合」とは、実施形態では、「3回交差点右回」、「3回交差点左回」が存在する場合が該当する。
【0025】
「前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理」とは、実施形態では、図42に示す個別枠が同じデータが格納されていたことを付加する処理に該当する。
【0026】
「前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理」とは、実施形態では、図42に示す個別枠が同じデータが格納されていたことを付加する処理に該当する。
【0027】
「前記データ構造を変更することなくデータ内容の抽象化を実行する」とは、例えば、図18Aおよび図18Bに示すデータから図18Cに示すデータを生成することが該当する。また、図41に示すデータから図42に示すデータを生成することも該当する。
【0028】
「環境動作を表す単語」とは実施形態では、環境単語および動作単語の組データに該当する。
【0029】
【発明の実施の形態】
A)先の出願における開示
本願発明の実施形態を説明する前に先の出願において開示した技術について説明する。
【0030】
1.機能ブロック図の説明
図1に示す移動物体動作制御データ生成装置10は、通路および各通路が交わる通路交わり点で構成された環境下で、移動物体の動作を人間が用いる環境特定単語で制御するために、移動物体1に前記環境特定単語を学習させる装置であって、第1の記憶手段3、付加手段5、第1規則記憶手段7、抽象化集合環境データ特定手段9、第2の記憶手段11、連データ決定手段13、および生成手段15を備えている
まず、移動物体1について説明する。移動物体1は、操作者から前記環境下にて移動させる移動命令が与えられると、当該移動命令に基づいて、自らを移動させる駆動手段4、および所定時間毎に方向別距離データの集合である集合距離データを計測する集合距離データ計測手段2を備えている。
【0031】
第1の記憶手段3は、前記所定時間ごとの集合距離データを、前記移動物体の動作データとともに記憶する。付加手段5は、前記移動中に前記通路交わり点にて、操作者から当該環境を表す環境特定単語が与えられると、前記集合距離データに付加して記憶させる。第1規則記憶手段7は、前記集合距離データを構成する方向別距離データの値の相互関係と周辺環境の抽象化環境データとの対応規則を記憶する。抽象化集合環境データ特定手段9は、前記対応規則に基づいて、第1の記憶手段3に記憶された前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定する。第2の記憶手段11は、前記方向別の抽象化集合環境データを記憶する。連データ決定手段13は、第2の記憶手段11に記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目抽象化集合環境データとして決定し、前記注目抽象化集合環境データとともに、その前後所定数の抽象化集合環境データを連データとして決定する。生成手段15は、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する連データとして生成する。
【0032】
このように、所定時間ごとの集合距離データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者が環境特定単語を与えるだけで、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0033】
また、共通抽象化集合環境データの生成においては、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。したがって、環境特定単語および動作が同じ連データを一般化した動作指令連データを生成することができる。
【0034】
2.ハードウェア構成
図1に示す動作制御データ生成装置10を備えた動作計画決定ロボット(以下ロボットと略す)20について説明する。
【0035】
ロボット20は図2に示すように、一対の前輪47,一対の後輪48で自走可能であり、側壁には5つのセンサ40s1〜40s5が設けられている。5つのセンサは図3に示すように、かかるセンサにより全周に渡って障害物との距離を測定することができる。ロボット20はリモコンからの駆動命令をアンテナ21で受信して、かかる駆動命令に基づいて、自走する。
【0036】
ロボット20のハードウェア構成について図4を用いて説明する。ロボット20は、CPU23、RAM27、キーボード28、インターフェイス31、通信ボード28およびバスライン29を備えている。CPU23は、ROM25に記憶された制御プログラムにしたがいバスライン29を介して、各部を制御する。
【0037】
なお、この制御プログラムは、PCカード等の記録媒体から読み出してROM25に書き込むようにしてもよい。なお、PCカード以外に、フレキシブルディスク、CD−ROM、ICカード等のプログラムを実体的に一体化したコンピュータ可読の記録媒体から、ROM25にインストールさせるようにしてもよい。さらに、通信回線を用いてダウンロードするようにしてもよい。
【0038】
操作者の与えた開始命令、終了命令、各種の駆動命令は、通信ボード28を介して、CPU23に与えられる。インターフェイス31には、5つのセンサ40s1〜40s5が接続されている。
【0039】
また、インターフェイス31には、後輪駆動モータMを駆動制御するモータ駆動部37、ハンドリング制御を行うモータ駆動部38が接続されている。モータ駆動部37は図2に示す後輪47を、モータ駆動部38は前輪48をそれぞれ制御する。
【0040】
RAM27にはその他、各種の演算結果等が記憶される。
【0041】
ROM25には、図5に示すように、環境データと抽象化環境データの対応テーブルが記憶されている。かかる対応テーブルにより、ロボット20は、5つのセンサから抽出したセンサ値に応じて、周りの環境を把握することができる。この意味では、環境データは条件(具体的数値)であり、抽象化環境データは結果(検出された環境を表すデータ)の関係にある。
【0042】
3.フローチャート
つぎに、ROM25に記憶されているプログラムについて説明する。ROM25には、図7〜図10に示す複数のプログラムが記憶されている。
【0043】
図7は、全体のフローチャートである。操作者は、図6に示す軌跡120に沿ってロボット20が移動するように、リモコン(図示せず)から動作制御命令を与える。かかる動作制御命令は、図4に示す通信ボード28で受信され、CPU23に与えられる。CPU23は、図8に示す駆動処理プログラムに基づいて駆動処理を行う。具体的には、CPU23は、移動命令である駆動命令が与えられるか否か判断しており(図8ステップS11)、駆動命令が与えられると、かかる駆動命令を実行する信号をモータ駆動部37,39に与える(ステップS13)。これにより、モータM1,M2が駆動され、ロボット20は図6に示す軌跡120に沿って移動する。なお、与えられた駆動命令はRAM27に一時的に記憶される(ステップS15)。
【0044】
移動に際して、CPU23は、センサ値の検出処理を行う(図7ステップS1)。かかる検出処理の詳細について、図9を用いて説明する。CPU23は、所定時間(この場合Δt秒)が経過するか否か判断しており(図9ステップS21)、所定時間が経過すると、5つのセンサ40s1〜40s5の検出値を記憶する(ステップS23)。CPU23は、現在の駆動命令とともに、集合データとしてRAM27に記憶する(ステップS25)。これにより、図11Aに示す時刻t1の時の各センサの値およびそのときの動きが記憶される。ステップS21〜ステップS25の処理を繰り返すことにより、図11Aに示すように、所定時間間隔毎の集合距離データが複数RAM27に記憶される。
【0045】
なお、各センサはロボット20のボディ(側壁)に設けられているので、ロボット20が回転すると一緒に回転する。したがって、各センサ値はロボット20が回転中は検出しないようにしている。また、図11Aにおいて、回転前と回転後でセンサ値が全く異なる値となっているのはそのためである。このようにロボットの進行方向をY方向とする座標系で数値を検出することにより、ロボットの進行方向に対する相対的な環境データを抽出することができる。
【0046】
なお、操作者は、ロボット20が移動中に、学習させる環境特定単語および動作特定単語を適当なタイミングで入力する。例えば、時刻t1では「通路・前進」、時刻t7では「交差点・右折」、時刻t10では「通路・前進」・・・というように、リモコン(図示せず)を操作して、ロボット20に与える。
【0047】
ロボット20では、移動中は、図9に示すプログラムとともに、図10に示すプログラムも実行されている。CPU23は、環境特定単語および動作特定単語が操作者から与えられるか否か判断しており(ステップS31)、環境特定単語および動作特定単語が操作者から与えられると、そのタイミングで、前記集合距離データに付加する。
【0048】
これにより、図11Bに示すように、環境特定単語および動作特定単語が付加された集合距離データが生成される。
【0049】
つぎに、CPU23は、前記集合距離データに基づいて、周辺環境の抽象化環境データを生成する(図7ステップS3)。抽象化環境データ生成処理について、簡単に説明する。図11Aに示すように各時刻毎に5つの方向別距離データが計測されている。これを集合距離データという。かかる集合距離データについて、図5に示す対応テーブルを用いて、方向別距離データから方向別環境データを生成する。例えば、時刻t1、t2において、左方向は、センサ値がともに「40」で、かつ、動作はともに「前進」である。したがって、ルール3により、面があると判断する。左前方向、右前方向、右方向についても、同様である。
【0050】
なお、前方向はセンサ値が無限大であるので、「空き」であると判断する。また、時刻t2から時刻t3にて、前方向は、「無限大」から「85」と、センサ値が大幅に異なる。したがって、ルール4によって、それらの間に端があると判断する。左前方向も同様である。
【0051】
なお、本実施形態においては、5方向の距離を計測するようにしたので、ルール1,2を適用できる場合が生じていないが、左後ろ、右後ろ、後ろなどの8方向の距離を計測した場合には、ルール1,2を適用して、抽象化環境データを生成することができる。さらに、細かく、例えば、12方向,16方向などより多くの方向にセンサを設けて、その値を計測するようにしてもよい。
【0052】
これにより、図12〜図16に示すような抽象化環境データが生成される。
【0053】
つぎに、CPU23は、図7ステップS5に示す抽象化連データの生成処理を行う。抽象化連データの生成処理について、図17を用いて説明する。CPU23は、連データを決定する(図17ステップS41)。連データとは、「通路」、「交差点」・・などの環境特定単語が付加されている抽象化集合環境データを中心とする前後所定個数の抽象化集合環境データの集まりをいう。本実施形態においては、前記連データの中心となる抽象化集合環境データを注目集合環境データといい、かかる注目集合環境データを中心として、前後2つずつ、計5つの抽象化集合環境データを1つの連データとして、決定するようにした。これにより、図12から図16に示す抽象化集合環境データによって、複数の連データが決定される。
【0054】
つぎに、CPU23は、環境特定単語および駆動命令が同じ連データをグループ化する(図17ステップS43)。たとえば、環境特定単語「三叉路」駆動命令「右回り」である連データは、t7を注目集合環境データとするt5からt9の連データ、t23を注目集合環境データとするt21からt26の連データである。したがって、これらが1つのグループとされる。同様にして、環境特定単語「通路」駆動命令「前進」である連データは、t10、t18、t29,t39,t47,t55,t64,t73,t82,t90,t100を注目集合環境データとする連データである。環境特定単語「交差点」駆動命令「左回り」である連データは、t14,t60である。環境特定単語「交差点」駆動命令「右回り」である連データは、t51,t86である。環境特定単語「三叉路」駆動命令「左回り」である連データは、t77,t96である。環境特定単語「曲がり角」駆動命令「右回り」である連データは、t43である。単語「曲がり角」駆動命令「左回り」である連データは、t69である。環境特定単語「交差点」駆動命令「前進」である連データは、t35である。環境特定単語「三叉路」駆動命令「直進」である連データは、t105である。
【0055】
つぎに、処理対象グループ番号iを初期化し(図17ステップS45)、i番目のグループについて、一般化処理を行う(ステップS47)。一般化処理とは、各グループに属する連データの各方向別環境データを抽象化することをいう。例えば、環境特定単語「交差点」駆動命令「右回り」であるグループでは、注目集合環境データt51,t87を中心として、両者を重ねあわせる。この場合、図18A,Bに示すように、t49とt85では、左、前、右前、右が一致し、t50とt86では左、左前、〜右のすべてが一致し、t52とt88では左、左前、〜右のすべてが一致し、t53とt89では左、左前、〜右のすべてが一致する。したがって、環境特定単語「交差点」駆動命令「右回り」のグループとしては、図18Cに示すように、一般化される。
【0056】
つぎに、CPU23は、全グループについて一般化処理が終了したか否か判断する(ステップS49)。全グループについて一般化処理が終了していなければ、処理対象グループ番号iをインクリメントCPU(ステップS51)、ステップS47の処理を繰り返す。
【0057】
このようにして、環境特定単語と駆動命令のペアが「三叉路・右回り」、「三叉路・左回り」、「三叉路・直進」、「通路・前進」、「交差点、左回り」、「交差点・右回り」、「交差点・前進」、「曲がり角・右回り」、「曲がり角・左回り」についてそれぞれ、生成される。図19に、2つの連データから、環境特定単語と駆動命令のペアが「交差点・左回り」が生成される様子を示す。図20に、2つの連データから、環境特定単語と駆動命令のペアが「三叉路・右回り」を、図21に、2つの連データから、環境特定単語と駆動命令のペアがそれぞれ「三叉路・左回り」、「交差点・右回り」である場合を示す。図22に環境特定単語と駆動命令のペアが「通路・直進」の抽象化連データを示す。
【0058】
このようにして、駆動命令が異なる環境特定単語ごとに、抽象化連データが生成される。
【0059】
かかる抽象化連データを動作指令連データとして、ロボット20に記憶させておき、操作者が、環境特定単語とともに、動作特定単語をロボット20に与えると、図6において、軌跡120以外の軌跡についても、操作者の意図する動きをロボット20にさせることができる。
【0060】
例えば、図23Aにおいて、地点130にロボット20がおかれ、軌跡140にて、ロボット20を移動させたい場合には、操作者は、「通路・直進」、「三叉路・右回転」、「通路・直進」と命令を与える。ロボット20は、「通路・直進」、「三叉路・右回転」の各動作指令連データを読み出す。ロボット20は、定期的に環境データを検出して、検出した環境データが現在の動作指令連データのいずれかの動作指令データと一致するか否か判断し、一致する場合には、そのまま、その動作指令データによる駆動命令をモータ駆動部37,38に出力すればよい。一方、検出した環境データが現在の動作指令データと一致しなければ、つぎの、動作指令データと一致するか否かを判断するようにすればよい。これにより、順次、動作指令データに沿った制御がなされる。
【0061】
例えば、図22における1つめの動作指令データ(左:null,左前:面、前:空き,右:面,右前:null,動作:前進)から、モータの制御情報、「前進」を読み出し、モータ駆動部37,38に制御命令を与える。ロボットが動き出し、CPU23はΔt秒後のセンサ値が、現在の動作指令データ(1つめの動作指令データ)に一致するか否かを判断する。一致すれば、現在の動作「前進」を続ける。一方、一致しない場合には、2つめの動作指令データ(左:null,左前:面、前:null,右:面,右前:null,動作:前進)と一致するか否か判断する。この2つの動作指令データでも、一致しない場合には、3つめの動作指令データに一致するか否か判断する・・・と、並べられた動作指令データに沿って、動作が制御される。
【0062】
なお、前記動作指令連データは、複数の動作指令データで構成されており、各動作指令連データにおける両端(例えば、+2や−2)の動作指令データは、前記一般化の程度が高い。したがって、本来であれば、次の動作指令連データによる制御に移行していなければならない場合でも、移行していない場合がある。このような場合には、以下に説明するようにして、次の動作指令連データに移行させるようにすればよい。例えば、図23Bに示すように、現在、動作指令連データR1で動作制御されている状態で、途中から動作指令連データR2による制御に切り替えられる場合において、環境CnからCn+5まで移動物体が移動する場合、次のようにして、動作指令連データが切り替えられる。
【0063】
検出環境Cn+3にて、動作指令連データR1の−2における動作指令データと一致し、つぎに、検出環境Cn+4にて、動作指令連データR1の−1における動作指令データと一致しているとする。かかる状況下で、検出環境Cn+5に進むと、動作指令連データR1の0における動作指令データと一致しない場合には、次の動作指令連データR2の0における動作指令データと一致するか否か判断する。一致する場合には、この動作指令連データにおける−2,−1の時の動作指令データが、検出環境Cn+4、Cn+3と一致するかを判断し、すべて一致する場合には、つぎの動作指令連データR2による動作制御に切り替えればよい。
【0064】
なお、かかる検出環境は、前記Δt経過後でも、後述した時間軸圧縮をした場合としてもよい。
【0065】
このようにして、本実施形態においては、前記動作指令連データを順に呼び出しておいて、周辺環境が変化して次の動作指令連データによる制御に移行するかが決定される。したがって、操作者は、制御を希望する順に、動作別の環境特定単語を与えるだけで、ロボットの環境特定単語に対する動作指令連データによってその動作が制御される。
【0066】
なお、ステップS49にて全グループについて一般化処理が終了すると、レベルの異なる候補を作成する(ステップS53)。レベルの異なるとは、一般化の程度が異なることをいい、例えば、「交差点直進」という複数の動作指令連データと「交差点右折」という複数の動作指令連データがある場合、「交差点直進」を1のグループとしてまとめたグループと、「交差点右折」を1のグループとしてまとめると、2つのグループが生成される。一方、「交差点?」で一般化すると、1つのグループとなる。このような可能な限りの一般をすることをいう。
【0067】
4.他の形態
上記実施形態においては、ある環境下で、ロボットを移動させて、抽出した環境データについて、環境特定単語および駆動命令が同じ場合には、これらをまとめる一般化を行っている。しかし、かかる一般化は適度なものでなければ誤動作をおこすおそれがある。すなわち、過度に一般化されると、他の動作指令連データでも、条件が一致してしまう。また、上記実施形態においては、図6における環境下で、任意に移動させているので、各グループ毎の対象として、すべてのパターンが検出されない場合もある。
【0068】
そこで、以下のようにして、方向性およびまたは時間軸に対して、鏡対称入れ替え処理をした候補を複数生成し、実際に動かしてみて、不適切な候補を排除することにより、より適切な一般化をすることができる。
【0069】
例えば、三叉路の場合、同じ右折であっても、図24Aに示すような右折と、図24Bに示すような右折とがある。この場合、両者の連データは、それぞれ、図25A、図25Bに示すようなデータであり、このまま、一般化をすると、図25Cに示すような、動作指令連データとなる。これに対して、いずれかを前進方向に対する鏡対称入れ替え処理をして、新たな候補を生成して、一般化すると、図26Cに示すような動作指令連データが生成される。なお、この場合、例2のデータ(図25Bのデータ)を左と右、左前と右前のデータをそれぞれ入れ替えている。
【0070】
また、いずれかを時間軸方向に対する鏡対象入れ替え処理をして、一般化すると図27Cに示すような動作指令連データとなる。なお、この場合、例2のデータ(図25Bのデータ)をt+2を軸として、tとt+4、t+1とt3のデータをそれぞれ入れ替えている。
【0071】
また、時間軸および前進方向に対する双方の鏡対象入れ替え処理をするようにしてもよい。この場合を、図28Cに示す。
【0072】
また、三叉路を直進する場合には、図29A,図29Bのような場合が考えられる。この場合、両者の連データは、それぞれ、図30A、図30Bに示すようなデータであり、このまま、一般化をすると、図30Cに示すような、動作指令連データとなる。これに対して、同様に、前進方向に対する鏡対称入れ替え処理、時間軸方向に対する鏡対称入れ替え処理、前進および時間軸方向に対する鏡対称入れ替え処理をした場合を、それぞれ図31C、図32C、図33Cに示すような動作指令連データとなる。
【0073】
このようにして、生成された抽象化連データは、それぞれ候補として記憶しておく。そして、ロボット20を動かしながら、かかる候補のうち、他のグループの条件と誤動作する候補は、過度の一般化が行われているとして、削除するようにするとともに、各グループについて、小グループ化して記憶しておき、現実の適用では、いずれか満足するものを選択するようにすればよい。このように、環境特定単語および駆動命令の組み合わせとしては同じであっても、全部まとめて一般化するのではなく、複数の小グループに区分して記憶しておき、実際の適用段階で、いずれか適する候補を特定することにより、過度の一般化による誤動作を回避することができる。
【0074】
例えば、環境特定単語および駆動命令が同じ場合として、「三叉路・右折」として、候補が3つあり、前記前進方向に対する鏡対称入れ替え処理および時間軸方向に対する鏡対称入れ替え処理を行うことにより、候補が7つ得られたとする。これら7つをさらにそれぞれ小グループとして記憶しておき、テストすると、そのうちの2つの小グループについては、他のグループ(例えば、「交差点・右折」)と誤動作する場合には、これを削除し、残りの5つの小グループを「三叉路・右折」の候補として記憶しておく。そして、現実に操作者から「通路・前進」、「三叉路・右折」という動作指令が与えられた場合、現在の環境が前記5つの小グループのデータと一致するか否かを判断するようにすればよい。
【0075】
なお、上記実施形態においては、駆動命令と環境特定単語とが同じ場合で一般化するようしたが、環境特定単語が同じであれば、回転方向を無視して、右回りと左回りとを回転として、一般化した候補を生成することもできる。かかる例を図34に示す。図34において、図34Aに示す「交差点・右回り」と図34Bに示す「交差点・左回り」を方向性を除いて、図34Cに示すように「交差点・回転」と一般化する。図35は、「三叉路・右回り」と「三叉路・左回り」とから、「三叉路・回転」を生成した例を示す。このようなまとめる一般化については、右回りと左回りは回転として一般化するなどのルールをあらかじめ記憶しておけばよい。
【0076】
さらに、駆動命令と環境特定単語とが同じ場合でなくても、環境特定単語が同じものをまとめる一般化をするようにしてもよい。
【0077】
なお、一般化の程度の異なる複数の候補を生成して、検査を行い、過度の一般化が行われている場合には、これを排除し、複数の候補を記憶しておき、いずれかの動作指令連データで動作制御することにより、ロボットに所望の動きをさせることができる。
【0078】
なお、単語入力のタイミングがずれる場合も考えられる。このような場合は、注目集合環境データの位置を時刻方向に前後ずらしてみて、最も一致する場合とすればよい。
【0079】
前記前進方向に対する鏡対称入れ替え処理および時間軸方向に対する鏡対称入れ替え処理は、2つの場合について説明したが、3つ以上で合っても同様に適用できる。例えば、抽出された連データが3つ(連データ1,2,3)ある場合、それぞれ2つを用いて、鏡対称入れ替え処理なし、鏡対称入れ替え処理あり(前進方向およびまたは時間軸方向)をして組み合わせた場合の一般化、これに加えて、3つ全部を用いて、鏡対称入れ替え処理なし、鏡対称入れ替え処理あり(前進方向およびまたは時間軸方向)をして組み合わせた場合に一般化を行うようにすればよい。
【0080】
本実施形態においては、センサ値として距離を用いたので、一般化処理とは各センサの値および所定のルールに基づいて、周辺環境の形状を把握する処理に該当する。ただし、これに限定されず、予め定められたルールの基づいて、環境集合データを抽象化(一般化)する処理はすべて含む。環境集合データとは、図3に示す5つのセンサに基づいて全方向の環境の組み合わせのデータをいう。
【0081】
また、上記実施形態においては、センサから抽出したデータから環境データを生成したが、センサから抽出したデータを以下のように時間軸方向に圧縮するようにしてもよい。これは、周辺の環境の変化に比べて、センサが検出する時間間隔がかなり短い場合には、上記実施形態のように注目集合環境データの前2つ、後ろ2つが等しくなってしまう場合があるからである。
【0082】
このように時間軸方向に圧縮しても、各データは時系列方向の意味合いは残しているので、問題はない。逆に、ロボットの移動速度にかかわらずに所望の動作をさせることができる。
【0083】
また、端の認識については、当該端部が近づいてくるのか遠ざかっているのかについても判断するようにしてもよい。これにより、より正確に周辺環境の形状を把握することができる。例えば、時刻txとtx+1の間で、ある方向のセンサ値が「無限大」から「100」となった場合には、端が近づいたと判断できる。また、時刻txとtx+1の間で、ある方向のセンサ値が「45」から「100」となった場合には、近い距離から遠い距離となる端があると判断できる。また、逆の場合、例えば、センサ値が「100」から「45」となった場合には、遠い距離から近い距離となる端があると判断できる。
【0084】
上記実施形態においては、2次元の距離データを採用したが、3次元の距離データの場合も同様に適用できる。例えば、環境を構成する物体の高さを採用してもよい。例えば、高さが一定の値(例えば5mm)未満であれば乗り上げて移動し、前記値以上であれば迂回するなどを学習させることができる。さらに、上り坂とか下り坂などを環境特定単語として入力するようにしてもよい。
【0085】
また、上記実施形態においては、環境データとしてロボットの周辺の環境との距離を用いた場合について説明したが、表面の材質、色、その他センサで検出できる環境データであればどのようなものを用いてもよい。
【0086】
また、自分自身以外は移動しない場合について説明したが、相手物が移動してくる場合に、相手物の移動速度、保有エネルギー、物体の形状等、異なる修正ルールを記憶しておき、修正するようにすればよい。
【0087】
また、本実施形態においては、ロボットに適用した場合について説明したが、コンピュータゲームにも同様に適用できる。例えば、コンピュータを用いたゲームで、ユーザは、ある物体の過去の動きからその物体の動くルールを推測して、先回りしてその物体を破壊する得点を競うなどに適用可能である。
【0088】
本実施形態においては、図1に示す機能を実現する為に、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
【0089】
上記移動物体動作制御データ生成装置においては、移動物体の動作を人間が用いる環境特定単語で制御するために、前記移動物体の動作制御用のデータを生成する移動物体動作制御データ生成装置であって、B)前記移動物体は、b1)操作者から前記移動物体を前記環境下にて移動させる移動命令が与えられると、当該移動命令に基づいて、前記移動物体を移動させる駆動手段、b2)所定時間毎に前記移動物体の方向別周辺環境データの集合である集合環境データを計測する集合環境データ計測手段を備え、C)移動物体動作制御データ生成装置移動物体動作制御データ生成装置は、c1)前記集合環境データ計測手段が計測した前記所定時間ごとの集合環境データを、前記移動物体の動作データとともに記憶する第1の記憶手段、c2)前記移動中に操作者から当該環境を表す環境特定単語が与えられると、前記集合環境データに付加して記憶させる付加手段、c3)前記方向別環境データの相互関係と周辺環境の抽象化環境データとの対応規則を記憶した第1規則記憶手段、c4)前記対応規則に基づいて、前記第1の記憶手段に記憶された前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定する抽象化集合環境データ特定手段、c5)前記方向別の抽象化集合環境データを記憶する第2の記憶手段、c6)前記第2の記憶手段に記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目集合環境データとして決定し、前記注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定する連データ決定手段、c7)前記複数の連データのうち、環境特定単語が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する環境動作データ生成手段を備えている。
【0090】
このように、所定時間ごとの集合環境データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者は環境特定単語を与えるだけで、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0091】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。したがって、環境特定単語および動作が同じ連データを一般化した動作指令連データを生成することができる。
【0092】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する方向別抽象化環境データの値を、注目環境集合環境データを中心に鏡対称入れ替えを行なう。したがって、時間軸方向に対して、対象である状況下において、一方だけでも検出すれば、他方については、現実に動作させなくても、前記連データを取得することができる。
【0093】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する各方向別抽象化環境データについて、その値を進行方向に対して直交する方向に鏡対称入れ替えを行なう。したがって、前記進行方向に対して直交する方向に対して、対象である状況下において、一方だけでも検出すれば、他方については現実に動作させなくても、前記連データを取得することができる。
【0094】
上記移動物体動作制御データ生成装置においては、前記生成された複数の環境データについて、動作の回転方向が異なる場合には、さらに、各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データとする。したがって、左右の回転方向を覗いた一般化した動作指令連データを得ることができる。
【0095】
上記移動物体動作制御データ生成装置においては、前記得られた複数の動作指令連データについて、操作者によって、試運用し、仮に適用した場合に、他の動作指令連データと区別できないほど、抽象化されたものは削除する。このように候補を複数作成し、条件に合致しないものを排除することにより、過度に一般化された候補による誤動作を防止できる。
【0096】
上記移動物体動作制御データ生成装置の使用方法においては、操作者は、前記移動物体を前記環境下にて、任意に移動させて前記移動物体の動作を制御するデータを生成させる。したがって、操作者は全パターンについて、これを分析してその動きをさせなくても、前記移動物体に環境特定単語に対応する動作指令連データを学習させることができる。
【0097】
上記移動物体動作制御データ生成装置は、A)通路および各通路が交わる通路交わり点で構成された環境下で、移動物体の動作を人間が用いる環境特定単語で制御するために、前記移動物体に前記環境特定単語を学習させる移動物体動作制御データ生成装置であって、B)前記移動物体は、b1)操作者から前記移動物体を前記環境下にて移動させる移動命令が与えられると、当該移動命令に基づいて、前記移動物体を移動させる駆動手段、b2)所定時間毎に方向別距離データの集合である集合距離データを計測する集合距離データ計測手段を備え、C)前記移動物体動作制御データ生成装置は、c1)前記所定時間ごとの集合距離データを、前記移動物体の動作データとともに記憶する第1の記憶手段、c2)前記移動中に前記通路交わり点にて、操作者から当該環境を表す環境特定単語が与えられると、前記集合距離データに付加して記憶させる付加手段、c3)前記集合距離データを構成する方向別距離データの値の相互関係と周辺環境の抽象化環境データとの対応規則を記憶した第1規則記憶手段、c4)前記対応規則に基づいて、前記第1の記憶手段に記憶された前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定する抽象化集合環境データ特定手段、c5)前記方向別の抽象化集合環境データを記憶する第2の記憶手段、c6)前記第2の記憶手段に記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目抽象化集合環境データとして決定し、前記注目抽象化集合環境データとともに、その前後所定数の抽象化集合環境データを連データとして決定する連データ決定手段、c7)前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する連データとして生成する環境動作データ生成手段を備えている。
【0098】
このように、所定時間ごとの集合距離データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者から与えられた環境特定単語により、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0099】
また、共通抽象化集合環境データの生成においては、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。したがって、環境特定単語および動作が同じ連データを一般化した動作指令連データを生成することができる。
【0100】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する方向別抽象化環境データの値を、注目抽象化集合環境データを中心に鏡対称入れ替えを行なう。
【0101】
値を、注目環境集合環境データを中心に鏡対称入れ替えを行なう。したがって、時間軸方向に対して、対象である状況下において、一方だけでも検出すれば、他方については、現実に動作させなくても、前記連データを取得することができる。
【0102】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する各方向別抽象化環境データについて、その値を進行方向に対して直交する方向に鏡対称入れ替えを行なう。したがって、前記進行方向に対して直交する方向に対して、対象である状況下において、一方だけでも検出すれば、他方については現実に動作させなくても、前記連データを取得することができる。
【0103】
上記移動物体動作制御データ生成方法は、移動物体の動作を人間が用いる環境特定単語で制御するために、前記移動物体の動作制御用のデータを生成する移動物体動作制御データ生成方法であって、1)前記移動物体を移動させつつ、所定時間毎に前記移動物体の方向別周辺環境データの集合である集合環境データを計測し、2)前記所定時間ごとの集合環境データを、前記移動物体の動作データとともに記憶し、3)前記移動中に操作者から当該環境を表す環境特定単語が与えられると、前記集合環境データに付加して記憶し、4)あらかじめ記憶した前記方向別環境データの相互関係と周辺環境の抽象化環境データとの対応規則に基づいて、前記記憶された前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定して記憶し、5)前記記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目集合環境データとして決定し、前記注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、6)前記複数の連データのうち、環境特定単語が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。
【0104】
このように、所定時間ごとの集合環境データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者から与えられた環境特定単語により、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0105】
以下に、上記開示で用いた用語について説明をする。
【0106】
「環境特定単語」:移動物体が移動する際の周りの環境を示す単語であり、上記実施形態では、交差点、三叉路等が該当する。
【0107】
「集合環境データ」:方向別周辺環境データの集合であり、上記実施形態では、左、左前、前、右前、右の5つセンサの方向別周辺環境データの集合をいい、方向別周辺環境データを含む概念である。
【0108】
「方向別周辺環境データ」:上記実施形態では、図11に示す各時刻毎の各センサの距離(40)などが該当し、方向別距離データを含む概念である。
【0109】
「動作データ」:移動物体の移動状態を示すデータであり、上記実施形態では、移動物体に対して操作者によって与えられている駆動命令に基づくデータが該当する。
【0110】
「抽象化環境データ」:上記実施形態では、図5に示すテーブルにおける「その方向に面あり」などが該当する。
【0111】
「抽象化集合環境データ」:上記実施形態では、図12〜図16に示す各時刻毎の「面」、「空き」などが該当する。
【0112】
「集合環境データ」:方向別周辺環境データの集合であり、上記実施形態では、左、左前、前、右前、右の5つセンサの方向別周辺環境データの集合をいう。
【0113】
「注目集合環境データ」:操作者から与えられた環境特定単語が付加された抽象化集合環境データをいう。
【0114】
「連データ」:注目集合環境データとその前後所定数の集合環境データで構成された集合環境データの集まりをいう。
【0115】
「鏡対称入れ替え」:上記実施形態では、前進方向に対する鏡対称入れ替え処理、およびまたは時間軸方向に対する鏡対称入れ替え処理が該当する。
【0116】
「方向別距離データ」:上記実施形態では、図11に示す各時刻毎の各センサの距離(40)などが該当する。
【0117】
「集合距離データ」:方向別距離データの集合をいう。
【0118】
「通路交わり点」:上記実施形態では、交差点、三叉路、曲がり角など、通路が交わる(接続される)点をいう。
【0119】
B)第1の実施形態(繰り返し学習)
前記ロボット20に、さらに、繰り返し概念を学習する機能を追加した繰り返し概念学習可能装置について図36〜図42を用いて説明する。
【0120】
上記実施形態においては、操作者が学習を希望する単語を入力しつつロボットを移動させれば、ロボットが与えられた単語と同じ単語を有するデータを抽象化する。したがって、例えば単語「3回交差点直進」を学習させる場合、その動作をさせれば同様に、当該単語に対応する動作を学習させることができる。しかし、全ての単語の学習において実際に動作させて学習させるのは煩雑である。この実施形態では、ロボット20に繰り返し概念を学習させて、既に記憶されている単語を組み合わせることにより、新たな単語と動作との関係を生成する。
【0121】
単語学習装置200は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、第1抽象化手段203、第2抽象化手段205、環境動作データ生成手段207および記憶手段209を備えている。
【0122】
第1抽象化手段203は、前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が、複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する。第2抽象化手段205は、前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補として記憶する。このように、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0123】
また、環境動作データ生成手段207は前記操作者から単語が与えられると、前記第1抽象化手段に記憶された前記第1型の候補のいずれか、および前記第2抽象化手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する。したがって、前記繰り返し用の候補枠を用いて環境動作データを生成することができる。記憶手段209は、生成された環境動作データを記憶する。
【0124】
ハードウェア構成については、既に説明したものと同様であるので説明は省略する(図2〜図5参照)。
【0125】
つぎに、この場合のROM25に追加記憶されるプログラムについて説明する。なお、以下では、単語「3回交差点直進」という動作を、ロボット20に直接入力することなく、対応する動作を学習させる場合について説明する。
【0126】
ROM25には、既に説明したように、図7〜図10に示す複数のプログラムが記憶されており、抽象化連データが生成される。図37では、図7ステップS1〜ステップS5の処理を含めて記述している。
【0127】
操作者は動作単語および環境単語を入力しつつ、学習させたい動作命令を与える。CPU23は、かかる単語入力があるか否か判断しており(図37ステップS101)、単語入力があると検出された環境動作と関連づけて記憶する(ステップS103)。CPU23は単語入力が終了したか否か判断しており(ステップS105)、単語入力が終了すると抽象化処理を行う(ステップS107)。
【0128】
なお、単語入力が終了したか否かは、例えば、単語入力終了命令が与えられたか否かや、または所定時間経過しても新たな単語入力がないか等で判断すればよい。
【0129】
かかる処理(ステップS101〜ステップS107)によって、図38に示すような環境動作単語ごとの周辺環境データが生成される。例えば、環境動作単語「交差点右回」の具体的データは、グループK1である。グループKIのデータ構造は、既に説明したは図18Cに示すように、抽象化された周辺環境データ、駆動命令、および環境単語、動作単語が時系列で構成されたデータである。なお、この実施形態における環境動作単語とは、図18Cの、環境単語および動作単語をまとめた概念である。
【0130】
このようにして、環境動作単語と、抽象化環境データおよび駆動命令との対応データが第1型の候補データとして複数の候補データが生成される。
【0131】
つぎに、操作者は、同様にして、繰り返し回数を含む環境動作単語をロボット20に学習させる。この場合、単語「3回交差点直進」を直接学習させるわけではなく、単語「3回交差点右回」、「3回三叉路右回」、「3回三叉路左回」、「4回三叉路右回」、「4回三叉路左回」などを学習させる。具体的なデータは、例えば、単語「3回交差点右回」については、図18Cに示す「交差点右回」のt-2〜t+2までのデータが3回繰り返されたデータとなる(図39参照)。かかる動作を実行することにより、ステップS101〜ステップS107の処理により、図40に示すような第1型の候補データが生成される。
【0132】
CPU23は、生成された第1型の候補データについて、他の第1型の候補データの単語に置き換えて定義できるか否かを判断し(図37ステップS109)、可能である場合は置換処理を実行する(ステップS111)。例えば、図39に示す第1型の候補データについては、15個の時系列データがあり、最初から5つ分を単語「交差点右回」に置換して表すことができる。なお、このように元のデータに代えて用いられる単語を以下引用単語という。
【0133】
CPU23は、ステップS109からステップS111の処理を繰り返す。これより、図40に示す第1型の候補データは、図41に示すように他の第1型データの単語で定義されたデータとなる。
【0134】
他の単語「3回三叉路右回」、「3回三叉路左回」、「4回三叉路右回」、「4回三叉路左回」なども同様にして引用単語で定義されたデータに変換される。
【0135】
CPU23は、かかる変換後のデータについて、抽象化処理を行う(ステップS113)。ステップS113における抽象化処理について具体例を用いて説明する。ステップS107では同じ単語で抽象化処理を行ったが、このステップでは、各候補の単語の一部または全部が一致する他の候補が存在するか否か判断し、存在する場合に、これらを抽象化する。例えば、単語「3回交差点右回」と単語「3回三叉路右回」、単語「3回三叉路左回」は文字列「3回」が一致するので、これらの3つの候補について抽象化が実行される。かかる抽象化処理では、次のような個別枠が3つ生成される。一つ目の引用単語の部分を比べると、両者は全く一致しない。したがって、結局中身が消された個別枠が1つ生成される。これを2つ目、3つ目と実行することにより、3つの中身のない個別枠が生成される。また、かかる抽象化においては、各個別枠のデータは同じである。例えば、単語「3回交差点右回」は、交差点右回、交差点右回、交差点右回と同じであり、単語「3回三叉路左回」は、三叉路左回、三叉路左回、三叉路左回と同じである。したがって、かかる抽象化において、両者に共通の引用単語が同じであることも抽象化される。すなわち、抽象化処理においては、引用単語が繰り返されているか否かの繰り返し情報として、各個別枠に記録されていたデータは同じであったということが生成されて、これを付加する処理を含む処理が実行される。これより、図42に示すように、単語「3回?」は、個別枠が3つで、かつその中身のデータは同じものという付加情報が付加された第2型の候補データが生成される。
【0136】
なお、かかる抽象化処理においては、各候補の単語の一部または全部が一致する他の候補が存在するか否か判断し、存在する場合に、これらを抽象化する。したがって、図42に示すように抽象化の程度の異なる他の第2型の候補データ「3回三叉路?」、「4回?」、「4回三叉路?」なども生成される。
【0137】
つぎに、操作者は、実際の動作をさせることなく学習させたい動作単語を入力する。CPU23は、かかる単語が入力されたか否かを判断しており(ステップS115)、入力されると、与えられた単語を生成するために、第1型の候補および第2型の候補から組み合わせ可能なものを選定する(ステップS117)。例えば、この場合、操作者から、生成希望の単語として単語「3回交差点直進」が入力されるので、第2型の候補である単語「3回?」と第1型の候補である単語「交差点直進」とを組みあわせることにより、学習させたい動作単語が生成可能である。かかる判断は、文字列マッチングを行えばよい。?部分は、どの文字列とも合致するからである。
【0138】
CPU23は、第1型の候補および第2型の候補を用いて、生成希望の単語を生成する(ステップS119)。具体的には、図42に示す単語「3回?」の個別枠に、単語「交差点直進」の具体的な環境動作データ(図38参照)を代入する。また、この場合、第2型の候補である単語「3回?」には、各個別枠に同じデータであるという付加情報が付加されているので、個別枠の数だけ、前記代入が行われる。これにより、単語「3回交差点直進」の環境動作データが生成される。データ形式としては、図39に示すような時系列データとなる。これにより、単語が与えられれば、かかる環境動作データに基づいて、対応する動作をロボット20は実行することができる。
【0139】
なお、本実施形態においては、ステップS117における組み合わせの決定時に、単語の文字列マッチングで組み合わせ可能か否かを判断している。したがって、ステップS113にて、抽象化の程度の異なる種種の候補が生成されても、不要な候補については組み合わせ特定時に排除される。例えば、「3回交差点右回」、「3回交差点左回」によって、「3回交差点?回」という候補も生成されるが、実際にはかかる候補は適用されない。また、「3回交差点右回」、「4回三叉路右回」から「?回?右回」なども生成されるが、同様に適用段階で排除される。何回かの適用処理を経ても生成に用いられなかった第2型の候補については候補から削除するようにしてもよい。
【0140】
このように、抽象化処理にて、第2型の候補の単語の一部を、全文字列一致可能文字列に置換して記憶しておき、当該候補の枠を用いて、第1型の候補を代入することにより、学習させたい環境動作単語の環境動作を現実にロボットに与えなくても、学習が可能である。
【0141】
また、個別枠のIDとして引用単語を用いることにより、第1型の候補を表す単語の文字列数が異なる場合であっても、抽象化が可能である。なお、引用単語に代えて個別枠のIDを採用してもよい。
【0142】
なお、上記実施形態においては、繰り返しの為の枠を生成してから、実際の適用をするようにしたが、既に該当する第2型の候補および第1型の候補が存在するか否か判断し、存在する場合にはそれらを採用するようにしてもよい。この場合、図37ステップS113までの処理を実行することなく、操作者の希望する単語を学習させることができる。
【0143】
また、?部分の文字列の数は任意に一致可能とした。たとえば、単語「3回交差点直進」は、第2型の候補「3回?」と第1型の候補「交差点直進」によって、生成可能であり、すなわち、?部分との一致判断において文字列の数を考慮しないようにした。しかし、文字列の数まで一致するか否か判断するようにしてもよい。この場合、抽象化された候補としては、例えば、「3回??????」のように、文字列の数だけ全文字列一致可能文字列に置換される。
【0144】
また、本実施形態においては、現実に学習させたい繰り返し動作を1回だけ第1型の候補に記憶しておけば、第2型の候補を用いて、所定回数これを繰り返す環境動作を学習させることができる。したがって、本実施形態のように、学習させたい単語および対応する環境動作を現実にロボットに入力して学習させる場合であっても、繰り返し動作の学習は簡易となる。
【0145】
なお、上記先の出願で開示した技術と任意に組み合わせることができる。また、センサが検出する環境データを距離データとしたが、その他、環境の特徴であればどのようなものであってもよく、例えば、色、光度、表面の特徴、表面の堅さなどであってもよい。さらに、重力センサなどを用いて3次元的な環境データの変化を検出するようにしてもよい。
【0146】
また、この例ではロボットについて適用した場合について説明したが、移動物体が自走式であればどのようなものであっても適用することができる。例えば、コンピュータゲームにおける物体に単語と動きとの関係を学習させる場合などについても適用可能である。
【図面の簡単な説明】
【図1】移動物体動作制御データ生成装置10の機能ブロック図である。
【図2】図1に示す移動物体動作制御データ生成装置を備えたロボット20の外観図である。
【図3】5つのセンサの検出方向を示す図である。
【図4】ロボット20のハードウエア構成の一例を示す図である。
【図5】方向別距離データから方向別環境データを生成するテーブルを示す。
【図6】ロボット20を動作させる軌跡を示す図である。
【図7】全体のフローチャートである。
【図8】駆動処理のフローチャートである。
【図9】センサ値の検出処理のフローチャートである。
【図10】環境特定単語の入力処理のフローチャートである。
【図11】検出されたセンサ値の一例を示す。
【図12】前記センサ値から生成された抽象化環境データである。
【図13】前記センサ値から生成された抽象化環境データである。
【図14】前記センサ値から生成された抽象化環境データである。
【図15】前記センサ値から生成された抽象化環境データである。
【図16】前記センサ値から生成された抽象化環境データである。
【図17】抽象化連データの生成処理のフローチャートである。
【図18】各グループにおける一般化の処理を説明するための図である。
【図19】各グループにおける一般化の処理を説明するための図である。
【図20】各グループにおける一般化の処理を説明するための図である。
【図21】各グループにおける一般化の処理を説明するための図である。
【図22】通路・前進における動作指令データを示す。
【図23】ロボット20を動作させる環境を示す。
【図24】三叉路における異なるパターンの動作例を示す。
【図25】図24において検出されたセンサ値から得られたデータを示す。
【図26】図24において検出されたセンサ値を左右方向に鏡対称入れ替え処理をした場合のデータを示す。
【図27】図24において検出されたセンサ値を時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図28】図24において検出されたセンサ値を左右方向および時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図29】三叉路における異なるパターンの動作例を示す。
【図30】図29において検出されたセンサ値から得られたデータを示す。
【図31】図29において検出されたセンサ値を左右方向に鏡対称入れ替え処理をした場合のデータを示す。
【図32】図29において検出されたセンサ値を時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図33】図29において検出されたセンサ値を左右方向および時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図34】三叉路にて、右回り、左回りをまとめて、回転にした場合のデータである。
【図35】交差点にて、右回り、左回りをまとめて、回転にした場合のデータである。
【図36】本発明にかかる単語学習装置の機能ブロック図である。
【図37】学習を希望する単語の環境動作データを生成するフローチャートである。
【図38】第1型の候補データのデータ構造を示す図である。
【図39】繰り返しを含む環境動作データを示す図である。
【図40】図39に示す繰り返しを含む環境動作データが複数存在する場合を示すデータを示す図である。
【図41】図40に示す環境動作データを引用単語で定義した場合のデータ構造を示す図である。
【図42】図41に示す単語を抽象化した場合のデータ構造を示す図である。
【符号の説明】
23・・・・・・・・・・・CPU
27・・・・・・・・・・・メモリ
40s1〜40s5・・・・・・センサ
【発明の属する技術分野】
この発明は、移動物体の単語学習に関する。
【0002】
【関連技術および発明が解決しようとする課題】
出願人は特願2000−235352号にて、動作制御データ生成装置を既に出願しており、これによりロボットに動作およびこれと対応する単語を学習させることができる。簡単に説明すると、「1)ロボットを図6に示すような環境下で移動命令を与え任意に移動させる」、「2)その際、記憶させたい学習単語「交差点前進」、「三叉路右折」などをあわせて記憶させる」、「3)ロボットは同じ学習単語が与えられた環境データを一般化して、各学習単語についての環境データを生成する」というものである。
【0003】
上記動作と単語との対応を上記手法にて学習させる場合に、繰り返しの概念を有する単語を学習させる場合に、当該動作を所定回数繰り返さなければならない。例えば、「3回橋を渡る」という単語に対応する動作をロボットに学習させる場合、橋を渡るという動作を3回繰り返し教えなければならない。
【0004】
かかる問題を解決するために繰り返しとはどのような処理すべきかを、あらかじめプログラムしておくことは煩雑である。
【0005】
この発明は上記問題を解決し、あらかじめ個々の学習処理についてのプログラムを用意することなく、移動物体が学習可能な移動物体学習方法またはその装置を提供することを目的とする。
【0006】
さらに詳しくは、移動物体が繰り返しの概念を簡易に学習することができる繰り返し概念学習方法またはその装置を提供することを目的とする。
【0007】
【課題を解決するための手段および発明の効果】
1)本発明にかかるロボットは、操作者の移動命令に基づいて自走するロボットであって、A)所定時間ごとに周辺の環境との距離データを検出し、あらかじめ記憶された環境把握規則を用いて、時系列順の所定数の周辺環境データで構成された周辺環境組データを生成する周辺環境組データ生成手段、B)前記移動中に操作者から単語が与えられると、第1型データテーブルを生成して、各項目にする周辺環境組データを記憶させる第1型データテーブル生成手段、b1)前記第1型データテーブルは、単語を記憶する単語項目、前記生成された周辺環境組データを記憶する周辺環境組データ項目、および前記各周辺環境データに対応する移動命令を記憶する移動命令項目を有する、C)前記単語項目が同じ第1型データテーブルについて、周辺環境組データ項目に記憶された周辺環境組データの一致演算を行い、一致する周辺環境組データはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えて記憶する第1抽象化手段であって、いずれかの第1型データテーブルについて、周辺環境組データ項目および対応する移動命令の組み合わせが、他の第1型データテーブルの周辺環境組データ項目およびその移動命令の組み合わせと一致するか否か判断し、一致する組み合わせが存在する場合には、以下の第2型データテーブルを生成するとともに、一致する組み合わせが複数である場合には、引用単語項目に引用単語を前記複数回記憶する第1抽象化手段、c1)前記第2型データテーブルは、以下の2つの項目を有している、c11)前記第1データテーブルの単語を記憶する単語項目および、c12)前記生成された周辺環境組データを記憶する周辺環境組データ項目および前記各周辺環境データに対応する移動命令を記憶する移動命令項目に代えて、当該一致する他の対応周辺環境組データの単語項目を記憶する引用単語項目、D)前記第2型データテーブルの単語項目が一部または全部重複する第2型データテーブルについて、前記引用単語項目に記憶された引用単語の一致演算を行い、一致する場合にはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えるとともに、当該単語項目に記憶された単語の各文字についても一致する場合にはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えて記憶する第2抽象化手段であって、前記複数の引用単語項目に記憶された引用単語を全文字列一致可能文字列に変換する場合には、各第2型データテーブルについて、引用単語項目に記憶された引用単語が同じである場合には、その情報を同一情報として記憶する第2抽象化手段をそなえている。このように、第2抽象化手段は、引用単語に変換してから、前記全文字列一致可能文字列に変換することにより、前記単語項目に共通の文字列があり、かつ引用単語文字列の個数が同じ場合には、前記前記全文字列一致可能文字列に変換が可能となる。また、前記同一情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0008】
また、本発明にかかるロボットは、E)以下のe1)〜e2)を有する対応動作特定手段、e1)操作者から単語が与えられると、かかる単語と、前記第2抽象化手段に記憶された各第2型データテーブルの単語項目に記憶された単語とを比較して、操作者から与えられた単語が、前記第2型データテーブルの単語項目に記憶された単語の全文字列一致可能文字以外の文字列と一致するか否か判断し、一致する場合には、その第2データテーブルを特定するとともに、操作者から与えられた単語のうち前記特定した第2型データテーブルの単語項目に記憶された単語の全文字列一致可能文字と合致させた文字列については、前記第1抽象化手段に記憶された第1型データテーブルのうち、当該文字列と単語項目に記憶された単語とが一致する第1型データテーブルを特定するデータテーブル特定手段、e2)当該引用単語に代えて前記特定した第1型データテーブルの周辺環境組データおよびこれに対応する移動命令に置換する動作特定手段であって、前記特定した第2データテーブルの引用単語に同一情報が付加されている場合には、全引用単語について置換処理を行う。これにより、前記繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0009】
なお、周辺環境組データ生成手段は、実施形態では図7ステップS1からステップS5までのCPUの処理が該当し、第1型データテーブル生成手段は図38に示すデータを生成する図37ステップS107のCPUの処理に該当し、第1抽象化手段は、図41に示すデータを生成する図37ステップS111のCPUの処理に該当し、第2抽象化手段は、図42に示すデータを生成する図37ステップS113のCPUの処理に該当し、対応動作特定手段は図37ステップS117,ステップS119のCPUの処理に該当する。
【0010】
2)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が、複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補として記憶する第2抽象化手段を備えている。このように、第2抽象化手段は、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0011】
さらに、本発明にかかる単語学習装置は、C)前記操作者から単語が与えられると、前記第1抽象化手段に記憶された前記第1型の候補のいずれか、および前記第2抽象化手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段を備えている。これにより、前記繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0012】
なお、第1抽象化手段は、図38に示すデータを生成する図37ステップS107のCPUの処理に該当し、第2抽象化手段は図42に示すデータを生成する図37ステップS111,ステップS113のCPUの処理に該当し、環境動作データ生成手段は、図37ステップS117、ステップS119のCPUの処理に該当する。
【0013】
3)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かを付加する処理を含む抽象化処理を行い、第2型の候補として記憶する第2抽象化手段を備えている。このように、第2抽象化手段は、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0014】
4)本発明にかかる単語学習装置においては、前記引用単語について、同じ引用単語については同じブロックIDを、異なる引用単語については異なるブロックIDを、前記引用単語の代えて置換する。したがって、付与するブロックIDに基づいて前記繰り返し用の候補枠を生成することができる。
【0015】
5)本発明にかかる単語学習装置においては、前記移動物体から与えられる検出された周辺環境データは、所定時間ごとに周辺の環境との距離データを検出し、あらかじめ記憶された環境把握規則を用いて、抽象化して生成された時系列順の所定数の周辺環境データで構成されている。したがって、距離データから前記周辺環境データを生成することができる。
【0016】
6)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、各候補について、前記引用単語が複数含まれているか否かの付加判断も実行する抽象化処理を行い、第2型の候補として記憶する第2抽象化手段を備えている。このように、第2抽象化手段は、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0017】
7)本発明にかかる環境動作データ生成装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成装置であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶する第1候補記憶手段、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶する第2候補記憶手段、C)前記操作者から単語が与えられると、前記第1候補記憶手段に記憶された前記第1型の候補のいずれか、および前記第2候補記憶手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段を備えている。したがって、あらかじめ記憶した繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0018】
8)本発明にかかる単語学習装置は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、A)所定のデータ構造のデータ群が複数与えられると、前記データ構造を変更することなくデータ内容の抽象化を実行する抽象化手段であって、前記移動物体から与えられる、検出された周辺環境データ、移動命令および単語で構成されたデータ構造を有する単語付き環境動作データを抽象化して、単語付き環境動作データを第1型の候補を生成する抽象化手段、B)前記第1記憶手段に記憶された第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させて、変換第1型候補を生成する変換候補生成手段を備え、C)前記抽象化手段は、前記変換第1型候補を抽象化することにより、変換第1型候補を第2型の候補を生成する。このように、抽象化手段は、前記変換第1型候補に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。これにより、繰り返し用の候補枠を生成することができる。さらに、D)前記操作者から単語が与えられると、前記第1記憶手段に記憶された前記第1型の候補のいずれか、および前記第2記憶手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段を備えている。これにより、環境動作データを生成することができる。
【0019】
抽象化手段は、図37ステップS107、ステップS113のCPUの処理に該当し、変換候補生成手段は図41に示すデータを生成するためのステップS111の処理が該当し、環境動作データ生成手段は、図37ステップS117、ステップS119のCPUの処理に該当する。
【0020】
9)本発明にかかる単語学習方法は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習方法であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、これにより複数の第1型の候補を生成し、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補を生成する。このように、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0021】
10)本発明にかかる環境動作データ生成方法は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成方法であって、A)前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶しておき、B)前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶しておき、C)前記操作者から単語が与えられると、前記記憶された前記第1型の候補のいずれか、および前記記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する。したがって、あらかじめ記憶した繰り返し用の候補枠を用いて環境動作データを生成することができる。
【0022】
特許請求の範囲で用いた用語と実施形態との対応について説明をする。
【0023】
「文字列の一部または全部が一致する単語に基づく抽象化処理」とは、実施形態では、例えば、環境単語および動作単語が同じデータである図21Aに示すデータと図21Bに示すデータから、図21Cに示すデータを生成することが該当する。
【0024】
「当該候補の単語の一部または全部が一致する他の候補が存在する場合」とは、実施形態では、「3回交差点右回」、「3回交差点左回」が存在する場合が該当する。
【0025】
「前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理」とは、実施形態では、図42に示す個別枠が同じデータが格納されていたことを付加する処理に該当する。
【0026】
「前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理」とは、実施形態では、図42に示す個別枠が同じデータが格納されていたことを付加する処理に該当する。
【0027】
「前記データ構造を変更することなくデータ内容の抽象化を実行する」とは、例えば、図18Aおよび図18Bに示すデータから図18Cに示すデータを生成することが該当する。また、図41に示すデータから図42に示すデータを生成することも該当する。
【0028】
「環境動作を表す単語」とは実施形態では、環境単語および動作単語の組データに該当する。
【0029】
【発明の実施の形態】
A)先の出願における開示
本願発明の実施形態を説明する前に先の出願において開示した技術について説明する。
【0030】
1.機能ブロック図の説明
図1に示す移動物体動作制御データ生成装置10は、通路および各通路が交わる通路交わり点で構成された環境下で、移動物体の動作を人間が用いる環境特定単語で制御するために、移動物体1に前記環境特定単語を学習させる装置であって、第1の記憶手段3、付加手段5、第1規則記憶手段7、抽象化集合環境データ特定手段9、第2の記憶手段11、連データ決定手段13、および生成手段15を備えている
まず、移動物体1について説明する。移動物体1は、操作者から前記環境下にて移動させる移動命令が与えられると、当該移動命令に基づいて、自らを移動させる駆動手段4、および所定時間毎に方向別距離データの集合である集合距離データを計測する集合距離データ計測手段2を備えている。
【0031】
第1の記憶手段3は、前記所定時間ごとの集合距離データを、前記移動物体の動作データとともに記憶する。付加手段5は、前記移動中に前記通路交わり点にて、操作者から当該環境を表す環境特定単語が与えられると、前記集合距離データに付加して記憶させる。第1規則記憶手段7は、前記集合距離データを構成する方向別距離データの値の相互関係と周辺環境の抽象化環境データとの対応規則を記憶する。抽象化集合環境データ特定手段9は、前記対応規則に基づいて、第1の記憶手段3に記憶された前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定する。第2の記憶手段11は、前記方向別の抽象化集合環境データを記憶する。連データ決定手段13は、第2の記憶手段11に記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目抽象化集合環境データとして決定し、前記注目抽象化集合環境データとともに、その前後所定数の抽象化集合環境データを連データとして決定する。生成手段15は、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する連データとして生成する。
【0032】
このように、所定時間ごとの集合距離データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者が環境特定単語を与えるだけで、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0033】
また、共通抽象化集合環境データの生成においては、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。したがって、環境特定単語および動作が同じ連データを一般化した動作指令連データを生成することができる。
【0034】
2.ハードウェア構成
図1に示す動作制御データ生成装置10を備えた動作計画決定ロボット(以下ロボットと略す)20について説明する。
【0035】
ロボット20は図2に示すように、一対の前輪47,一対の後輪48で自走可能であり、側壁には5つのセンサ40s1〜40s5が設けられている。5つのセンサは図3に示すように、かかるセンサにより全周に渡って障害物との距離を測定することができる。ロボット20はリモコンからの駆動命令をアンテナ21で受信して、かかる駆動命令に基づいて、自走する。
【0036】
ロボット20のハードウェア構成について図4を用いて説明する。ロボット20は、CPU23、RAM27、キーボード28、インターフェイス31、通信ボード28およびバスライン29を備えている。CPU23は、ROM25に記憶された制御プログラムにしたがいバスライン29を介して、各部を制御する。
【0037】
なお、この制御プログラムは、PCカード等の記録媒体から読み出してROM25に書き込むようにしてもよい。なお、PCカード以外に、フレキシブルディスク、CD−ROM、ICカード等のプログラムを実体的に一体化したコンピュータ可読の記録媒体から、ROM25にインストールさせるようにしてもよい。さらに、通信回線を用いてダウンロードするようにしてもよい。
【0038】
操作者の与えた開始命令、終了命令、各種の駆動命令は、通信ボード28を介して、CPU23に与えられる。インターフェイス31には、5つのセンサ40s1〜40s5が接続されている。
【0039】
また、インターフェイス31には、後輪駆動モータMを駆動制御するモータ駆動部37、ハンドリング制御を行うモータ駆動部38が接続されている。モータ駆動部37は図2に示す後輪47を、モータ駆動部38は前輪48をそれぞれ制御する。
【0040】
RAM27にはその他、各種の演算結果等が記憶される。
【0041】
ROM25には、図5に示すように、環境データと抽象化環境データの対応テーブルが記憶されている。かかる対応テーブルにより、ロボット20は、5つのセンサから抽出したセンサ値に応じて、周りの環境を把握することができる。この意味では、環境データは条件(具体的数値)であり、抽象化環境データは結果(検出された環境を表すデータ)の関係にある。
【0042】
3.フローチャート
つぎに、ROM25に記憶されているプログラムについて説明する。ROM25には、図7〜図10に示す複数のプログラムが記憶されている。
【0043】
図7は、全体のフローチャートである。操作者は、図6に示す軌跡120に沿ってロボット20が移動するように、リモコン(図示せず)から動作制御命令を与える。かかる動作制御命令は、図4に示す通信ボード28で受信され、CPU23に与えられる。CPU23は、図8に示す駆動処理プログラムに基づいて駆動処理を行う。具体的には、CPU23は、移動命令である駆動命令が与えられるか否か判断しており(図8ステップS11)、駆動命令が与えられると、かかる駆動命令を実行する信号をモータ駆動部37,39に与える(ステップS13)。これにより、モータM1,M2が駆動され、ロボット20は図6に示す軌跡120に沿って移動する。なお、与えられた駆動命令はRAM27に一時的に記憶される(ステップS15)。
【0044】
移動に際して、CPU23は、センサ値の検出処理を行う(図7ステップS1)。かかる検出処理の詳細について、図9を用いて説明する。CPU23は、所定時間(この場合Δt秒)が経過するか否か判断しており(図9ステップS21)、所定時間が経過すると、5つのセンサ40s1〜40s5の検出値を記憶する(ステップS23)。CPU23は、現在の駆動命令とともに、集合データとしてRAM27に記憶する(ステップS25)。これにより、図11Aに示す時刻t1の時の各センサの値およびそのときの動きが記憶される。ステップS21〜ステップS25の処理を繰り返すことにより、図11Aに示すように、所定時間間隔毎の集合距離データが複数RAM27に記憶される。
【0045】
なお、各センサはロボット20のボディ(側壁)に設けられているので、ロボット20が回転すると一緒に回転する。したがって、各センサ値はロボット20が回転中は検出しないようにしている。また、図11Aにおいて、回転前と回転後でセンサ値が全く異なる値となっているのはそのためである。このようにロボットの進行方向をY方向とする座標系で数値を検出することにより、ロボットの進行方向に対する相対的な環境データを抽出することができる。
【0046】
なお、操作者は、ロボット20が移動中に、学習させる環境特定単語および動作特定単語を適当なタイミングで入力する。例えば、時刻t1では「通路・前進」、時刻t7では「交差点・右折」、時刻t10では「通路・前進」・・・というように、リモコン(図示せず)を操作して、ロボット20に与える。
【0047】
ロボット20では、移動中は、図9に示すプログラムとともに、図10に示すプログラムも実行されている。CPU23は、環境特定単語および動作特定単語が操作者から与えられるか否か判断しており(ステップS31)、環境特定単語および動作特定単語が操作者から与えられると、そのタイミングで、前記集合距離データに付加する。
【0048】
これにより、図11Bに示すように、環境特定単語および動作特定単語が付加された集合距離データが生成される。
【0049】
つぎに、CPU23は、前記集合距離データに基づいて、周辺環境の抽象化環境データを生成する(図7ステップS3)。抽象化環境データ生成処理について、簡単に説明する。図11Aに示すように各時刻毎に5つの方向別距離データが計測されている。これを集合距離データという。かかる集合距離データについて、図5に示す対応テーブルを用いて、方向別距離データから方向別環境データを生成する。例えば、時刻t1、t2において、左方向は、センサ値がともに「40」で、かつ、動作はともに「前進」である。したがって、ルール3により、面があると判断する。左前方向、右前方向、右方向についても、同様である。
【0050】
なお、前方向はセンサ値が無限大であるので、「空き」であると判断する。また、時刻t2から時刻t3にて、前方向は、「無限大」から「85」と、センサ値が大幅に異なる。したがって、ルール4によって、それらの間に端があると判断する。左前方向も同様である。
【0051】
なお、本実施形態においては、5方向の距離を計測するようにしたので、ルール1,2を適用できる場合が生じていないが、左後ろ、右後ろ、後ろなどの8方向の距離を計測した場合には、ルール1,2を適用して、抽象化環境データを生成することができる。さらに、細かく、例えば、12方向,16方向などより多くの方向にセンサを設けて、その値を計測するようにしてもよい。
【0052】
これにより、図12〜図16に示すような抽象化環境データが生成される。
【0053】
つぎに、CPU23は、図7ステップS5に示す抽象化連データの生成処理を行う。抽象化連データの生成処理について、図17を用いて説明する。CPU23は、連データを決定する(図17ステップS41)。連データとは、「通路」、「交差点」・・などの環境特定単語が付加されている抽象化集合環境データを中心とする前後所定個数の抽象化集合環境データの集まりをいう。本実施形態においては、前記連データの中心となる抽象化集合環境データを注目集合環境データといい、かかる注目集合環境データを中心として、前後2つずつ、計5つの抽象化集合環境データを1つの連データとして、決定するようにした。これにより、図12から図16に示す抽象化集合環境データによって、複数の連データが決定される。
【0054】
つぎに、CPU23は、環境特定単語および駆動命令が同じ連データをグループ化する(図17ステップS43)。たとえば、環境特定単語「三叉路」駆動命令「右回り」である連データは、t7を注目集合環境データとするt5からt9の連データ、t23を注目集合環境データとするt21からt26の連データである。したがって、これらが1つのグループとされる。同様にして、環境特定単語「通路」駆動命令「前進」である連データは、t10、t18、t29,t39,t47,t55,t64,t73,t82,t90,t100を注目集合環境データとする連データである。環境特定単語「交差点」駆動命令「左回り」である連データは、t14,t60である。環境特定単語「交差点」駆動命令「右回り」である連データは、t51,t86である。環境特定単語「三叉路」駆動命令「左回り」である連データは、t77,t96である。環境特定単語「曲がり角」駆動命令「右回り」である連データは、t43である。単語「曲がり角」駆動命令「左回り」である連データは、t69である。環境特定単語「交差点」駆動命令「前進」である連データは、t35である。環境特定単語「三叉路」駆動命令「直進」である連データは、t105である。
【0055】
つぎに、処理対象グループ番号iを初期化し(図17ステップS45)、i番目のグループについて、一般化処理を行う(ステップS47)。一般化処理とは、各グループに属する連データの各方向別環境データを抽象化することをいう。例えば、環境特定単語「交差点」駆動命令「右回り」であるグループでは、注目集合環境データt51,t87を中心として、両者を重ねあわせる。この場合、図18A,Bに示すように、t49とt85では、左、前、右前、右が一致し、t50とt86では左、左前、〜右のすべてが一致し、t52とt88では左、左前、〜右のすべてが一致し、t53とt89では左、左前、〜右のすべてが一致する。したがって、環境特定単語「交差点」駆動命令「右回り」のグループとしては、図18Cに示すように、一般化される。
【0056】
つぎに、CPU23は、全グループについて一般化処理が終了したか否か判断する(ステップS49)。全グループについて一般化処理が終了していなければ、処理対象グループ番号iをインクリメントCPU(ステップS51)、ステップS47の処理を繰り返す。
【0057】
このようにして、環境特定単語と駆動命令のペアが「三叉路・右回り」、「三叉路・左回り」、「三叉路・直進」、「通路・前進」、「交差点、左回り」、「交差点・右回り」、「交差点・前進」、「曲がり角・右回り」、「曲がり角・左回り」についてそれぞれ、生成される。図19に、2つの連データから、環境特定単語と駆動命令のペアが「交差点・左回り」が生成される様子を示す。図20に、2つの連データから、環境特定単語と駆動命令のペアが「三叉路・右回り」を、図21に、2つの連データから、環境特定単語と駆動命令のペアがそれぞれ「三叉路・左回り」、「交差点・右回り」である場合を示す。図22に環境特定単語と駆動命令のペアが「通路・直進」の抽象化連データを示す。
【0058】
このようにして、駆動命令が異なる環境特定単語ごとに、抽象化連データが生成される。
【0059】
かかる抽象化連データを動作指令連データとして、ロボット20に記憶させておき、操作者が、環境特定単語とともに、動作特定単語をロボット20に与えると、図6において、軌跡120以外の軌跡についても、操作者の意図する動きをロボット20にさせることができる。
【0060】
例えば、図23Aにおいて、地点130にロボット20がおかれ、軌跡140にて、ロボット20を移動させたい場合には、操作者は、「通路・直進」、「三叉路・右回転」、「通路・直進」と命令を与える。ロボット20は、「通路・直進」、「三叉路・右回転」の各動作指令連データを読み出す。ロボット20は、定期的に環境データを検出して、検出した環境データが現在の動作指令連データのいずれかの動作指令データと一致するか否か判断し、一致する場合には、そのまま、その動作指令データによる駆動命令をモータ駆動部37,38に出力すればよい。一方、検出した環境データが現在の動作指令データと一致しなければ、つぎの、動作指令データと一致するか否かを判断するようにすればよい。これにより、順次、動作指令データに沿った制御がなされる。
【0061】
例えば、図22における1つめの動作指令データ(左:null,左前:面、前:空き,右:面,右前:null,動作:前進)から、モータの制御情報、「前進」を読み出し、モータ駆動部37,38に制御命令を与える。ロボットが動き出し、CPU23はΔt秒後のセンサ値が、現在の動作指令データ(1つめの動作指令データ)に一致するか否かを判断する。一致すれば、現在の動作「前進」を続ける。一方、一致しない場合には、2つめの動作指令データ(左:null,左前:面、前:null,右:面,右前:null,動作:前進)と一致するか否か判断する。この2つの動作指令データでも、一致しない場合には、3つめの動作指令データに一致するか否か判断する・・・と、並べられた動作指令データに沿って、動作が制御される。
【0062】
なお、前記動作指令連データは、複数の動作指令データで構成されており、各動作指令連データにおける両端(例えば、+2や−2)の動作指令データは、前記一般化の程度が高い。したがって、本来であれば、次の動作指令連データによる制御に移行していなければならない場合でも、移行していない場合がある。このような場合には、以下に説明するようにして、次の動作指令連データに移行させるようにすればよい。例えば、図23Bに示すように、現在、動作指令連データR1で動作制御されている状態で、途中から動作指令連データR2による制御に切り替えられる場合において、環境CnからCn+5まで移動物体が移動する場合、次のようにして、動作指令連データが切り替えられる。
【0063】
検出環境Cn+3にて、動作指令連データR1の−2における動作指令データと一致し、つぎに、検出環境Cn+4にて、動作指令連データR1の−1における動作指令データと一致しているとする。かかる状況下で、検出環境Cn+5に進むと、動作指令連データR1の0における動作指令データと一致しない場合には、次の動作指令連データR2の0における動作指令データと一致するか否か判断する。一致する場合には、この動作指令連データにおける−2,−1の時の動作指令データが、検出環境Cn+4、Cn+3と一致するかを判断し、すべて一致する場合には、つぎの動作指令連データR2による動作制御に切り替えればよい。
【0064】
なお、かかる検出環境は、前記Δt経過後でも、後述した時間軸圧縮をした場合としてもよい。
【0065】
このようにして、本実施形態においては、前記動作指令連データを順に呼び出しておいて、周辺環境が変化して次の動作指令連データによる制御に移行するかが決定される。したがって、操作者は、制御を希望する順に、動作別の環境特定単語を与えるだけで、ロボットの環境特定単語に対する動作指令連データによってその動作が制御される。
【0066】
なお、ステップS49にて全グループについて一般化処理が終了すると、レベルの異なる候補を作成する(ステップS53)。レベルの異なるとは、一般化の程度が異なることをいい、例えば、「交差点直進」という複数の動作指令連データと「交差点右折」という複数の動作指令連データがある場合、「交差点直進」を1のグループとしてまとめたグループと、「交差点右折」を1のグループとしてまとめると、2つのグループが生成される。一方、「交差点?」で一般化すると、1つのグループとなる。このような可能な限りの一般をすることをいう。
【0067】
4.他の形態
上記実施形態においては、ある環境下で、ロボットを移動させて、抽出した環境データについて、環境特定単語および駆動命令が同じ場合には、これらをまとめる一般化を行っている。しかし、かかる一般化は適度なものでなければ誤動作をおこすおそれがある。すなわち、過度に一般化されると、他の動作指令連データでも、条件が一致してしまう。また、上記実施形態においては、図6における環境下で、任意に移動させているので、各グループ毎の対象として、すべてのパターンが検出されない場合もある。
【0068】
そこで、以下のようにして、方向性およびまたは時間軸に対して、鏡対称入れ替え処理をした候補を複数生成し、実際に動かしてみて、不適切な候補を排除することにより、より適切な一般化をすることができる。
【0069】
例えば、三叉路の場合、同じ右折であっても、図24Aに示すような右折と、図24Bに示すような右折とがある。この場合、両者の連データは、それぞれ、図25A、図25Bに示すようなデータであり、このまま、一般化をすると、図25Cに示すような、動作指令連データとなる。これに対して、いずれかを前進方向に対する鏡対称入れ替え処理をして、新たな候補を生成して、一般化すると、図26Cに示すような動作指令連データが生成される。なお、この場合、例2のデータ(図25Bのデータ)を左と右、左前と右前のデータをそれぞれ入れ替えている。
【0070】
また、いずれかを時間軸方向に対する鏡対象入れ替え処理をして、一般化すると図27Cに示すような動作指令連データとなる。なお、この場合、例2のデータ(図25Bのデータ)をt+2を軸として、tとt+4、t+1とt3のデータをそれぞれ入れ替えている。
【0071】
また、時間軸および前進方向に対する双方の鏡対象入れ替え処理をするようにしてもよい。この場合を、図28Cに示す。
【0072】
また、三叉路を直進する場合には、図29A,図29Bのような場合が考えられる。この場合、両者の連データは、それぞれ、図30A、図30Bに示すようなデータであり、このまま、一般化をすると、図30Cに示すような、動作指令連データとなる。これに対して、同様に、前進方向に対する鏡対称入れ替え処理、時間軸方向に対する鏡対称入れ替え処理、前進および時間軸方向に対する鏡対称入れ替え処理をした場合を、それぞれ図31C、図32C、図33Cに示すような動作指令連データとなる。
【0073】
このようにして、生成された抽象化連データは、それぞれ候補として記憶しておく。そして、ロボット20を動かしながら、かかる候補のうち、他のグループの条件と誤動作する候補は、過度の一般化が行われているとして、削除するようにするとともに、各グループについて、小グループ化して記憶しておき、現実の適用では、いずれか満足するものを選択するようにすればよい。このように、環境特定単語および駆動命令の組み合わせとしては同じであっても、全部まとめて一般化するのではなく、複数の小グループに区分して記憶しておき、実際の適用段階で、いずれか適する候補を特定することにより、過度の一般化による誤動作を回避することができる。
【0074】
例えば、環境特定単語および駆動命令が同じ場合として、「三叉路・右折」として、候補が3つあり、前記前進方向に対する鏡対称入れ替え処理および時間軸方向に対する鏡対称入れ替え処理を行うことにより、候補が7つ得られたとする。これら7つをさらにそれぞれ小グループとして記憶しておき、テストすると、そのうちの2つの小グループについては、他のグループ(例えば、「交差点・右折」)と誤動作する場合には、これを削除し、残りの5つの小グループを「三叉路・右折」の候補として記憶しておく。そして、現実に操作者から「通路・前進」、「三叉路・右折」という動作指令が与えられた場合、現在の環境が前記5つの小グループのデータと一致するか否かを判断するようにすればよい。
【0075】
なお、上記実施形態においては、駆動命令と環境特定単語とが同じ場合で一般化するようしたが、環境特定単語が同じであれば、回転方向を無視して、右回りと左回りとを回転として、一般化した候補を生成することもできる。かかる例を図34に示す。図34において、図34Aに示す「交差点・右回り」と図34Bに示す「交差点・左回り」を方向性を除いて、図34Cに示すように「交差点・回転」と一般化する。図35は、「三叉路・右回り」と「三叉路・左回り」とから、「三叉路・回転」を生成した例を示す。このようなまとめる一般化については、右回りと左回りは回転として一般化するなどのルールをあらかじめ記憶しておけばよい。
【0076】
さらに、駆動命令と環境特定単語とが同じ場合でなくても、環境特定単語が同じものをまとめる一般化をするようにしてもよい。
【0077】
なお、一般化の程度の異なる複数の候補を生成して、検査を行い、過度の一般化が行われている場合には、これを排除し、複数の候補を記憶しておき、いずれかの動作指令連データで動作制御することにより、ロボットに所望の動きをさせることができる。
【0078】
なお、単語入力のタイミングがずれる場合も考えられる。このような場合は、注目集合環境データの位置を時刻方向に前後ずらしてみて、最も一致する場合とすればよい。
【0079】
前記前進方向に対する鏡対称入れ替え処理および時間軸方向に対する鏡対称入れ替え処理は、2つの場合について説明したが、3つ以上で合っても同様に適用できる。例えば、抽出された連データが3つ(連データ1,2,3)ある場合、それぞれ2つを用いて、鏡対称入れ替え処理なし、鏡対称入れ替え処理あり(前進方向およびまたは時間軸方向)をして組み合わせた場合の一般化、これに加えて、3つ全部を用いて、鏡対称入れ替え処理なし、鏡対称入れ替え処理あり(前進方向およびまたは時間軸方向)をして組み合わせた場合に一般化を行うようにすればよい。
【0080】
本実施形態においては、センサ値として距離を用いたので、一般化処理とは各センサの値および所定のルールに基づいて、周辺環境の形状を把握する処理に該当する。ただし、これに限定されず、予め定められたルールの基づいて、環境集合データを抽象化(一般化)する処理はすべて含む。環境集合データとは、図3に示す5つのセンサに基づいて全方向の環境の組み合わせのデータをいう。
【0081】
また、上記実施形態においては、センサから抽出したデータから環境データを生成したが、センサから抽出したデータを以下のように時間軸方向に圧縮するようにしてもよい。これは、周辺の環境の変化に比べて、センサが検出する時間間隔がかなり短い場合には、上記実施形態のように注目集合環境データの前2つ、後ろ2つが等しくなってしまう場合があるからである。
【0082】
このように時間軸方向に圧縮しても、各データは時系列方向の意味合いは残しているので、問題はない。逆に、ロボットの移動速度にかかわらずに所望の動作をさせることができる。
【0083】
また、端の認識については、当該端部が近づいてくるのか遠ざかっているのかについても判断するようにしてもよい。これにより、より正確に周辺環境の形状を把握することができる。例えば、時刻txとtx+1の間で、ある方向のセンサ値が「無限大」から「100」となった場合には、端が近づいたと判断できる。また、時刻txとtx+1の間で、ある方向のセンサ値が「45」から「100」となった場合には、近い距離から遠い距離となる端があると判断できる。また、逆の場合、例えば、センサ値が「100」から「45」となった場合には、遠い距離から近い距離となる端があると判断できる。
【0084】
上記実施形態においては、2次元の距離データを採用したが、3次元の距離データの場合も同様に適用できる。例えば、環境を構成する物体の高さを採用してもよい。例えば、高さが一定の値(例えば5mm)未満であれば乗り上げて移動し、前記値以上であれば迂回するなどを学習させることができる。さらに、上り坂とか下り坂などを環境特定単語として入力するようにしてもよい。
【0085】
また、上記実施形態においては、環境データとしてロボットの周辺の環境との距離を用いた場合について説明したが、表面の材質、色、その他センサで検出できる環境データであればどのようなものを用いてもよい。
【0086】
また、自分自身以外は移動しない場合について説明したが、相手物が移動してくる場合に、相手物の移動速度、保有エネルギー、物体の形状等、異なる修正ルールを記憶しておき、修正するようにすればよい。
【0087】
また、本実施形態においては、ロボットに適用した場合について説明したが、コンピュータゲームにも同様に適用できる。例えば、コンピュータを用いたゲームで、ユーザは、ある物体の過去の動きからその物体の動くルールを推測して、先回りしてその物体を破壊する得点を競うなどに適用可能である。
【0088】
本実施形態においては、図1に示す機能を実現する為に、CPU23を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
【0089】
上記移動物体動作制御データ生成装置においては、移動物体の動作を人間が用いる環境特定単語で制御するために、前記移動物体の動作制御用のデータを生成する移動物体動作制御データ生成装置であって、B)前記移動物体は、b1)操作者から前記移動物体を前記環境下にて移動させる移動命令が与えられると、当該移動命令に基づいて、前記移動物体を移動させる駆動手段、b2)所定時間毎に前記移動物体の方向別周辺環境データの集合である集合環境データを計測する集合環境データ計測手段を備え、C)移動物体動作制御データ生成装置移動物体動作制御データ生成装置は、c1)前記集合環境データ計測手段が計測した前記所定時間ごとの集合環境データを、前記移動物体の動作データとともに記憶する第1の記憶手段、c2)前記移動中に操作者から当該環境を表す環境特定単語が与えられると、前記集合環境データに付加して記憶させる付加手段、c3)前記方向別環境データの相互関係と周辺環境の抽象化環境データとの対応規則を記憶した第1規則記憶手段、c4)前記対応規則に基づいて、前記第1の記憶手段に記憶された前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定する抽象化集合環境データ特定手段、c5)前記方向別の抽象化集合環境データを記憶する第2の記憶手段、c6)前記第2の記憶手段に記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目集合環境データとして決定し、前記注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定する連データ決定手段、c7)前記複数の連データのうち、環境特定単語が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する環境動作データ生成手段を備えている。
【0090】
このように、所定時間ごとの集合環境データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者は環境特定単語を与えるだけで、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0091】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。したがって、環境特定単語および動作が同じ連データを一般化した動作指令連データを生成することができる。
【0092】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する方向別抽象化環境データの値を、注目環境集合環境データを中心に鏡対称入れ替えを行なう。したがって、時間軸方向に対して、対象である状況下において、一方だけでも検出すれば、他方については、現実に動作させなくても、前記連データを取得することができる。
【0093】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する各方向別抽象化環境データについて、その値を進行方向に対して直交する方向に鏡対称入れ替えを行なう。したがって、前記進行方向に対して直交する方向に対して、対象である状況下において、一方だけでも検出すれば、他方については現実に動作させなくても、前記連データを取得することができる。
【0094】
上記移動物体動作制御データ生成装置においては、前記生成された複数の環境データについて、動作の回転方向が異なる場合には、さらに、各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データとする。したがって、左右の回転方向を覗いた一般化した動作指令連データを得ることができる。
【0095】
上記移動物体動作制御データ生成装置においては、前記得られた複数の動作指令連データについて、操作者によって、試運用し、仮に適用した場合に、他の動作指令連データと区別できないほど、抽象化されたものは削除する。このように候補を複数作成し、条件に合致しないものを排除することにより、過度に一般化された候補による誤動作を防止できる。
【0096】
上記移動物体動作制御データ生成装置の使用方法においては、操作者は、前記移動物体を前記環境下にて、任意に移動させて前記移動物体の動作を制御するデータを生成させる。したがって、操作者は全パターンについて、これを分析してその動きをさせなくても、前記移動物体に環境特定単語に対応する動作指令連データを学習させることができる。
【0097】
上記移動物体動作制御データ生成装置は、A)通路および各通路が交わる通路交わり点で構成された環境下で、移動物体の動作を人間が用いる環境特定単語で制御するために、前記移動物体に前記環境特定単語を学習させる移動物体動作制御データ生成装置であって、B)前記移動物体は、b1)操作者から前記移動物体を前記環境下にて移動させる移動命令が与えられると、当該移動命令に基づいて、前記移動物体を移動させる駆動手段、b2)所定時間毎に方向別距離データの集合である集合距離データを計測する集合距離データ計測手段を備え、C)前記移動物体動作制御データ生成装置は、c1)前記所定時間ごとの集合距離データを、前記移動物体の動作データとともに記憶する第1の記憶手段、c2)前記移動中に前記通路交わり点にて、操作者から当該環境を表す環境特定単語が与えられると、前記集合距離データに付加して記憶させる付加手段、c3)前記集合距離データを構成する方向別距離データの値の相互関係と周辺環境の抽象化環境データとの対応規則を記憶した第1規則記憶手段、c4)前記対応規則に基づいて、前記第1の記憶手段に記憶された前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定する抽象化集合環境データ特定手段、c5)前記方向別の抽象化集合環境データを記憶する第2の記憶手段、c6)前記第2の記憶手段に記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目抽象化集合環境データとして決定し、前記注目抽象化集合環境データとともに、その前後所定数の抽象化集合環境データを連データとして決定する連データ決定手段、c7)前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する連データとして生成する環境動作データ生成手段を備えている。
【0098】
このように、所定時間ごとの集合距離データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合距離データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者から与えられた環境特定単語により、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0099】
また、共通抽象化集合環境データの生成においては、前記複数の連データのうち、環境特定単語および動作が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。したがって、環境特定単語および動作が同じ連データを一般化した動作指令連データを生成することができる。
【0100】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する方向別抽象化環境データの値を、注目抽象化集合環境データを中心に鏡対称入れ替えを行なう。
【0101】
値を、注目環境集合環境データを中心に鏡対称入れ替えを行なう。したがって、時間軸方向に対して、対象である状況下において、一方だけでも検出すれば、他方については、現実に動作させなくても、前記連データを取得することができる。
【0102】
上記移動物体動作制御データ生成装置においては、前記生成手段は、前記抽出した連データの各方向別環境データについて、異なる値の方向別抽象化環境データを捨てる場合に、連データを構成する各方向別抽象化環境データについて、その値を進行方向に対して直交する方向に鏡対称入れ替えを行なう。したがって、前記進行方向に対して直交する方向に対して、対象である状況下において、一方だけでも検出すれば、他方については現実に動作させなくても、前記連データを取得することができる。
【0103】
上記移動物体動作制御データ生成方法は、移動物体の動作を人間が用いる環境特定単語で制御するために、前記移動物体の動作制御用のデータを生成する移動物体動作制御データ生成方法であって、1)前記移動物体を移動させつつ、所定時間毎に前記移動物体の方向別周辺環境データの集合である集合環境データを計測し、2)前記所定時間ごとの集合環境データを、前記移動物体の動作データとともに記憶し、3)前記移動中に操作者から当該環境を表す環境特定単語が与えられると、前記集合環境データに付加して記憶し、4)あらかじめ記憶した前記方向別環境データの相互関係と周辺環境の抽象化環境データとの対応規則に基づいて、前記記憶された前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定して記憶し、5)前記記憶された抽象化集合環境データのうち、前記環境特定単語が付加されている抽象化集合環境データを注目集合環境データとして決定し、前記注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、6)前記複数の連データのうち、環境特定単語が同じ連データを抽出し、かかる連データの各方向別抽象化環境データについて、異なる値の方向別抽象化環境データを捨てて、同じ値の方向別抽象化環境データを有する共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成する。
【0104】
このように、所定時間ごとの集合環境データおよび前記移動物体の動作データを与えられた環境特定単語とともに記憶し、前記対応規則に基づいて、前記所定時間毎の集合環境データから、周辺環境の抽象化集合環境データを特定し、前記抽象化集合環境データのうち、注目集合環境データとともに、その前後所定数の集合環境データを連データとして決定し、前記複数の連データに基づき、共通抽象化集合環境データで構成された連データを当該環境特定単語に対応する動作指令連データとして生成している。したがって、操作者から与えられた環境特定単語により、前記動作指令連データに基づく動作制御が可能となる。また、環境特定単語によってで前記移動物体の動作を制御できるので、プログラミングも簡易となる。
【0105】
以下に、上記開示で用いた用語について説明をする。
【0106】
「環境特定単語」:移動物体が移動する際の周りの環境を示す単語であり、上記実施形態では、交差点、三叉路等が該当する。
【0107】
「集合環境データ」:方向別周辺環境データの集合であり、上記実施形態では、左、左前、前、右前、右の5つセンサの方向別周辺環境データの集合をいい、方向別周辺環境データを含む概念である。
【0108】
「方向別周辺環境データ」:上記実施形態では、図11に示す各時刻毎の各センサの距離(40)などが該当し、方向別距離データを含む概念である。
【0109】
「動作データ」:移動物体の移動状態を示すデータであり、上記実施形態では、移動物体に対して操作者によって与えられている駆動命令に基づくデータが該当する。
【0110】
「抽象化環境データ」:上記実施形態では、図5に示すテーブルにおける「その方向に面あり」などが該当する。
【0111】
「抽象化集合環境データ」:上記実施形態では、図12〜図16に示す各時刻毎の「面」、「空き」などが該当する。
【0112】
「集合環境データ」:方向別周辺環境データの集合であり、上記実施形態では、左、左前、前、右前、右の5つセンサの方向別周辺環境データの集合をいう。
【0113】
「注目集合環境データ」:操作者から与えられた環境特定単語が付加された抽象化集合環境データをいう。
【0114】
「連データ」:注目集合環境データとその前後所定数の集合環境データで構成された集合環境データの集まりをいう。
【0115】
「鏡対称入れ替え」:上記実施形態では、前進方向に対する鏡対称入れ替え処理、およびまたは時間軸方向に対する鏡対称入れ替え処理が該当する。
【0116】
「方向別距離データ」:上記実施形態では、図11に示す各時刻毎の各センサの距離(40)などが該当する。
【0117】
「集合距離データ」:方向別距離データの集合をいう。
【0118】
「通路交わり点」:上記実施形態では、交差点、三叉路、曲がり角など、通路が交わる(接続される)点をいう。
【0119】
B)第1の実施形態(繰り返し学習)
前記ロボット20に、さらに、繰り返し概念を学習する機能を追加した繰り返し概念学習可能装置について図36〜図42を用いて説明する。
【0120】
上記実施形態においては、操作者が学習を希望する単語を入力しつつロボットを移動させれば、ロボットが与えられた単語と同じ単語を有するデータを抽象化する。したがって、例えば単語「3回交差点直進」を学習させる場合、その動作をさせれば同様に、当該単語に対応する動作を学習させることができる。しかし、全ての単語の学習において実際に動作させて学習させるのは煩雑である。この実施形態では、ロボット20に繰り返し概念を学習させて、既に記憶されている単語を組み合わせることにより、新たな単語と動作との関係を生成する。
【0121】
単語学習装置200は、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、第1抽象化手段203、第2抽象化手段205、環境動作データ生成手段207および記憶手段209を備えている。
【0122】
第1抽象化手段203は、前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が、複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する。第2抽象化手段205は、前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補として記憶する。このように、前記第1の候補の環境動作データ部分を引用単語に変換してから、前記抽象化を行うので、前記単語の一部または全部が一致しかつ引用単語文字列の個数が同じ候補については、前記前記全文字列一致可能文字列に変換が可能となる。また、前記繰り返し情報が付加されている。これにより、繰り返し用の候補枠を生成することができる。
【0123】
また、環境動作データ生成手段207は前記操作者から単語が与えられると、前記第1抽象化手段に記憶された前記第1型の候補のいずれか、および前記第2抽象化手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する。したがって、前記繰り返し用の候補枠を用いて環境動作データを生成することができる。記憶手段209は、生成された環境動作データを記憶する。
【0124】
ハードウェア構成については、既に説明したものと同様であるので説明は省略する(図2〜図5参照)。
【0125】
つぎに、この場合のROM25に追加記憶されるプログラムについて説明する。なお、以下では、単語「3回交差点直進」という動作を、ロボット20に直接入力することなく、対応する動作を学習させる場合について説明する。
【0126】
ROM25には、既に説明したように、図7〜図10に示す複数のプログラムが記憶されており、抽象化連データが生成される。図37では、図7ステップS1〜ステップS5の処理を含めて記述している。
【0127】
操作者は動作単語および環境単語を入力しつつ、学習させたい動作命令を与える。CPU23は、かかる単語入力があるか否か判断しており(図37ステップS101)、単語入力があると検出された環境動作と関連づけて記憶する(ステップS103)。CPU23は単語入力が終了したか否か判断しており(ステップS105)、単語入力が終了すると抽象化処理を行う(ステップS107)。
【0128】
なお、単語入力が終了したか否かは、例えば、単語入力終了命令が与えられたか否かや、または所定時間経過しても新たな単語入力がないか等で判断すればよい。
【0129】
かかる処理(ステップS101〜ステップS107)によって、図38に示すような環境動作単語ごとの周辺環境データが生成される。例えば、環境動作単語「交差点右回」の具体的データは、グループK1である。グループKIのデータ構造は、既に説明したは図18Cに示すように、抽象化された周辺環境データ、駆動命令、および環境単語、動作単語が時系列で構成されたデータである。なお、この実施形態における環境動作単語とは、図18Cの、環境単語および動作単語をまとめた概念である。
【0130】
このようにして、環境動作単語と、抽象化環境データおよび駆動命令との対応データが第1型の候補データとして複数の候補データが生成される。
【0131】
つぎに、操作者は、同様にして、繰り返し回数を含む環境動作単語をロボット20に学習させる。この場合、単語「3回交差点直進」を直接学習させるわけではなく、単語「3回交差点右回」、「3回三叉路右回」、「3回三叉路左回」、「4回三叉路右回」、「4回三叉路左回」などを学習させる。具体的なデータは、例えば、単語「3回交差点右回」については、図18Cに示す「交差点右回」のt-2〜t+2までのデータが3回繰り返されたデータとなる(図39参照)。かかる動作を実行することにより、ステップS101〜ステップS107の処理により、図40に示すような第1型の候補データが生成される。
【0132】
CPU23は、生成された第1型の候補データについて、他の第1型の候補データの単語に置き換えて定義できるか否かを判断し(図37ステップS109)、可能である場合は置換処理を実行する(ステップS111)。例えば、図39に示す第1型の候補データについては、15個の時系列データがあり、最初から5つ分を単語「交差点右回」に置換して表すことができる。なお、このように元のデータに代えて用いられる単語を以下引用単語という。
【0133】
CPU23は、ステップS109からステップS111の処理を繰り返す。これより、図40に示す第1型の候補データは、図41に示すように他の第1型データの単語で定義されたデータとなる。
【0134】
他の単語「3回三叉路右回」、「3回三叉路左回」、「4回三叉路右回」、「4回三叉路左回」なども同様にして引用単語で定義されたデータに変換される。
【0135】
CPU23は、かかる変換後のデータについて、抽象化処理を行う(ステップS113)。ステップS113における抽象化処理について具体例を用いて説明する。ステップS107では同じ単語で抽象化処理を行ったが、このステップでは、各候補の単語の一部または全部が一致する他の候補が存在するか否か判断し、存在する場合に、これらを抽象化する。例えば、単語「3回交差点右回」と単語「3回三叉路右回」、単語「3回三叉路左回」は文字列「3回」が一致するので、これらの3つの候補について抽象化が実行される。かかる抽象化処理では、次のような個別枠が3つ生成される。一つ目の引用単語の部分を比べると、両者は全く一致しない。したがって、結局中身が消された個別枠が1つ生成される。これを2つ目、3つ目と実行することにより、3つの中身のない個別枠が生成される。また、かかる抽象化においては、各個別枠のデータは同じである。例えば、単語「3回交差点右回」は、交差点右回、交差点右回、交差点右回と同じであり、単語「3回三叉路左回」は、三叉路左回、三叉路左回、三叉路左回と同じである。したがって、かかる抽象化において、両者に共通の引用単語が同じであることも抽象化される。すなわち、抽象化処理においては、引用単語が繰り返されているか否かの繰り返し情報として、各個別枠に記録されていたデータは同じであったということが生成されて、これを付加する処理を含む処理が実行される。これより、図42に示すように、単語「3回?」は、個別枠が3つで、かつその中身のデータは同じものという付加情報が付加された第2型の候補データが生成される。
【0136】
なお、かかる抽象化処理においては、各候補の単語の一部または全部が一致する他の候補が存在するか否か判断し、存在する場合に、これらを抽象化する。したがって、図42に示すように抽象化の程度の異なる他の第2型の候補データ「3回三叉路?」、「4回?」、「4回三叉路?」なども生成される。
【0137】
つぎに、操作者は、実際の動作をさせることなく学習させたい動作単語を入力する。CPU23は、かかる単語が入力されたか否かを判断しており(ステップS115)、入力されると、与えられた単語を生成するために、第1型の候補および第2型の候補から組み合わせ可能なものを選定する(ステップS117)。例えば、この場合、操作者から、生成希望の単語として単語「3回交差点直進」が入力されるので、第2型の候補である単語「3回?」と第1型の候補である単語「交差点直進」とを組みあわせることにより、学習させたい動作単語が生成可能である。かかる判断は、文字列マッチングを行えばよい。?部分は、どの文字列とも合致するからである。
【0138】
CPU23は、第1型の候補および第2型の候補を用いて、生成希望の単語を生成する(ステップS119)。具体的には、図42に示す単語「3回?」の個別枠に、単語「交差点直進」の具体的な環境動作データ(図38参照)を代入する。また、この場合、第2型の候補である単語「3回?」には、各個別枠に同じデータであるという付加情報が付加されているので、個別枠の数だけ、前記代入が行われる。これにより、単語「3回交差点直進」の環境動作データが生成される。データ形式としては、図39に示すような時系列データとなる。これにより、単語が与えられれば、かかる環境動作データに基づいて、対応する動作をロボット20は実行することができる。
【0139】
なお、本実施形態においては、ステップS117における組み合わせの決定時に、単語の文字列マッチングで組み合わせ可能か否かを判断している。したがって、ステップS113にて、抽象化の程度の異なる種種の候補が生成されても、不要な候補については組み合わせ特定時に排除される。例えば、「3回交差点右回」、「3回交差点左回」によって、「3回交差点?回」という候補も生成されるが、実際にはかかる候補は適用されない。また、「3回交差点右回」、「4回三叉路右回」から「?回?右回」なども生成されるが、同様に適用段階で排除される。何回かの適用処理を経ても生成に用いられなかった第2型の候補については候補から削除するようにしてもよい。
【0140】
このように、抽象化処理にて、第2型の候補の単語の一部を、全文字列一致可能文字列に置換して記憶しておき、当該候補の枠を用いて、第1型の候補を代入することにより、学習させたい環境動作単語の環境動作を現実にロボットに与えなくても、学習が可能である。
【0141】
また、個別枠のIDとして引用単語を用いることにより、第1型の候補を表す単語の文字列数が異なる場合であっても、抽象化が可能である。なお、引用単語に代えて個別枠のIDを採用してもよい。
【0142】
なお、上記実施形態においては、繰り返しの為の枠を生成してから、実際の適用をするようにしたが、既に該当する第2型の候補および第1型の候補が存在するか否か判断し、存在する場合にはそれらを採用するようにしてもよい。この場合、図37ステップS113までの処理を実行することなく、操作者の希望する単語を学習させることができる。
【0143】
また、?部分の文字列の数は任意に一致可能とした。たとえば、単語「3回交差点直進」は、第2型の候補「3回?」と第1型の候補「交差点直進」によって、生成可能であり、すなわち、?部分との一致判断において文字列の数を考慮しないようにした。しかし、文字列の数まで一致するか否か判断するようにしてもよい。この場合、抽象化された候補としては、例えば、「3回??????」のように、文字列の数だけ全文字列一致可能文字列に置換される。
【0144】
また、本実施形態においては、現実に学習させたい繰り返し動作を1回だけ第1型の候補に記憶しておけば、第2型の候補を用いて、所定回数これを繰り返す環境動作を学習させることができる。したがって、本実施形態のように、学習させたい単語および対応する環境動作を現実にロボットに入力して学習させる場合であっても、繰り返し動作の学習は簡易となる。
【0145】
なお、上記先の出願で開示した技術と任意に組み合わせることができる。また、センサが検出する環境データを距離データとしたが、その他、環境の特徴であればどのようなものであってもよく、例えば、色、光度、表面の特徴、表面の堅さなどであってもよい。さらに、重力センサなどを用いて3次元的な環境データの変化を検出するようにしてもよい。
【0146】
また、この例ではロボットについて適用した場合について説明したが、移動物体が自走式であればどのようなものであっても適用することができる。例えば、コンピュータゲームにおける物体に単語と動きとの関係を学習させる場合などについても適用可能である。
【図面の簡単な説明】
【図1】移動物体動作制御データ生成装置10の機能ブロック図である。
【図2】図1に示す移動物体動作制御データ生成装置を備えたロボット20の外観図である。
【図3】5つのセンサの検出方向を示す図である。
【図4】ロボット20のハードウエア構成の一例を示す図である。
【図5】方向別距離データから方向別環境データを生成するテーブルを示す。
【図6】ロボット20を動作させる軌跡を示す図である。
【図7】全体のフローチャートである。
【図8】駆動処理のフローチャートである。
【図9】センサ値の検出処理のフローチャートである。
【図10】環境特定単語の入力処理のフローチャートである。
【図11】検出されたセンサ値の一例を示す。
【図12】前記センサ値から生成された抽象化環境データである。
【図13】前記センサ値から生成された抽象化環境データである。
【図14】前記センサ値から生成された抽象化環境データである。
【図15】前記センサ値から生成された抽象化環境データである。
【図16】前記センサ値から生成された抽象化環境データである。
【図17】抽象化連データの生成処理のフローチャートである。
【図18】各グループにおける一般化の処理を説明するための図である。
【図19】各グループにおける一般化の処理を説明するための図である。
【図20】各グループにおける一般化の処理を説明するための図である。
【図21】各グループにおける一般化の処理を説明するための図である。
【図22】通路・前進における動作指令データを示す。
【図23】ロボット20を動作させる環境を示す。
【図24】三叉路における異なるパターンの動作例を示す。
【図25】図24において検出されたセンサ値から得られたデータを示す。
【図26】図24において検出されたセンサ値を左右方向に鏡対称入れ替え処理をした場合のデータを示す。
【図27】図24において検出されたセンサ値を時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図28】図24において検出されたセンサ値を左右方向および時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図29】三叉路における異なるパターンの動作例を示す。
【図30】図29において検出されたセンサ値から得られたデータを示す。
【図31】図29において検出されたセンサ値を左右方向に鏡対称入れ替え処理をした場合のデータを示す。
【図32】図29において検出されたセンサ値を時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図33】図29において検出されたセンサ値を左右方向および時間軸方向に鏡対称入れ替え処理をした場合のデータを示す。
【図34】三叉路にて、右回り、左回りをまとめて、回転にした場合のデータである。
【図35】交差点にて、右回り、左回りをまとめて、回転にした場合のデータである。
【図36】本発明にかかる単語学習装置の機能ブロック図である。
【図37】学習を希望する単語の環境動作データを生成するフローチャートである。
【図38】第1型の候補データのデータ構造を示す図である。
【図39】繰り返しを含む環境動作データを示す図である。
【図40】図39に示す繰り返しを含む環境動作データが複数存在する場合を示すデータを示す図である。
【図41】図40に示す環境動作データを引用単語で定義した場合のデータ構造を示す図である。
【図42】図41に示す単語を抽象化した場合のデータ構造を示す図である。
【符号の説明】
23・・・・・・・・・・・CPU
27・・・・・・・・・・・メモリ
40s1〜40s5・・・・・・センサ
Claims (12)
- 操作者の移動命令に基づいて自走するロボットであって、
A)所定時間ごとに周辺の環境との距離データを検出し、あらかじめ記憶された環境把握規則を用いて、時系列順の所定数の周辺環境データで構成された周辺環境組データを生成する周辺環境組データ生成手段、
B)前記移動中に操作者から単語が与えられると、第1型データテーブルを生成して、各項目にする周辺環境組データを記憶させる第1型データテーブル生成手段、
b1)前記第1型データテーブルは、単語を記憶する単語項目、前記生成された周辺環境組データを記憶する周辺環境組データ項目、および前記各周辺環境データに対応する移動命令を記憶する移動命令項目を有する、
C)前記単語項目が同じ第1型データテーブルについて、周辺環境組データ項目に記憶された周辺環境組データの一致演算を行い、一致する周辺環境組データはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えて記憶する第1抽象化手段であって、いずれかの第1型データテーブルについて、周辺環境組データ項目および対応する移動命令の組み合わせが、他の第1型データテーブルの周辺環境組データ項目およびその移動命令の組み合わせと一致するか否か判断し、一致する組み合わせが存在する場合には、以下の第2型データテーブルを生成するとともに、一致する組み合わせが複数である場合には、引用単語項目に引用単語を前記複数回記憶する第1抽象化手段、
c1)前記第2型データテーブルは、以下の2つの項目を有している、c11)前記第1データテーブルの単語を記憶する単語項目および、c12)前記生成された周辺環境組データを記憶する周辺環境組データ項目および前記各周辺環境データに対応する移動命令を記憶する移動命令項目に代えて、当該一致する他の対応周辺環境組データの単語項目を記憶する引用単語項目、
D)前記第2型データテーブルの単語項目が一部または全部重複する第2型データテーブルについて、前記引用単語項目に記憶された引用単語の一致演算を行い、一致する場合にはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えるとともに、当該単語項目に記憶された単語の各文字についても一致する場合にはそのまま、異なる場合には全文字列一致可能文字列に変換したデータに置き換えて記憶する第2抽象化手段であって、前記複数の引用単語項目に記憶された引用単語を全文字列一致可能文字列に変換する場合には、各第2型データテーブルについて、引用単語項目に記憶された引用単語が同じである場合には、その情報を同一情報として記憶する第2抽象化手段、
E)以下のe1)〜e2)を有する対応動作特定手段、
e1)操作者から単語が与えられると、かかる単語と、前記第2抽象化手段に記憶された各第2型データテーブルの単語項目に記憶された単語とを比較して、操作者から与えられた単語が、前記第2型データテーブルの単語項目に記憶された単語の全文字列一致可能文字以外の文字列と一致するか否か判断し、一致する場合には、その第2データテーブルを特定するとともに、操作者から与えられた単語のうち前記特定した第2型データテーブルの単語項目に記憶された単語の全文字列一致可能文字と合致させた文字列については、前記第1抽象化手段に記憶された第1型データテーブルのうち、当該文字列と単語項目に記憶された単語とが一致する第1型データテーブルを特定するデータテーブル特定手段、
e2)当該引用単語に代えて前記特定した第1型データテーブルの周辺環境組データおよびこれに対応する移動命令に置換する動作特定手段であって、前記特定した第2データテーブルの引用単語に同一情報が付加されている場合には、全引用単語について置換処理を行う、
を備えたことを特徴とするロボット。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が、複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補として記憶する第2抽象化手段、
前記操作者から単語が与えられると、前記第1抽象化手段に記憶された前記第1型の候補のいずれか、および前記第2抽象化手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段、
を備えたことを特徴とする単語学習装置。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補として記憶する第2抽象化手段、
を備えたことを特徴とする単語学習用装置。 - 請求項3の単語学習装置において、
前記引用単語について、同じ引用単語については同じブロックIDを、異なる引用単語については異なるブロックIDを、前記引用単語に代えて置換すること、
を特徴とするもの。 - 請求項3の単語学習装置において、
前記移動物体から与えられる検出された周辺環境データは、所定時間ごとに周辺の環境との距離データを検出し、あらかじめ記憶された環境把握規則を用いて、抽象化して生成された時系列順の所定数の周辺環境データで構成されていること、
を特徴とするもの。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、第1型の候補として記憶する第1抽象化手段、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、各候補について、前記引用単語が複数含まれているか否かの付加判断も実行する抽象化処理を行い、第2型の候補として記憶する第2抽象化手段、
を備えたことを特徴とする単語学習用装置。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成装置であって、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶する第1候補記憶手段、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶する第2候補記憶手段、
前記操作者から単語が与えられると、前記第1候補記憶手段に記憶された前記第1型の候補のいずれか、および前記第2候補記憶手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段、
を備えたことを特徴とする環境動作データ生成装置。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置であって、
所定のデータ構造のデータ群が複数与えられると、前記データ構造を変更することなくデータ内容の抽象化を実行する抽象化手段であって、前記移動物体から与えられる、検出された周辺環境データ、移動命令および単語で構成されたデータ構造を有する単語付き環境動作データを抽象化して、単語付き環境動作データを第1型の候補として生成する抽象化手段、
前記第1記憶手段に記憶された第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させて、変換第1型候補を生成する変換候補生成手段、
を備え、
前記抽象化手段は、前記変換第1型候補を抽象化することにより、変換第1型候補を第2型の候補を生成し、
さらに、
前記操作者から単語が与えられると、前記第1記憶手段に記憶された前記第1型の候補のいずれか、および前記第2記憶手段に記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換して、前記操作者から与えられた単語に対応する環境動作データを生成する環境動作データ生成手段、
を備えたことを特徴とする単語学習装置。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習方法であって、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、これにより複数の第1型の候補を生成し、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補を生成すること、
を備えたことを特徴とする単語学習方法。 - 操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成方法であって、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶しておき、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶しておき、
前記操作者から単語が与えられると、前記記憶された前記第1型の候補のいずれか、および前記記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成すること、
を特徴とする環境動作データ生成方法。 - コンピュータを、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させる単語学習装置として機能させるためのプログラムであって、
前記プログラムは、前記コンピュータに、以下の処理を実行させるためのプログラムであること、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い、これにより複数の第1型の候補を生成し、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い、第2型の候補を生成する、
を特徴とするコンピュータ可読のプログラム。 - コンピュータを、操作者から移動命令を受けるとこれに基づいて移動しつつ周辺環境を検出する移動物体に、ある環境下における動作を表す環境動作を表す単語を与えて、前記単語と前記環境動作との関係を学習させ、かかる学習データを用いて環境動作データを生成する環境動作データ生成装置として機能させるためのプログラムであって、前記プログラムは、前記コンピュータに、以下の処理を実行させるためのプログラムであること、
前記移動物体から与えられる検出された周辺環境データ、移動命令および、単語が複数与えられると、文字列の一部または全部が一致する単語に基づいて、抽象化処理を行い生成された第1型の候補を記憶しておき、
前記第1型の候補について、他の候補の環境動作データを一部に含む単語が存在する場合には、当該環境動作データ部分のデータに代えて当該候補の単語を引用単語として置換させるとともに、当該候補の単語の一部または全部が一致する他の候補が存在する場合には、前記引用単語が繰り返されているか否かの繰り返し情報を付加する処理を含む抽象化処理を行い生成された第2型の候補を記憶しておき、
前記操作者から単語が与えられると、前記記憶された前記第1型の候補のいずれか、および前記記憶された前記第2型の候補を組み合わせて、当該操作者から与えられた単語に対する環境動作を生成する手段であって、前記第2型の候補のうち抽象化されたことにより非特定である部分の文字列に前記いずれかの第1型の候補の単語を代入して、これにより、操作者から与えられた単語を生成可能な組み合わせを決定し、特定された第2型の候補の引用単語を前記第1型の候補の環境動作データに置換するとともに、前記繰り返し情報が付加されている場合には、全引用単語について前記置換処理を繰り返して、前記操作者から与えられた単語に対応する環境動作データを生成する、
を特徴とするコンピュータ可読のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000402922A JP3653224B2 (ja) | 2000-12-28 | 2000-12-28 | ロボット、単語学習装置およびその方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000402922A JP3653224B2 (ja) | 2000-12-28 | 2000-12-28 | ロボット、単語学習装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002202795A JP2002202795A (ja) | 2002-07-19 |
JP3653224B2 true JP3653224B2 (ja) | 2005-05-25 |
Family
ID=18867128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000402922A Expired - Fee Related JP3653224B2 (ja) | 2000-12-28 | 2000-12-28 | ロボット、単語学習装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3653224B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6562711B2 (ja) * | 2015-05-15 | 2019-08-21 | Kddi株式会社 | ロボット動作生成装置およびプログラム |
US10860800B2 (en) | 2017-10-30 | 2020-12-08 | Panasonic Intellectual Property Management Co., Ltd. | Information processing method, information processing apparatus, and program for solving a specific task using a model of a dialogue system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214645A (ja) * | 1993-01-13 | 1994-08-05 | Paruko Puromooshiyon:Kk | 移動ロボットの制御方法とその装置 |
JPH07287695A (ja) * | 1994-04-18 | 1995-10-31 | Fujitsu Ltd | 自律的に学習、成長するコンピュータシステム、及びロボットシステム |
JP3472194B2 (ja) * | 1999-05-25 | 2003-12-02 | 日本電信電話株式会社 | 自動応答方法及びその装置並びにそのプログラムを記録した媒体 |
JP3378545B2 (ja) * | 1999-12-24 | 2003-02-17 | 憲三 岩間 | 動作計画決定装置、動作計画決定方法、動作計画決定プログラムを記録した記録媒体、および動作計画データを記録した記録媒体 |
JP2001228891A (ja) * | 2000-02-16 | 2001-08-24 | Mitsubishi Electric Corp | 音声対話装置 |
JP3653212B2 (ja) * | 2000-08-03 | 2005-05-25 | 憲三 岩間 | 移動物体動作制御データ生成装置およびその方法 |
-
2000
- 2000-12-28 JP JP2000402922A patent/JP3653224B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002202795A (ja) | 2002-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Learning to navigate through complex dynamic environment with modular deep reinforcement learning | |
KR102481487B1 (ko) | 자율 주행 장치 및 그의 제어 방법 | |
CN105955254B (zh) | 一种适用于机器人路径搜索的改进的a*算法 | |
CN109069929B (zh) | 用于玩具识别的***和方法 | |
CN102580314B (zh) | 获得用于控制游戏程序的运行的输入 | |
CN102949846B (zh) | 游戏机、游戏机的控制方法 | |
CN107638689A (zh) | 获得用于控制游戏程序的运行的输入 | |
CN108177162A (zh) | 移动机器人的干扰区域设定装置 | |
CN105809102A (zh) | 手写轨迹识别方法与*** | |
JP6793905B2 (ja) | ロボットの行動シミュレーション装置 | |
CN109597485A (zh) | 一种基于双指角域特征的手势交互***及其工作方法 | |
CN110390240A (zh) | 自动驾驶车辆中的车道后处理 | |
CN104793017B (zh) | 一种加速度校正方法及终端 | |
Santara et al. | Madras: Multi agent driving simulator | |
KR20170014505A (ko) | 골프 스윙 분석 장치 및 이를 이용한 골프 연습 시뮬레이션 시스템 | |
CN108536293A (zh) | 人机交互***、方法、计算机可读存储介质及交互装置 | |
CN104239119B (zh) | 一种基于kinect实现电力培训仿真的方法及*** | |
CN107096223A (zh) | 虚拟现实场景中的移动控制方法、装置及终端设备 | |
CN106512391B (zh) | 一种双手手势识别方法及基于其的模拟驾驶***、方法 | |
CN100470453C (zh) | 一种人机指令输入设备中运动信息的映射方法 | |
JP3653224B2 (ja) | ロボット、単語学習装置およびその方法 | |
CN114996109A (zh) | 用户行为识别方法、装置、设备及存储介质 | |
CN105867427B (zh) | 一种面向动态环境的机器人寻径在线控制方法 | |
KR102491389B1 (ko) | 코딩 학습용 로봇 제어 시스템 | |
JP3653212B2 (ja) | 移動物体動作制御データ生成装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041004 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050225 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |