(57)【要約】【課題】指示作業に基づいた行動計画の策定による複数ロボットの協調作業動作にあって、装置規模および信号処理規模を縮小してコスト低下を図り、さらに、容易かつ確実に実行できるようにする。【解決手段】複数のロボット１０〜１４が協調して行動する自律ロボットにおいて、周囲を撮影する撮影部１０ａ〜１４ａと、各ロボット１０〜１４に応じて視覚的に相違する特徴部１０ｂ〜１４ｂと、外部と通信する通信部１０ｃ〜１４ｃと、通信部１０ｃ〜１４ｃを介して他のロボットが撮影した画像データを取得し、他のロボットが撮影した画像データと自身の撮影部によって撮影した画像データとから各ロボット１０〜１４の特徴部１０ｂ〜１４ｂを検出し、検出した各ロボット１０〜１４の特徴部１０ｂ〜１４ｂに基づいて、各ロボット１０〜１４の存在位置を特定する制御部３０とを有することを特徴とする。【選択図】図１
2005262378.tif 000002
【特許請求の範囲】
【請求項１】
複数のロボットが協調して行動する自律ロボットにおいて、
周囲を撮影する撮影部と、
各ロボットに応じて視覚的に相違する特徴部と、
外部と通信する通信部と、
前記通信部を介して他のロボットが撮影した画像データを取得し、他のロボットが撮影した画像データと自身の前記撮影部によって撮影した画像データとから各ロボットの前記特徴部を検出し、検出した各ロボットの前記特徴部に基づいて、各ロボットの存在位置を特定する制御部とを有することを特徴とする自律ロボット。
【請求項２】
請求項１に記載の自律ロボットにおいて、
前記制御部は、各ロボットの存在位置に基づいて、所定の目的の作業を実行する実行役ロボットの行動計画を策定することを特徴とする自律ロボット。
【請求項３】
複数のロボットが協調して行動する自律ロボットの制御方法において、
周囲を撮影する撮影部と、各ロボットに応じて視覚的に相違する特徴部と、外部と通信する通信部とを有する自律ロボットの制御部は、
前記通信部を介して他のロボットが撮影した画像データを取得し、
他のロボットが撮影した画像データと自身の前記撮影部によって撮影した画像データとから各ロボットの前記特徴部を検出し、
検出した各ロボットの前記特徴部に基づいて、各ロボットの存在位置を特定することを特徴とする自律ロボットの制御方法。
【請求項４】
請求項３に記載の自律ロボットの制御方法において、
前記制御部は、
検出した各ロボットの前記特徴部に基づいて、三角測量法によって定まる地図座標によって、各ロボットの存在位置を特定することを特徴とする自律ロボットの制御方法。
【請求項５】
請求項３に記載の自律ロボットの制御方法において、
前記制御部は、
画像内の任意の目印と各ロボットとの相対的な位置関係に基づいて、各ロボットの存在位置を特定することを特徴とする自律ロボットの制御方法。
【請求項６】
請求項３〜５のいずれか１項に記載の自律ロボットの制御方法において、
前記制御部は、各ロボットの存在位置に基づいて、所定の目的の作業を実行する実行役ロボットを特定し、前記実行役ロボットの行動計画を策定し、前記実行役ロボットに送信することを特徴とする自律ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のロボットが協調して行動する自律ロボットおよびその制御方法に関する。
【背景技術】
【０００２】
例えば特許文献１に開示されているように、複数のロボットが協調して行動する自律ロボットが知られている。
【０００３】
自律ロボットは（以下、単にロボットという）、他のロボットと協調して所定の目的の作業（以下、協調作業という）を実行する場合に、以下のように動作する。なお、協調作業では、他のロボットに協調作業に係る行動を指令するロボットと、協調作業に係る行動を実行するロボットとが存在し、以下、それぞれを指令役ロボットと実行役ロボットという。また、指令役ロボットは、実行役ロボットを兼ねる場合もある。また、協調作業の実行に際して、各ロボット（少なくとも、各ロボットの存在位置を特定する必要のある指令役ロボット）は、作業エリアの位置関係を示す地図データ（以下、単に作業エリアの地図データという）を予め記憶しているものとして説明する。
【０００４】
指令役ロボットは、協調作業を実行するために、無線通信によって他のロボットに協調作業に係る行動依頼を送信する。
【０００５】
他のロボットは、行動依頼を受信すると、自身の存在位置を検出する。なお、このとき、指令役ロボットも、自身の存在位置を検出する。存在位置の検出は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）や磁気センサなどを用いるのが一般的である。ＧＰＳは、受信者（ここでは各ロボット）が測地衛星から発信される電波を受信することにより、受信者の地球上での位置（経度および緯度）や、移動方向、移動速度などを検出するシステムである。ＧＰＳは、受信者が、米国国防省によって打ち上げられ、かつ、昼夜にかかわらず、受信者の上空に複数（約４〜１２個）存在する測地衛星から発信される電波を受信し、複数の測地衛星間の電波の位相を計算し、受信者と複数の測地衛星との間で三角測量を行なうことにより、受信者の地球上での位置（経度および緯度）や、移動方向、移動速度などを検出するものである。ＧＰＳは、車や船舶、航空機などの位置を検出する装置（例えばカーナビゲーションシステムなど）に広く用いられており、すでに一般的な技術であるので、ここでは詳細な説明を省略する。他方、磁気センサは、磁気の強弱により自身と他のロボットとの相対的な距離を検出する技術であり、これもすでに一般的な技術であるので、ここでは詳細な説明を省略する。
【０００６】
他のロボットは、自身の存在位置を検出すると、自身の存在位置を指令役ロボットに通知するデータ（以下、回答データという）を作成し、指令役ロボットに送信する。
【０００７】
指令役ロボットは、他のロボットから回答データを受信すると、回答データを解析し、作業エリアの地図データに基づいて、各ロボットの存在位置を特定する。また、作業エリアの地図データに基づいて、自身の存在位置を特定する。そして、自身を含めた、協調作業を好適に（すなわち、短時間に確実に）実行できる１乃至複数の実行役ロボットを特定し、実行役ロボットの行動計画を策定し、実行役ロボットに送信する。
【０００８】
実行役ロボットは、指令役ロボットから行動計画を受信すると、行動計画および作業エリアの地図データに基づいて協調作業を実行する。なお、実行役ロボットは、作業エリアの地図データを、予め記憶しておらず、指令役ロボットから受信する構成としてもよい。
【特許文献１】特開２００２−１７８２８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
協調作業の実行に際して、各ロボット（少なくとも、各ロボットの存在位置を特定する必要のある指令役ロボット）は、作業エリアの地図データを用いて各ロボットの存在位置を特定する。しかしながら、作業エリアは、一箇所に限らず複数箇所存在するのが一般的である。したがって、各ロボット（少なくとも、各ロボットの存在位置を特定する必要のある指令役ロボット）は、各作業エリアに対応した地図データが必要となる。そのため、従来は、各作業エリアに対応した地図データを作成する手間や、各作業エリアに対応した地図データを各ロボットに記憶させる手間がかかるという問題があった。また各ロボットに記憶された地図データが大量に存在すると、各ロボットの存在位置を特定する速度を低下させ、協調作業を実行する時間を遅滞させるという問題があった。
【００１０】
また、ロボットは、ＧＰＳや磁気センサなどを用いて自身の存在位置を検出している。しかしながら、ＧＰＳや磁気センサなどの存在位置を検出する手段は、構成が比較的複雑であるため、ロボットの構成を複雑化させるという問題、特に、ロボットの装置規模を増大させ、コストを増大させるという問題があった。また、ＧＰＳや磁気センサなどの手段は、ロボットの制御部における信号処理を複雑化させるという問題もあった。
【課題を解決するための手段】
【００１１】
この発明は、このような課題を解決するために、各作業エリアに対応した地図データを用いる必要がなく、かつ、ＧＰＳや磁気センサなどよりも簡素な手段で各ロボットの存在位置を特定する自律ロボットおよびその制御方法を提供することを目的とする。
【００１２】
前述の課題を解決するために、この発明に係る自律ロボットは、複数のロボットが協調して行動する自律ロボットにおいて、周囲を撮影する撮影部と、各ロボットに応じて視覚的に相違する特徴部と、外部と通信する通信部と、通信部を介して他のロボットが撮影した画像データを取得し、他のロボットが撮影した画像データと自身の撮影部によって撮影した画像データとから各ロボットの特徴部を検出し、検出した各ロボットの特徴部に基づいて、各ロボットの存在位置を特定する制御部とを有することを特徴とする。
【００１３】
また、この発明に係る自律ロボットの制御方法は、複数のロボットが協調して行動する自律ロボットの制御方法において、周囲を撮影する撮影部と、各ロボットに応じて視覚的に相違する特徴部と、外部と通信する通信部とを有する自律ロボットの制御部は、通信部を介して他のロボットが撮影した画像データを取得し、他のロボットが撮影した画像データと自身の撮影部によって撮影した画像データとから各ロボットの特徴部を検出し、検出した各ロボットの特徴部に基づいて、各ロボットの存在位置を特定することを特徴とする。
【００１４】
これにより、この発明に係る自律ロボットおよびその制御方法は、各作業エリアに対応した地図データを用いる必要がなく、かつ、ＧＰＳや磁気センサなどよりも簡素な手段で各ロボットの存在位置を特定することができる。
【発明の効果】
【００１５】
この発明に係る自律ロボットおよびその制御方法は、各作業エリアに対応した地図データを用いることなく、他のロボットの存在位置を正確に特定することができる。特に、自身が撮影した画像データの中から、他のロボットを検出することが困難な場合（例えば、他のロボットが障害物や背景と重なるような場合）であっても、他のロボットの存在位置を正確に特定することができる。そのため、自身を含めた、協調作業を好適に（すなわち、短時間に確実に）実行できる１乃至複数の実行役ロボットを特定し、実行役ロボットの行動計画を策定することができる。したがって、各作業エリアに対応した地図データを作成する手間や、各作業エリアに対応した地図データを各ロボットに記憶させる手間をなくすことができる。また大量の地図データを各ロボットに記憶させる必要がないので、各ロボットの存在位置を特定する速度を向上させ、協調作業を実行する時間を短縮させることができる。
【００１６】
また、この発明に係る自律ロボットおよびその制御方法は、ＧＰＳや磁気センサなどの複雑な構成を用いずに、ＧＰＳや磁気センサなどよりも簡素な手段で各ロボットの存在位置を検出する。そのため、ロボットの構成を簡素化させることができ、特に、ロボットの装置規模を縮小させ、コストを低下させることができる。また、ロボットの制御部における信号処理を簡素化させることができる。
【発明を実施するための最良の形態】
【００１７】
以下に、図を参照してこの発明の実施の形態を説明する。なお、各図は、この発明を理解できる程度に概略的に示してあるに過ぎない。よって、この発明は図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００１８】
＜実施形態の全体構成＞
図１は、実施形態の全体構成を概略的に示す図である。図１に示す実施形態は、第１〜第５の５台の自律ロボット（以下、単にロボットという）１０，１１，１２，１３，１４と、各ロボット１０〜１４間における通信を制御する通信制御装置２０とを有している。なお、この実施形態では、各ロボット１０〜１４は、胴体を中心に頭部と腕部と脚部とを有し、二本足で走行するヒューマノイド型（人間型）であるものとする。また、ロボット１０が指令役ロボットであるものとする。また、各ロボット１０〜１４間や各ロボット１０〜１４と通信制御装置２０間の通信は、各ロボット１０〜１４間や各ロボット１０〜１４と通信制御装置２０間に何らかの障害物が存在しても行えるように、無線によるものとする。
【００１９】
各ロボット１０〜１４は、それぞれ、周囲を撮影するカメラ１０ａ，１１ａ，１２ａ，１３ａ，１４ａと、各ロボット１０〜１４に応じて視覚的に相違する特徴部１０ｂ，１１ｂ，１２ｂ，１３ｂ，１４ｂと、外部と通信する無線通信部１０ｃ，１１ｃ，１２ｃ，１３ｃ，１４ｃと、作業アーム１０ｄ，１１ｄ，１２ｄ，１３ｄ，１４ｄと、二本足走行機構部１０ｅ，１１ｅ，１２ｅ，１３ｅ，１４ｅとを有する。
【００２０】
カメラ１０ａ〜１４ａは、他のロボットが何らかの障害物の背後に位置する場合に、他のロボットをできるだけ撮影できるように、高い位置に設置されることが好ましい。また、周囲を広範囲に撮影できるように、水平方向に回動可能に設置されることが好ましい。そこで、この実施形態では、カメラ１０ａ〜１４ａは、各ロボット１０〜１４の頭部に設置されるものとする。また、カメラ１０ａ〜１４ａは、動画像を撮影するものが好ましい。
【００２１】
特徴部１０ｂ〜１４ｂは、個々のロボット１０〜１４に特有な外観上の特徴箇所、すなわち各ロボット１０〜１４に応じて違えられた外観上の特徴箇所（例えばボディ形状や塗装など）を有している。各ロボット１０〜１４は、特徴部１０ｂ〜１４ｂにおける外観上の違いから、各個体を識別することができる。特徴部１０ｂ〜１４ｂは、他のロボット１０〜１４によって撮影され易い位置に設置されることが好ましい。そこで、この実施形態では、特徴部１０ｂ〜１４ｂは、各ロボット１０〜１４の頭部に設置されるものとする。例えば、図１に示す例では、各ロボット１０〜１４の頭部に、頭部を周回する帯状の塗装が施こされている。この塗装は各ロボット１０〜１４に応じて模様や配色が違えられており、この塗装が特徴部１０ｂ〜１４ｂとなる。なお、図１に示すロボット１０〜１４には、頭部に棒状の突起が設けられているが、この突起の形状を各ロボット１０〜１４に応じて違えることにより、突起を特徴部１０ｂ〜１４ｂとして機能させることもできる。
【００２２】
なお、特徴部１０ｂ〜１４ｂは、前述の通り、個々のロボット１０〜１４に特有な外観上の特徴箇所を有している。その特徴部１０ｂ〜１４ｂに関するデータは、協調作業を実行するに際して、各ロボット１０〜１４と対応付けられて、各ロボット１０〜１４（少なくとも、各ロボット１０〜１４の存在位置を特定する必要のある指令役ロボットである第１のロボット１０）に予め記憶されている。この特徴部１０ｂ〜１４ｂに関するデータは、各ロボット１０〜１４が撮影した画像のデータ（以下、単に画像データまたは画像という）の中から各ロボット１０〜１４を検出するのに用いられる。
【００２３】
無線通信部１０ｃ〜１４ｃは、外部（この実施形態では通信制御装置２０や他のロボット）と通信する通信部として機能する。この実施形態では、無線通信部１０ｃ〜１４ｃは、胴体の背面に設置されるものとする。
【００２４】
作業アーム１０ｄ〜１４ｄは、人間の腕部に相当する部位である。なお、図１には手が描かれていないが、実際には人間の手と同様の構成が存在する。
【００２５】
二本足走行機構部１０ｅ〜１４ｅは、人間の脚部に相当する部位である。
【００２６】
なお、図１は５台のロボット１０〜１４による構成例を示しているが、ロボットの台数はこれに限らず増減することができる。ロボットの台数を増減する場合の全体構成は、図１と同様である。
【００２７】
＜ロボットの制御部の構成＞
以下に、ロボット１０〜１４の制御部の構成について説明する。なお、ここでは、便宜的に指令役ロボットである第１のロボット１０の制御部を例にして説明するが、他のロボット１１〜１４の制御部も同様の構成となっている。
【００２８】
図２は、ロボットの制御部の構成を示すブロック図である。
【００２９】
制御部３０は、無線通信部１０ｃを介して他のロボット１１〜１４が撮影した画像データを取得し、他のロボット１１〜１４が撮影した画像データと自身が制御するロボット１０が撮影した画像データとから各ロボット１１〜１４の特徴部１１ｂ〜１４ｂを検出し、検出した各ロボット１１〜１４の特徴部１１ｂ〜１４ｂに基づいて、各ロボット１１〜１４の存在位置を特定する部位である。また、自身が制御するロボット１０や他のロボット１１〜１４の行動計画を策定する部位でもある。さらに、行動計画を解析し、協調作業に係る行動（ただし、自身が制御するロボット１０に関連する部分の行動）を実行する部位でもある。
【００３０】
ロボット１０の制御部３０は、ＭＰＵによって構成され、無線通信部１０ｃを制御する無線通信制御部３１と、制御部３０内の各部を制御する主制御部３２と、協調作業を実行するための行動計画を策定する行動計画策定部３３と、各種データを記憶する記憶部３４と、各ロボット１０〜１４が撮影した画像データを加工処理する画像データ処理部３６と、作業アーム１０ｄの駆動を制御する作業アーム駆動処理部３８と、二本足走行機構部１０ｅの駆動を制御する走行駆動処理部３９とを有する。
【００３１】
無線通信制御部３１は、アンテナＡｎｔと接続され、外部（すなわち、通信制御装置２０や他のロボット）と無線通信を行う部位である。
【００３２】
主制御部３２は、制御部３０内の各部を制御して、各ロボット１１〜１４の存在位置を特定する部位である。また、行動計画を解析し、制御部３０内の各部を制御して、協調作業に係る行動（ただし、自身が制御するロボット１０に関連する部分の行動）を実行する部位でもある。
【００３３】
行動計画策定部３３は、協調作業を実行するための行動計画を策定する部位である。
【００３４】
記憶部３４は、各種データを記憶する部位である。記憶部３４は、ロボットデータ３４ａと、特定領域データ３４ｂと、対象物データ３４ｃと、各種位置データ３４ｄとを記憶する。なお、図１２は、記憶部３４に記憶される各種データの構成を示す図である。図１２（Ａ）〜（Ｄ）は、それぞれ、図２に示すロボットデータ３４ａと、特定領域データ３４ｂと、対象物データ３４ｃと、各種位置データ３４ｄとを示している。
【００３５】
ロボットデータ３４ａは、各ロボット１０〜１４の特徴部１０ｂ〜１４ｂに関するデータであり、個々のロボット１０〜１４と個々のロボット１０〜１４に特有な外観上の特徴箇所との対応関係を示している。例えば、図１２（Ａ）では、「名称」や、「ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス」、「特徴箇所（表示色）」などを含むデータとして示されており、名称を「第１のロボット（１０）」とするロボットは、ＩＰアドレスとして「１９２．１６８．０．１０」を有し、特徴箇所として「赤」色を有することを示している。なお、ここでは、各ロボット１０〜１４が無線ＬＡＮを使用するシステムに組み込まれており、ロボット１０が無線通信によって相手のロボットを識別して指示を送信することを想定しているので、ＩＰアドレスを用いている。しかしながら、必ずしもＩＰアドレスに限るものではなく、各ロボット１０〜１４間の通信形態に応じて適宜別の形態に変更することができる。また、図１２（Ａ）では、各ロボット１０〜１４の特徴部１０ｂ〜１４ｂの特徴箇所として表示色を用いているが、これに限らず、例えばロボット１０〜１４ごとに違えられた形状やマークなどのように、外観上の違いから各ロボット１０〜１４を識別することができる手段であればよい。各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））は、各ロボット１０〜１４が撮影した画像の中から各ロボット１０〜１４の特徴部１０ｂ〜１４ｂの特徴箇所を検出することによって各ロボット１０〜１４を検出することができる。
【００３６】
特定領域データ３４ｂは、協調作業に係る特定な行動を実行する領域（以下、特定領域という）に関するデータであり、特定領域と特定領域に特有な特徴箇所との対応関係を示している。例えば、図１２（Ｂ）では、「特定領域」と「特徴箇所（表示色）」などを含むデータとして示されており、特定領域「エリア１０１」は、特徴箇所として「茶」色を有することを示している。なお、図１２（Ｂ）では、各特定領域の特徴箇所として表示色を用いているが、これに限らず、例えば特定領域ごとに違えられた形状やマークなどのように、外観上の違いから各特定領域を識別することができる手段であればよい。各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））は、各ロボット１０〜１４が撮影した画像の中から各特定領域の特徴箇所を検出することによって各特定領域を検出することができる。
【００３７】
対象物データ３４ｃは、協調作業に係る対象物（この実施形態では荷物Ｍ）に関するデータであり、対象物と対象物に特有な特徴箇所との対応関係を示している。例えば、図１２（Ｃ）では、「対象物」と「特徴箇所（表示色）」などを含むデータとして示されており、対象物「荷物Ｍ」は、特徴箇所として「オレンジ」色を有することを示している。なお、図１２（Ｃ）では、各対象物の特徴箇所として表示色を用いているが、これに限らず、例えば対象物ごとに違えられた形状やマークなどのように、外観上の違いから各対象物を識別することができる手段であればよい。各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））は、各ロボット１０〜１４が撮影した画像の中から各対象物の特徴箇所を検出することによって各対象物を検出することができる。
【００３８】
各種位置データ３４ｄは、主制御部３２が各ロボット１０〜１４が撮影した画像の中から検出した様々な物品の存在位置に関する位置データであり、物品と物品の位置との対応を示している。例えば、図１２（Ｄ）では、「物品」と「位置」などを含むデータとして示されており、物品「第１のロボット１０」は、位置「（ｘ○○，ｙ△△）」に存在することを示している。なお、図１２（Ｄ）では、各物品の位置として座標値を用いているが、これに限らず、例えばある地点からの距離値や角度値などのように、何らかの手法によって位置を特定できる手段であればよい。各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））は、各ロボット１０〜１４が撮影した画像の中から各物品の位置を検出することによって協調作業に係る行動を実行することができる。
【００３９】
ロボットデータ３４ａと特定領域データ３４ｂと対象物データ３４ｃは、この実施形態では、協調作業を実行する際に、各ロボット１０〜１４（少なくとも、各ロボット１０〜１４の存在位置を特定する必要のある指令役ロボットであるロボット１０）の記憶部３４に予め記憶されている。また、各種位置データ３４ｄは、各ロボット１０〜１４（少なくとも、各ロボット１０〜１４の存在位置を特定する必要のある指令役ロボットであるロボット１０）が各ロボット１０〜１４の位置や対象物（荷物Ｍ）の位置を検出する都度、そのロボットの記憶部３４に記憶される。
【００４０】
画像データ処理部３６は、各ロボット１０〜１４が撮影した画像データを、主制御部３２が取り込み可能な形式に加工処理する部位である。
【００４１】
作業アーム駆動処理部３８は、作業アーム１０ｄを駆動する部位である。
【００４２】
走行駆動処理部３９は、二本足走行機構部１０ｅを駆動する部位である。
【００４３】
＜通信制御装置の構成＞
以下に、通信制御装置の構成について説明する。
【００４４】
図３は、通信制御装置の構成を示すブロック図である。通信制御装置２０は、無線通信部２０ａと、主制御部２０ｂと、入出力（Ｉ／Ｏ）部２０ｃと、入力部２０ｄと、表示部２０ｅとを有する。
【００４５】
無線通信部２０ａは、アンテナＡｎｔと接続され、外部（すなわち、各ロボット１０〜１４）と無線通信を行う部位である。
【００４６】
主制御部２０ｂは、各ロボット１０〜１４間の無線による通信を制御する部位である。
【００４７】
Ｉ／Ｏ部２０ｃは、主制御部２０ｂと入力部２０ｄと表示部２０ｅとの間に介在し、図示せぬオペレータによって指示される作業内容（以下、指示作業という）を、入力部２０ｄから入力し、主制御部２０ｂや表示部２０ｅに出力する部位である。
【００４８】
入力部２０ｄは、例えばキーボードなどの、図示せぬオペレータが指示作業を入力する部位である。なお、指示作業は、図示せぬ記憶部に記憶される。図示せぬ記憶部に記憶された指示作業は、後から入力部２０ｄによって変更されることもできる。
【００４９】
表示部２０ｅは、入力部２０ｄによって入力された指示作業や各ロボット１０〜１４から送信される各種データを表示する部位である。
【００５０】
＜実施形態の動作の概要＞
以下に、ロボット１０〜１４が協調作業によって荷物Ｍを運搬する場合を例にして、実施形態の動作の概要について説明する。
【００５１】
図４は、実施形態の動作を示すフローチャートである。
【００５２】
図４に示すように、通信制御装置２０は、適宜、図示せぬオペレータによって任意の指示作業を受け付ける（ステップＳ１）。この実施形態では、図５に示すように、「荷物Ｍを現在位置からエリア１０１内に運搬せよ」との指示作業を受け付けたものとする。なお、図５は、各ロボットの動作を示す図である。図５は、作業エリア１００内に５台のロボット１０〜１４と荷物Ｍが配置されていること、ロボット１３が荷物Ｍを取りに行くこと、ロボット１３が荷物Ｍをロボット１４まで運搬してロボット１４に渡すこと、および、ロボット１４が荷物Ｍをエリア１０１内まで運搬することを示している。
【００５３】
通信制御装置２０は、指示作業を受け付けると、指令役ロボットであるロボット１０に指示作業を送信する（ステップＳ２）。なお、このとき、ロボット１０に限らず、全てのロボット１０〜１４に指示作業を送信するようにしてもよい。
【００５４】
指令役ロボットであるロボット１０は、通信制御装置２０から指示作業を受信すると、各ロボット１０〜１４の位置を検出する（ステップＳ３）。なお、ロボット１０の動作の詳細と、各ロボット１０〜１４の位置を検出する手法については、後述する。
【００５５】
ロボット１０は、各ロボット１０〜１４の位置を検出すると、指示作業を実行するための行動計画を策定する（ステップＳ４）。
【００５６】
ロボット１０は、行動計画を他のロボット１１〜１４（少なくとも、実行役ロボットとなるロボット）に送信し、行動計画に基づいて指示作業を実行させる（ステップＳ５）。なお、このとき、指令役ロボットであるロボット１０自身が実行役ロボットになって、他のロボット１１〜１４と協調して指示作業を実行する場合もある。
【００５７】
各ロボット１１〜１４は、各自が担当する作業が終了すると、作業の終了通知を指令役ロボットであるロボット１０に送信する。このようにして、行動計画に係る全てのロボット１０〜１４の作業が終了すると、指示作業が完了したことになる。
【００５８】
指令役ロボットであるロボット１０は、行動計画に係る全てのロボット１０〜１４の作業が終了したら（すなわち、指示作業が完了したら）、指示作業の完了通知を通信制御装置２０に送信する（ステップＳ６）。なお、ロボット１０は、所定の時間内に、行動計画に係る全てのロボット１０〜１４の作業が終了しない場合（すなわち、指示作業が完了しない場合）は、再度、行動計画を策定し、行動計画を他のロボット１１〜１４（少なくとも、実行役ロボットとなるロボット）に送信し、行動計画に基づいて指示作業を実行させる。
【００５９】
通信制御装置２０は、ロボット１０から指示作業の完了通知を受信すると、指示作業の完了を表示部２０ｅに表示する（ステップＳ７）。これによって、オペレータは、指示作業の完了を知ることになる。
【００６０】
＜指令役ロボットの動作の詳細＞
以下に、指令役ロボットであるロボット１０の動作について説明する。
【００６１】
図６と図７は、指令役ロボットの動作を示すフローチャートである。図６は、図４のステップＳ３以降における指令役ロボットであるロボット１０の動作を示している。また、図７は、図６におけるサブルーチンにおける動作を示すフローチャートである。
【００６２】
図６に示すように、指令役ロボットであるロボット１０は、まず、通信制御装置２０から指示作業を受信する（ステップＳ１０）。なお、以下のステップＳ１０〜Ｓ１７は、図４におけるステップＳ３に相当する。
【００６３】
ステップＳ１０の後、指令役ロボットであるロボット１０は、カメラ１０ａによって自身の周囲を撮影した画像を取得する（ステップＳ１１）。なお、ステップＳ１１は、後述のステップＳ１７，Ｓ２０の後にも存在するが、ステップＳ１７，Ｓ２０の後の場合は、他のロボット１１〜１４が撮影した画像を取得することになる。
【００６４】
ロボット１０は、取得した画像を、順次、記憶部３４（図２参照）に記憶するとともに、画像データ処理部３６によって各画像に含まれる他のロボット１１〜１４や、協調作業の対象物（この実施形態では荷物Ｍ）、協調作業の目的となる特定領域（この実施形態では協調作業の終点であるエリア１０１であり、以下、目的領域という）を認識し、他のロボット１１〜１４や、協調作業の対象物、目的領域の輪郭を抽出する（ステップＳ１２）。そして、他のロボット１１〜１４や、協調作業の対象物、目的領域の輪郭データを生成する（ステップＳ１３）。
【００６５】
ロボット１０は、他のロボット１１〜１４や、協調作業の対象物、目的領域の輪郭データを用いて、他のロボット１１〜１４や、協調作業の対象物、目的領域などの位置を検出する（ステップＳ１４）。
【００６６】
なお、これらの位置検出の詳細については、後述の「各物品の位置を検出する手法」の章で詳述する。また、ステップＳ１２〜Ｓ１４は、後述のステップＳ１７，Ｓ２０の後にも存在するが、ステップＳ１７，Ｓ２０の後の場合は、ロボット１０は、ステップＳ１２で他のロボット１１〜１４が撮影した画像の中から自身（ロボット１０）を含む各ロボット１０〜１４や、協調作業の対象物、目的領域を認識して、これら各物品の輪郭を抽出し、ステップＳ１３でこれら各物品の輪郭データを生成し、ステップＳ１４でこれら各物品の位置を検出することになる。
【００６７】
ロボット１０は、障害物に隠れているロボットがあるかを判断し、Ｙｅｓの場合（すなわち、障害物に隠れているロボットがある場合）に工程をステップＳ１６に進め、Ｎｏの場合（すなわち、障害物に隠れているロボットがない場合）に工程をステップＳ１８に進める（ステップＳ１５）。
【００６８】
ロボット１０は、ステップＳ１５において、Ｙｅｓの場合（すなわち、障害物に隠れているロボットがある場合）に、他のロボット１１〜１４が撮影した画像を自身（ロボット１０）に送信することを要求する信号（以下、撮影画像要求信号という）を、他のロボット１１〜１４に送信し（ステップＳ１６）、図７に示す後述のサブルーチンの動作を他のロボット１１〜１４に行わせる（ステップＳ１７）。すなわち、図７に示すように、ロボット１０から撮影画像要求信号を受信し（ステップＳ３０）、各自のカメラ１１ａ〜１４ａによって各自の周囲を撮影した画像を取得し（ステップＳ３１）、各自が撮影した画像をロボット１０に送信する動作を、他のロボット１１〜１４に行なわせる。この後、ロボット１０は、工程をステップＳ１１に戻して再度指示作業を実行する。この場合は、ロボット１０は、前述の通り、ステップＳ１２で他のロボット１１〜１４が撮影した画像の中から自身（ロボット１０）を含む各ロボット１０〜１４や、協調作業の対象物、目的領域を認識して、これら各物品の輪郭を抽出し、ステップＳ１３でこれら各物品の輪郭データを生成し、ステップＳ１４でこれら各物品の位置を検出することになる。
【００６９】
ロボット１０は、ステップＳ１５において、Ｎｏの場合（すなわち、障害物に隠れているロボットがない場合）に、行動計画を策定し（ステップＳ１８）、作業を実行する（ステップＳ１９）。なお、ステップＳ１８は図４におけるステップＳ４に相当し、ステップＳ１９は図４におけるステップＳ５に相当する。
【００７０】
ステップＳ１９の後、ロボット１０は、指示作業が達成されたか否かを判断し、Ｙｅｓの場合（すなわち、指示作業が達成されている場合）に動作を終了し、Ｎｏの場合（すなわち、指示作業が達成されいない場合）に工程をステップＳ１１に戻して再度指示作業を実行する（ステップＳ２０）。
【００７１】
＜各物品の位置を検出する手法＞
以下に、図８〜図１１を用いて、各物品（すなわち、他のロボット１１〜１４や、協調作業の対象物、目的領域など）の位置を検出する手法について説明する。ここでは、２つの手法によって各物品の位置を検出する。図８は、各物品の位置を検出する第１の手法を示す図である。また図９〜図１１は、それぞれ、各物品の位置を検出する第２の手法（１）〜（３）を示す図である。
【００７２】
第１の手法は、各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））が、自身が撮影した画像の中から、他のロボット１１〜１４の特徴部１１ｂ〜１４ｂや、協調作業の対象物の特徴箇所、目的領域の特徴箇所などを検出し、これらに基づいて他のロボット１１〜１４や、協調作業の対象物、目的領域などの位置を特定する手法である。第１の手法は、処理過程が簡素であるので、短時間に各ロボット１０〜１４の位置を検出することができる。
【００７３】
第２の手法は、各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））が、自身（ロボット１０）を含む各ロボット１０〜１４が撮影した複数の画像を用いて、作業エリア１００の地図を取得し、各ロボット１０〜１４が撮影した画像の中から、各ロボット１０〜１４の特徴部１０ｂ〜１４ｂや、協調作業の対象物の特徴箇所、目的領域の特徴箇所などを検出し、これらに基づいて各ロボット１０〜１４や、協調作業の対象物、目的領域などの位置を特定する手法である。第２の手法は、第１の手法よりも各ロボット１０〜１４の位置を検出するのに時間がかかるが、例えば、協調作業の対象物（この実施形態では荷物Ｍ）や他のロボット１０〜１４が何らかの障害物に隠れている場合などのように、第１の手法では検出できない物品（すなわち、他のロボット１１〜１４や、協調作業の対象物、目的領域など）を正確に検出することができる。
【００７４】
以下に、第１と第２の手法について詳述する。なお、この実施形態では、以下の事項を前提として説明する。すなわち、指示作業は「荷物Ｍを現在位置からエリア１０１内まで運搬せよ」というものであり、指令役ロボットである第１のロボット１０は、この指示作業に基づいて、対象物（荷物Ｍ）や、目的領域（エリア１０１）、各ロボット１０〜１４などを検出し、最も短時間で指示作業を完了させる行動計画を策定するものとする。また、各ロボット１０〜１４は、図１２（Ａ）に示すように、それぞれが、ＩＰアドレス「１９２．１６８．０．１０」、「１９２．１６８．０．１１」、「１９２．１６８．０．１２」、「１９２．１６８．０．１３」、「１９２．１６８．０．１４」を有し、特徴部１０ｂ〜１４ｂの特徴箇所として「赤」色、「青」色、「黄」色、「緑」色、「黒」色を有するものとする。また、目的領域（エリア１０１）は、図１２（Ｂ）に示すように、特徴箇所として「茶」色を有するものとする。また、対象物（荷物Ｍ）は、図１２（Ｃ）に示すように、特徴箇所として「オレンジ」色を有するものとする。各ロボット１０〜１４の存在位置を特定する必要のあるロボット（少なくとも協調作業時における指令役ロボット（この実施形態では第１のロボット１０））は、画像の中から、これら各物品に固有な特徴箇所を検出することによって個々の物品を検出することができる。
【００７５】
第１の手法では、指令役ロボットである第１のロボット１０は、通信制御装置２０から指示作業を受信すると、自身のカメラ１０ａによって周囲を撮影し、これによって取得した画像データを記憶部３４に記憶するとともに、取得した画像の中から、個々の物品に固有な特徴箇所を検出する。これによって、各ロボット１１〜１４や、対象物（荷物Ｍ）、目的領域（エリア１０１）を特定する。例えば、第１のロボット１０は、自身のカメラ１０ａによって周囲を撮影した画像を検証し、画像の中から、２体のロボットの輪郭の一部を検出したものとする。すると、第１のロボット１０は、それら２体のロボットの特徴箇所（すなわち、特徴部）を検索する。このとき、第１のロボット１０は、２体のロボットの特徴箇所として、一方から「青」色を、他方から「黄」色を検出したものとする。これによって、ロボット１０は、２体のロボットを第２のロボット１１と第３のロボット１２として特定する。
【００７６】
図８は、このような第１の手法による各ロボットの位置を検出する例を示しており、上方から見た作業エリア１００における各物品の配置を示している。図８に示す例では、指令役ロボットである第１のロボット１０は、矢印の方向を向いており、矢印の方向を撮影している。なお、点線Ｒは第１のロボット１０のカメラ１０ａの視界角度を示しており、したがって、第１のロボット１０は点線Ｒから矢印の方向に広がるロボット１０の周囲を撮影している。第１のロボット１０は、自身が撮影した画像を検証し、画像の中から、各物品の輪郭の一部を検出する。なお、図８に示す例では、右から順に、エリア１０１と、第３のロボット１２と、荷物Ｍと、第４のロボット１３の一部と、第２のロボット１１を検出し、第５のロボット１４を検出できなかったことを示している。第１のロボット１０は、各物品に固有な特徴箇所を検索し、これによって検出した特徴箇所に基づいて各物品を特定する。例えば、領域の色が「茶」色であれば、その領域をエリア１０１と特定する。また、ロボット１１〜１４の特徴部１１ｂ〜１４ｂの色が「黄」色であれば、そのロボットを第３のロボット１２と特定し、同様に、その他の物品（荷物Ｍや、第４のロボット１３、第２のロボット１１）を特定する。
【００７７】
このようにして、第１のロボット１０は、各物品を特定すると、自身（第１のロボット１０）と各物品との位置関係を特定する。図８に示す例では、第１のロボット１０と各物品との位置関係が、第１のロボット１０を中心とする相対的な関係によって表されている。すなわち、エリア１０１が、第１のロボット１０の視界角度（点線Ｒ）の一端からθ（１０−１０１）の角度をなし、Ｌ（１０−１０１）の距離に位置するものとして特定されている。同様に、第３のロボット１２は、点線Ｒの一端からθ（１０−１２）の角度をなし、Ｌ（１０−１２）の距離に位置するものとして特定されている。また荷物Ｍは、点線Ｒの一端からθ（１０−Ｍ）の角度をなし、Ｌ（１０−Ｍ）の距離に位置するものとして特定されている。また第４のロボット１３は、点線Ｒの一端からθ（１０−１３）の角度をなし、Ｌ（１０−１３）の距離に位置するものとして特定されている。また第２のロボット１１は、点線Ｒの一端からθ（１０−１１）の角度をなし、Ｌ（１０−１１）の距離に位置するものとして特定されている。なお、距離は、この実施形態では、各物品の画像中における寸法を実際の寸法と比較することによって算出するものとするが、後述の三角測量法によって算出してもよい。この場合は、各物品の位置をある位置を中心とした座標値で表すことができる。座標値による表示は、行動計画における各物品の位置関係を普遍的な関係で表すことになり、実行役ロボットは短時間で確実に行動を実行することができるので、好ましい。
【００７８】
第２の手法では、指令役ロボットである第１のロボット１０は、自身（第１のロボット１０）を含む各ロボット１０〜１４が撮影した画像データを記憶部３４に記憶し、これらの画像データを合成して作業エリア１００の地図データを作成する。例えば、第１のロボット１０は、自身が撮影した画像データの中から、何らかの目印となる物品（以下、単に目印という）をいくつか抽出し、それら目印間を歩行する。これによって目印間の距離が測定される。目印は、様々な物品がなりえる。例えば、作業エリア１００内に設置された置物や、作業エリア１００内の床や壁に描かれたマークや汚れなどを目印にすることができる。なお、目印間の距離が予め定められている場合はこのような測定は省略してもよい。第１のロボット１０は、第１のロボット１０が撮影した画像や他のロボット１１〜１４が撮影した画像の中から目印を検索し、検出した各目印が重なるように、各画像を合成する。これによって、第１のロボット１０は、作業エリアの地図データを取得する。この後、第１のロボット１０は、各ロボット１０〜１４が撮影した画像の中から、個々の物品に固有な特徴箇所を検出し、これによって、各ロボット１０〜１４や、協調作業の対象物（荷物Ｍ）や、目的領域（エリア１０１）などを特定する。例えば、ロボット１０は、自身のカメラ１０ａによって周囲を撮影した画像を検証し、画像の中から、２体のロボットの輪郭の一部を検出したものとする。そして、さらに画像を検証し、画像の中から、２体のロボットの一方から「青」色の特徴箇所と、他方から「黄」色の特徴箇所を検出したものとする。これによって、ロボット１０は、２体のロボットの一方を第２のロボット１１とし、他方を第３のロボット１２として特定する。ロボット１０は、このようにして各物品を特定すると、三角測量法により各物品の位置を検出し、検出した各物品の位置を作業エリア１００の地図データに投射して、各物品の位置関係を特定する。
【００７９】
なお、三角測量法は、三角法を応用した測量であり、距離・高度が既知の二点を基準とし、見通しのきく任意の他の地点を結ぶ三角形を作り、その角度を測ることによってその地点の位置や標高を求める測量法である。この実施形態では、以下のようにして行われる。
【００８０】
図９〜図１１は、このような第２の手法による各物品の位置を検出する例を示しており、上方から見た作業エリア１００における各物品の配置を示している。図９〜図１１は、図８と同様の状態を示している。ただし、２つの目印Ｐ，Ｑが配置されている点で、図８と相違する。図９〜図１１に示す例では、目印Ｐが、第１のロボット１０の視界角度（点線Ｒ）の一端からθ（１０−Ｐ）の角度をなし、目印Ｑが、第１のロボット１０の視界角度（点線Ｒ）の一端からθ（１０−Ｑ）の角度をなし、目印Ｐと目印Ｑ間がＬ（Ｐ−Ｑ）の距離であることを示している。なお、目印Ｐと目印Ｑ間の距離Ｌ（Ｐ−Ｑ）は、予め測定されているものとする。
【００８１】
まず、第１のロボット１０は、図９に示すように、自身が撮影した画像を検証し、画像の中から、各物品の輪郭の一部を検出する。なお、図９に示す例では、右から順に、エリア１０１と、第３のロボット１２と、目印Ｑと、荷物Ｍと、目印Ｐと、第４のロボット１３の一部と、第２のロボット１１を検出し、第５のロボット１４を検出できなかったことを示している。第１のロボット１０は、各物品（エリア１０１や、第３のロボット１２、目印Ｑ、荷物Ｍ、目印Ｐ、第４のロボット１３、第２のロボット１１など）に固有な特徴箇所を検索し、これによって検出した特徴箇所に基づいて各物品を特定する。
【００８２】
このようにして、第１のロボット１０は、各物品を特定すると、自身（第１のロボット１０）と各物品との位置関係を特定する。図９に示す例では、第１のロボット１０と各物品との位置関係が、第１のロボット１０を中心とする相対的な関係によって表されている。すなわち、エリア１０１が、第１のロボット１０の視界角度（点線Ｒ）の一端からθ（１０−１０１）の角度をなし、Ｌ（１０−１０１）の距離に位置するものとして特定されている。同様に、第３のロボット１２は、点線Ｒの一端からθ（１０−１２）の角度をなし、Ｌ（１０−１２）の距離に位置するものとして特定されている。また荷物Ｍは、点線Ｒの一端からθ（１０−Ｍ）の角度をなし、Ｌ（１０−Ｍ）の距離に位置するものとして特定されている。また第４のロボット１３は、点線Ｒの一端からθ（１０−１３）の角度をなし、Ｌ（１０−１３）の距離に位置するものとして特定されている。また第２のロボット１１は、点線Ｒの一端からθ（１０−１１）の角度をなし、Ｌ（１０−１１）の距離に位置するものとして特定されている。なお、第１のロボット１０と各物品との距離は、この実施形態では、第１のロボット１０を中心とする目印Ｐと目印Ｑ間の距離Ｌ（Ｐ−Ｑ）のＸ成分の寸法（すなわち、Ｌ（Ｐ−Ｑ）×ｃｏｓ（θ（１０−Ｐ）−θ（１０−Ｑ）））とＹ成分の寸法（すなわち、Ｌ（Ｐ−Ｑ）×ｓｉｎ（θ（１０−Ｐ）−θ（１０−Ｑ）））を基準にして、各距離のＸ成分の寸法（すなわち、Ｌ（１０−○○）×ｃｏｓ（θ（１０−○○））とＹ成分の寸法（すなわち、Ｌ（１０−○○）×ｓｉｎ（θ（１０−○○））を比較することによって算出するものとする。
【００８３】
次に、第１のロボット１０は、図１０に示すように、他のロボット１１〜１４が撮影した画像を検証し、画像の中から、各物品の輪郭の一部を検出する。なお、図１０に示す例は、第２のロボット１１が撮影した画像を検証し、画像の中から、各物品の輪郭の一部を検出した状態を示している。図１０に示す例では、第２のロボット１１は、矢印の方向を向いており、矢印の方向を撮影している。なお、点線Ｕは第２のロボット１１のカメラ１１ａの視界角度を示しており、したがって、第２のロボット１１は点線Ｕから矢印の方向に広がるロボット１１の周囲を撮影している。第１のロボット１０は、第２のロボット１１が撮影した画像を検証し、画像の中から、各物品の輪郭の一部を検出する。図１０に示す例では、第１のロボット１０と、目印Ｑと、第５のロボット１４と、目印Ｐを検出したことを示している。図１０に示す例では、第１のロボット１０が、第２のロボット１１の視界角度（点線Ｕ）の一端からθ（１１−１０）の角度をなし、Ｌ（１１−１０）の距離に位置するものとして特定されている。また目印Ｐが、第２のロボット１０の視界角度（点線Ｕ）の一端からθ（１１−Ｐ）の角度をなし、Ｌ（１１−Ｐ）の距離に位置するものとして特定されている。また目印Ｑが、第２のロボット１１の視界角度（点線Ｕ）の一端からθ（１１−Ｑ）の角度をなし、Ｌ（１１−Ｑ）の距離に位置するものとして特定されている。また、第５のロボット１４が、第２のロボット１１の視界角度（点線Ｕ）の一端からθ（１１−１４）の角度をなし、Ｌ（１１−１４）の距離に位置するものとして特定されている。なお、第２のロボット１１と各物品との距離は、この実施形態では、第２のロボット１１を中心とする目印Ｐと目印Ｑ間の距離Ｌ（Ｐ−Ｑ）のＸ成分の寸法（すなわち、Ｌ（Ｐ−Ｑ）×ｃｏｓ（θ（１１−Ｐ）−θ（１１−Ｑ）））とＹ成分の寸法（すなわち、Ｌ（Ｐ−Ｑ）×ｓｉｎ（θ（１１−Ｐ）−θ（１１−Ｑ）））を基準にして、各距離のＸ成分の寸法（すなわち、Ｌ（１１−○○）×ｃｏｓ（θ（１１−○○））とＹ成分の寸法（すなわち、Ｌ（１１−○○）×ｓｉｎ（θ（１１−○○））を比較することによって算出するものとする。また、図１０には示されていないが、第２のロボット１１は、実際には、第３のロボット１２や、荷物Ｍ、第４のロボット１３なども検出している。
【００８４】
次に、第１のロボット１０は、図１１に示すように、２つの目印Ｐ，Ｑを基準にして、各ロボット１０〜１４が撮影した画像を合成して、作業エリア１００の地図データを作成し、作成した作業エリア１００の地図データ上に各物品の位置を重ね合わせる。これによって第１のロボット１０は、各物品、特に、第３のロボット１２の背後に隠れている第５のロボット１４の位置を特定することができる。その結果、第１のロボット１０は、図１１に示すように、第５のロボット１４を、点線Ｒの一端からθ（１０−１４）の角度をなし、Ｌ（１０−１４）の距離に位置するものとして特定することができる。なお、角度θ（１０−１４）は、角度θ（１１−１４）と角度θ（１１−１０）の相関から算出する。距離Ｌ（１０−１４）は、距離Ｌ（１１−１４）に対する角度（θ（１１−１４）−θ（１１−１０））の三角関数を用いて算出することができる。
【００８５】
なお、図１１では、各物品の位置関係は、第１のロボット１０を中心とした座標値で示している。例えば、エリア１０１の位置関係は、（Ｘ（１０−１０１），Ｙ（１０−１０１））として示されている。同様に、他の各物品の位置関係も、（Ｘ（１０−○○），Ｙ（１０−○○））の形式で示されている。これら各物品の位置関係を示す座標値は、第１のロボット１０と各物品とのなす角度、および、第１のロボット１０と各物品との距離に基づいて、三角関数によって算出することができる。例えば、エリア１０１の座標値（Ｘ（１０−１０１），Ｙ（１０−１０１））は、（Ｌ（１０−１０１）×ｃｏｓ（θ（１０−１０１）），Ｌ（１０−１０１）×ｓｉｎ（θ（１０−１０１）））となる。同様に、第１のロボット１０が検出することができた物品（すなわち、エリア１０１や、第３のロボット１２、目印Ｑ、荷物Ｍ、目印Ｐ、第４のロボット１３、第２のロボット１１など）の位置関係も、算出することができる。
【００８６】
ただし、第１のロボット１０が撮影した画像の中から検出することができなかった物品（すなわち、第５のロボット１４）の位置関係は、以下のようにして算出する。
【００８７】
すなわち、第１のロボット１０は、図１０に示すように、他のロボット（この実施形態では第２のロボット１１）が撮影した画像の中から、自身（第１のロボット１０）を検出し、第２のロボット１１を中心にして、第２のロボット１１の視界角度（点線Ｕ）の一端と第１のロボット１０のなす角度θ（１１−１０）を算出する。そして、第２のロボット１１を中心にして、第１のロボット１０の座標値を算出する。例えば、第１のロボット１０の座標値（Ｘ（１１−１０），Ｙ（１１−１０））は、（Ｌ（１１−１０）×ｃｏｓ（θ（１１−１０）），Ｌ（１１−１０）×ｓｉｎ（θ（１１−１０）））となる。この後、第１のロボット１０を中心にして、第２のロボット１１の座標値を算出する。すなわち、（−Ｌ（１１−１０）×ｃｏｓ（θ（１１−１０）），−Ｌ（１１−１０）×ｓｉｎ（θ（１１−１０）））を算出する。また、同様に、第５のロボット１４を検出し、第２のロボット１１を中心にして、第２のロボット１１の視界角度（点線Ｕ）の一端と第５のロボット１４のなす角度θ（１１−１４）とを算出する。そして、第２のロボット１１を中心にして、第５のロボット１４の座標値を算出する。例えば、第５のロボット１４の座標値（Ｘ（１１−１４），Ｙ（１１−１４））は、（Ｌ（１１−１４）×ｃｏｓ（θ（１１−１４）），Ｌ（１１−１４）×ｓｉｎ（θ（１１−１４）））となる。この後、第１のロボット１０を中心にして、第５のロボット１４の座標値を算出する。すなわち、（Ｌ（１１−１４）×ｃｏｓ（θ（１１−１４））−Ｌ（１１−１０）×ｃｏｓ（θ（１１−１０）），Ｌ（１１−１４）×ｓｉｎ（θ（１１−１４））−Ｌ（１１−１０）×ｓｉｎ（θ（１１−１０）））を算出する。そして、各座標値に含まれる角度を第１のロボット１０を中心にした角度に置き換えるとともに、各座標値に含まれる距離を既知の目印Ｐと目印Ｑ間の距離Ｌ（Ｐ−Ｑ）に置き換える。このようにして、第１のロボット１０が撮影した画像の中から検出することができなかった物品の位置関係も、算出することができる。
【００８８】
＜行動計画の策定＞
以下に、行動計画の策定について説明する。
【００８９】
指令役ロボットである第１のロボット１０の制御部３０は、各ロボット１０〜１４の存在位置に基づいて、協調作業を実行する実行役ロボットの行動計画を策定する。このとき、第１のロボット１０の制御部３０は、最短時間で作業を完了できるように、各ロボット１０〜１４の機能（積載量や運搬速度）や作業の空き状況などに基づいて行動計画を策定する。
【００９０】
例えば、各ロボット１０〜１４の積載量をチェックし、積載量が協調作業の対象物（荷物Ｍ）の重量よりも小さいロボットを除外する。またロボットの作業の空き状況をチェックし、空きがないロボットも除外する（ただし、協調作業の一部の作業を実行可能なロボットは残すものとする）。
【００９１】
そして指令役ロボットである第１のロボット１０の制御部３０は、残ったロボットの中で、荷物Ｍに最も近いロボットを選択し、そのロボットの作業の空き状況に基づいて行動計画を策定する。例えば、この実施形態では、第１のロボット１０の制御部３０は、図５に示すように、第４のロボット１３が荷物Ｍの現在の存在位置まで取りに行くように行動計画を策定する。そして、第４のロボット１３の作業の空き状況をチェックし、協調作業を単独で実行可能か否かを判断する。
【００９２】
単独で実行可能であると判断した場合、第１のロボット１０の制御部３０は、第４のロボット１３の単独による行動計画を策定し、作業を完了させるのに要する時間を算出する。他方、単独では実行不能であると判断した場合、第４のロボット１３以外の単独で実行可能なロボットの有無を検索する。
【００９３】
実行可能なロボットがある場合、第１のロボット１０の制御部３０は、そのロボットが単独で行動する行動計画を策定し、作業を完了させるのに要する時間を算出する。他方、実行可能なロボットがない場合、第４のロボット１３と第４のロボット１３以外のロボットとが協調して実行可能か否かを判断する。
【００９４】
実行可能であると判断した場合、第１のロボット１０の制御部３０は、第４のロボット１３と第４のロボット１３以外のロボットとが協調して実行する行動計画を策定し、作業を完了させるのに要する時間を算出する。例えば、図５に示す例では、第４のロボット１３と第５のロボット１４とが協調して実行する例を示している。指令役ロボットである第１のロボット１０の制御部３０は、第４のロボット１３と第５のロボット１４とが協調して実行可能か否かを判断し、実行可能であると判断すると、第４のロボット１３が荷物Ｍの現在の存在位置まで取りに行き、第４のロボット１３が荷物Ｍを第５のロボット１４まで運搬して、荷物Ｍを第５のロボット１４に渡し、第５のロボット１４が荷物Ｍをエリア１０１まで運搬する行動計画を策定する。そして、作業を完了させるのに要する時間を算出する。他方、不能であると判断した場合、残ったロボットの中で、第４のロボット１３の次に荷物Ｍに近いロボットと、それ以外のロボットとが協調して実行可能か否かを判断する。
【００９５】
実行可能であると判断した場合、第１のロボット１０の制御部３０は、第４のロボット１３の次に荷物Ｍに近いロボットと、それ以外のロボットとが協調して実行する行動計画を策定し、作業を完了させるのに要する時間を算出する。他方、不能であると判断した場合、残ったロボットの中で、次に荷物Ｍに近いロボットと、それ以外のロボットとが協調して実行可能か否かを判断する。
【００９６】
第１のロボット１０の制御部３０は、このような動作を順次行って、行動計画を策定し、作業を完了させるのに要する時間を算出する。そして、作業が最も短時間で完了できる行動計画を選択し、選択した行動計画を他のロボット１１〜１４（少なくとも実行役ロボットとなるロボット）に送信し、作業を実行させる。このとき、第１のロボット１０自身が、実行役ロボットになる場合もある。
【００９７】
なお、行動計画を策定する手法は、これに限らない。例えば、作業の効率を考慮することなく、荷物Ｍを運搬可能なロボットで、かつ、現在作業を行っていないロボットを選択して、そのロボットが可能な作業を実行させて、そのロボットが可能な作業が終了したら別のロボットを選択することを繰り返すような行動計画も策定することができる。
【００９８】
以上の通り、この発明に係る各ロボット１０〜１４を検出する必要のあるロボット（少なくとも、この実施形態では指令役ロボットであるロボット１０）は、周囲を撮影するカメラ１０ａ〜１４ａと、各ロボット１０〜１４に応じて視覚的に相違する特徴部１０ｂ〜１４ｂと、外部と通信する通信部１０ｃ〜１４ｃとを有し、通信部１０ｃ〜１４ｃを介して他のロボット１１〜１４が撮影した画像データを取得し、他のロボット１１〜１４が撮影した画像データと自身（ロボット１０）のカメラ１０ａによって撮影した画像データとから各ロボット１０〜１４の特徴部１０ｂ〜１４ｂを検出し、検出した各ロボット１０〜１４の特徴部１０ｂ〜１４ｂに基づいて、各ロボット１０〜１４の存在位置を特定する。
【００９９】
この発明に係るロボット１０は、自身が撮影した画像データだけでなく、他のロボット１１〜１４が別角度で撮影した画像データをも用いて、各ロボット１０〜１４の存在位置を検出するので、特に、自身（ロボット１０）が撮影した画像データの中から、他のロボット１１〜１４を検出することが困難な場合（例えば、他のロボット１１〜１４が障害物や背景と重なるような場合）であっても、他のロボット１１〜１４の存在位置を正確に特定することができる。
【０１００】
＜各物品の位置を検出する他の手法＞
この手法は、第１及び第２の手法とは異なる手法によって各物品の位置を検出する。
【０１０１】
すなわち、第１及び第２の手法は、三角測量法によって定まる地図座標によって、各物品の存在位置を特定している。これに対して、この手法では、画像内の任意の目印と各物品との相対的な位置関係に基づいて、各物品の存在位置を特定する。
【０１０２】
以下に、図１３〜１５を用いて、各物品の位置を検出する手法を説明する。なお、図１３〜１５は、各物品の位置検出の他の手法を示す図である。
【０１０３】
ここでは、第１及び第２の手法と同じ事項を前提として説明する。
【０１０４】
指令役ロボットであるロボット１０は、画像データ処理部３６によって、自身が撮影した画像や他のロボット１１〜１４が撮影した画像に含まれる他のロボット１１〜１４や、協調作業の対象物（荷物Ｍ）、協調作業の目的領域（エリア１０１）を認識し、これら各物品の位置を特定する。これらの各物品の位置の特定は、例えば、画像内の任意の目印（例えば任意のロボットや、荷物Ｍ、エリア１０１、何らかの物品の輪郭など）と各物品との相対的な位置関係に基づいて行う。
【０１０５】
例えば、図１３は、ロボット１１が撮影した画像例を示している。ロボット１０は、図１３に示す画像から、画像に写る物品Ｔの輪郭と第１〜第５のいずれかのロボットの輪郭とを認識し、ロボットの特徴部からロボットを第５のロボット１４と認識する。そして、ロボット１４の位置を、ロボット１１が撮影した画像内において物品Ｔから左側に距離αの位置であると認識する。なお、双方向の矢印は、エリア１０１の範囲を示している。エリア１０１の位置は、図１３に示す画像を撮影したロボット１１が向いている方向と、エリア１０１と物品Ｔとの相対的な位置関係に基づいて定まる。
【０１０６】
また、図１４は、ロボット１１とは別のロボット（例えばロボット１２）が撮影した画像例を示している。ロボット１０は、図１４に示す画像から、２つのロボットと荷物Ｍを認識し、ロボットの特徴部から２つのロボットを第２のロボット１１と第５のロボット１４と認識する。そして、ロボット１１の位置を、ロボット１２が撮影した画像内において物品Ｔから左側に距離βの位置であると認識する。また、ロボット１４の位置を、ロボット１２が撮影した画像内において物品Ｔから右側に距離γの位置であると認識する。また、荷物Ｍの位置を、ロボット１２が撮影した画像内において物品Ｔから右側に距離δの位置であると認識する。双方向の矢印は、図１３と同様に、エリア１０１の範囲を示している。エリア１０１の位置は、図１４に示す画像を撮影したロボット１２が向いている方向と、エリア１０１と物品Ｔとの相対的な位置関係に基づいて定まる。
【０１０７】
なお、荷物Ｍは、図１３では、第２のロボット１１からは第５のロボット１４の背後に隠れて見えなくなっている。
【０１０８】
ロボット１０は、このようにして、各画像に含まれる各物品の位置を特定する。なお、このとき、ロボット１０が自身の位置を特定していない場合は、ロボット１０が各画像に含まれる自身を認識することによって自身の位置を特定するようにしてもよい。
【０１０９】
この後、ロボット１０は、自身を含めた、協調作業を好適に実行できる１乃至複数の実行役ロボットを特定する。ここでは、実行役ロボットとして第２のロボット１１を選択するものとする。
【０１１０】
次に、ロボット１０は、実行役ロボットの行動計画を策定する。図１５に、ロボット１０が策定した行動計画の例を示す。図１５は、図１３に示すロボット１１が撮影した画像と、ロボット１０が策定した行動計画をイメージ化した画像（右上の実線で区切られた領域の画像）とを重ねた状態を示している。図１５中、Ｄ１は「矢印方向（ロボット１４を迂回する右斜め方向）に移動」という行動を意味し、Ｄ２は「矢印方向（ロボット１４を迂回する左斜め方向）に移動」という行動を意味し、Ｄ３は「荷物Ｍを持ち上げる」という行動を意味し、Ｄ４は「矢印方向（エリア１０１方向）に移動」という行動を意味する。ロボット１０は、このような行動を指示する行動計画を、各種の命令文や、方向や距離を示すパラメータなどを組み合わせて作成する。なお、この実施形態では、各ロボット１０〜１４は、協調作業の対象物（荷物Ｍ）や協調作業の目的領域（エリア１０１）を認識する処理回路が搭載されており、自己の判断によって行動することができるようになっている。そのため、ロボット１０が作成する行動計画は、大まかな方向や距離を示すものでよい。
【０１１１】
この後、ロボット１０は、作成した行動計画をロボット１１に送信する。
【０１１２】
すると、ロボット１１は、行動計画と自身が撮影した図１３に示す画像に基づいて、自己の判断によって、対象物を見つけ、行動計画に沿うように行動して、協調作業を実行する。
【０１１３】
なお、このとき、ロボット１０は、以下の観点でロボット１１の行動を監視する。すなわち、実行役ロボットが協調作業の目的領域の方向に進んでいるかという観点と、実行役ロボットが協調作業の目的領域に到着したかという観点と、実行役ロボットが協調作業の対象物に対して所定の行動を行っているかという観点である。
【０１１４】
ロボット１１の行動がこれらの観点から外れた場合に、ロボット１０は、正しい状態に戻すための指示をロボット１１に送信する。これにより、ロボット１１は、自身の行動を修正して協調作業を実行する。
【０１１５】
ロボット１１が所定の行動を行ったら、ロボット１０は、ロボット１１の行動の監視を終了する。
【０１１６】
このようにして、各ロボット１０〜１４は、協調作業を行うことができる。
【０１１７】
以上の通り、この他の手法に係る各ロボット１０〜１４は、第１及び第２の手法のような地図座標を算出する必要がないので、処理時間を短縮することができる。
【０１１８】
また、各ロボットには、協調作業の対象物や協調作業の目的領域を認識する処理回路が搭載されている。そのため、実行役ロボットは、自己の判断によって、協調作業の対象物を見つけ、行動計画に沿うように行動することができる。その結果、行動計画の方向や距離は大まかなものでよく、行動計画を簡素化することができる。また、指令役ロボットは、実行役ロボットの行動を、実行役ロボットが協調作業の目的領域の方向に進んでいるか、実行役ロボットが協調作業の目的領域に到着したか、実行役ロボットが協調作業の対象物に対して所定の行動を行っているかという大まかな観点で監視するだけでよくなる。これらの要因により、処理時間を大幅に短縮することができる。
【産業上の利用可能性】
【０１１９】
この発明は、前述の実施形態に限定されることなく、この発明の要旨を逸脱しない範囲で種々の応用や変形が考えられる。
【０１２０】
例えば、実施形態では、通信制御は通信制御装置２０によってなされているが、ロボット１０〜１４の中の１台が代行するようにしても良い。
【０１２１】
また、実施形態では、２足歩行のヒューマノイド型（人間型）のロボット１０〜１４を用いて説明したが、ヒューマノイド型に限らず、どのような型のロボットにも適用可能である。
【０１２２】
また実施形態では、特徴部１０ｂ〜１４ｂは、ロボット１０〜１４毎にボディーの一部分のパターンや色が異なっていることを特徴箇所としているが、これに限らず、個々のロボット１０〜１４を外観上の違いによって識別できればよい。例えば、各ロボット１０〜１４にそれぞれ異なったマークを付けたことを特徴箇所としてもよい。
【０１２３】
また実施形態では、第１のロボット１０が指令役ロボットとなっているが、これに限らず、第１のロボット１０以外のロボット１１〜１４が指令役ロボットとなることもある。
【０１２４】
また、通信制御装置２０をロボットの一種とみなし、通信制御装置２０に指令役ロボットの役割を負わせるようにしてもよい。すなわち、通信制御装置２０に、各ロボット１０〜１４への作業依頼の送信や、各物品の存在位置の特定、行動計画の策定などを行なわせるようにしてもよい。
【０１２５】
また実施形態では、各ロボット１０〜１４が無線によって通信しているが、無線に限らず別の通信形態に変更することができる。そして、ＩＰアドレスは、各ロボット１０〜１４間の通信形態に応じて適宜別の形態に変更されることになる。
【図面の簡単な説明】
【０１２６】
【図１】実施形態の全体構成を示す図である。
【図２】ロボットの制御部の構成を示す図である。
【図３】通信制御装置の構成示す図である。
【図４】実施形態の動作を示すフローチャートである。
【図５】各ロボットの動作を示す図である。
【図６】指令役ロボットの動作を示すフローチャートである。
【図７】サブルーチンにおける動作を示すフローチャートである。
【図８】各物品の位置検出の第１の手法を示す図である。
【図９】各物品の位置検出の第２の手法（１）を示す図である。
【図１０】各物品の位置検出の第２の手法（２）を示す図である。
【図１１】各物品の位置検出の第２の手法（３）を示す図である。
【図１２】各種データの構成を示す図である。
【図１３】各物品の位置検出の他の手法（１）を示す図である。
【図１４】各物品の位置検出の他の手法（２）を示す図である。
【図１５】各物品の位置検出の他の手法（３）を示す図である。
【符号の説明】
【０１２７】
１０〜１４    …第１〜第５のロボット
１０ａ〜１４ａ    …カメラ
１０ｂ〜１４ｂ    …特徴部
１０ｃ〜１４ｃ    …無線通信部
１０ｄ〜１４ｄ    …作業アーム
１０ｅ〜１４ｅ    …二本足走行機構部
２０    …通信制御装置
３０    …制御部
Ａｎｔ    …アンテナ
【図１】
2005262378.tif 000003
【図２】
2005262378.tif 000004
【図３】
2005262378.tif 000005
【図４】
2005262378.tif 000006
【図５】
2005262378.tif 000007
【図６】
2005262378.tif 000008
【図７】
2005262378.tif 000009
【図８】
2005262378.tif 000010
【図９】
2005262378.tif 000011
【図１０】
2005262378.tif 000012
【図１１】
2005262378.tif 000013
【図１２】
2005262378.tif 000014
【図１３】
2005262378.tif 000015
【図１４】
2005262378.tif 000016
【図１５】
2005262378.tif 000017