(57)【要約】【課題】ロボット間の干渉や衝突を防止する。【解決手段】駆動プログラムに従って駆動させるロボットの駆動制御方法であって、前記駆動プログラムに従って前記ロボットを駆動させ、前記ロボットの駆動状況を検出するとともに、検出した駆動状況を駆動状況データーとして記録し、前記駆動状況データーに基づいて、前記駆動プログラムを更新し、前記更新された駆動プログラムに従って前記ロボットを駆動させる。【選択図】図１
2010137292.tif 000002
【特許請求の範囲】
【請求項１】
駆動プログラムに従って駆動させるロボットの駆動制御方法であって、
前記駆動プログラムに従って前記ロボットを駆動させ、
前記ロボットの駆動状況を検出するとともに、検出した駆動状況を駆動状況データーとして記録し、
前記駆動状況データーに基づいて、前記駆動プログラムを更新し、
前記更新された駆動プログラムに従って前記ロボットを駆動させることを特徴とするロボットの駆動制御方法。
【請求項２】
請求項１に記載のロボットの駆動制御方法において、
前記ロボットが、駆動中に他のロボットに衝突した場合に、当該衝突を回避するように前記駆動プログラムを更新することを特徴とするロボットの駆動制御方法。
【請求項３】
請求項１または２に記載のロボットの駆動制御方法において、
前記駆動状況データーの記録及び前記駆動プログラムの更新を繰り返すことを特徴とするロボットの駆動制御方法。
【請求項４】
請求項２または３に記載のロボットの駆動制御方法において、
前記更新された駆動プログラムを、前記ロボットと前記他のロボット間で共有させ、共有した前記更新された駆動プログラムに基づいて、前記駆動プログラムを更新することを特徴とするロボットの駆動制御方法。
【請求項５】
請求項１〜４のいずれか一項に記載のロボットの駆動制御方法において、
前記ロボットの位置を前記駆動状況データーとして記録することを特徴とするロボットの駆動制御方法。
【請求項６】
請求項２〜５のいずれか一項に記載のロボットの駆動制御方法において、
前記他のロボットの位置を前記駆動状況データーとして記録することを特徴とするロボットの駆動制御方法。
【請求項７】
請求項２〜６のいずれか一項に記載のロボットの駆動制御方法において、
前記駆動状況データーに基づいて、前記ロボットと前記他のロボットのうち、少なくとも一方の動作方向を変更するように、前記駆動プログラムを更新することを特徴とするロボットの駆動制御方法。
【請求項８】
請求項２〜６のいずれか一項に記載のロボットの駆動制御方法において、
前記駆動状況データーに基づいて、前記ロボットと前記他のロボットのうち、一方の動作を停止するように、前記駆動プログラムを更新することを特徴とするロボットの駆動制御方法。
【請求項９】
駆動プログラムに従って駆動するロボットであって、
前記駆動プログラムに伴う前記ロボットの駆動状況を検出し、
検出された前記駆動状況を駆動状況データーとして記録し、
前記駆動状況データーに基づいて、前記駆動プログラムを更新するとともに、前記更新された駆動プログラムに従って駆動させる制御部を備えたことを特徴とするロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットの駆動制御方法に関する。
【背景技術】
【０００２】
従来のロボットとしては、自己位置情報と障害物の障害物情報を入力するとともに、上記入力情報に基づいて環境マップを更新し、操舵情報を出力する学習手段を備えている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００７−３１６７９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のロボットは、静止した障害物を回避しながら移動することはできるものの、例えば、複数のロボットが双方に稼動しているような場合にあっては、双方間の駆動制御に対応できないため、ロボット同士が衝突してしまう、という課題があった。
【課題を解決するための手段】
【０００５】
本発明は、上記課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００６】
［適用例１］本適用例にかかるロボットの駆動制御方法は、駆動プログラムに従って駆動させるロボットの駆動制御方法であって、前記駆動プログラムに従って前記ロボットを駆動させ、前記ロボットの駆動状況を検出するとともに、検出した駆動状況を駆動状況データーとして記録し、前記駆動状況データーに基づいて、前記駆動プログラムを更新し、前記更新された駆動プログラムに従って前記ロボットを駆動させることを特徴とする。
【０００７】
この構成によれば、駆動プログラムに従って駆動させている際に、駆動状況データーが記録され、駆動状況データーに基づいて駆動プログラムが更新される。そして、更新された駆動プラグラムに従ってロボットが駆動するので、ロボットが複数駆動する場合であっても、ロボットの駆動における干渉や衝突等を抑制することができる。
【０００８】
［適用例２］上記適用例にかかるロボットの駆動制御方法では、前記ロボットが、駆動中に他のロボットに衝突した場合に、当該衝突を回避するように前記駆動プログラムを更新することを特徴とする。
【０００９】
この構成によれば、駆動プログラムに従って駆動させている際に、例えば、ロボットが他のロボット等と干渉や衝突等の危険な状況が生じた場合には、それらの危険な状況を回避するように駆動プログラムが更新される。従って、干渉や衝突等の再発防止をすることができる。
【００１０】
［適用例３］上記適用例にかかるロボットの駆動制御方法では、前記駆動状況データーの記録及び前記駆動プログラムの更新を繰り返すことを特徴とする。
【００１１】
この構成によれば、ロボットを駆動させる毎に、駆動精度が向上し、干渉や衝突等を防止することができる。
【００１２】
［適用例４］上記適用例にかかるロボットの駆動制御方法では、前記更新された駆動プログラムを、前記ロボットと前記他のロボット間で共有させ、共有した前記更新された駆動プログラムに基づいて、前記駆動プログラムを更新することを特徴とする。
【００１３】
この構成によれば、ロボット間において、更新された駆動プログラムを共有することにより、互いの駆動状況が予測できるので、さらに正確な駆動プログラムを生成することができる。
【００１４】
［適用例５］上記適用例にかかるロボットの駆動制御方法では、前記ロボットの位置を前記駆動状況データーとして記録することを特徴とする。
【００１５】
この構成によれば、ロボットの位置に関する駆動制御を行い、干渉や衝突等を防止することができる。
【００１６】
［適用例６］上記適用例にかかるロボットの駆動制御方法では、前記他のロボットの位置を前記駆動状況データーとして記録することを特徴とする。
【００１７】
この構成によれば、他のロボットに対する駆動制御を行い、例えば、ロボット間同士の干渉や衝突等を防止することができる。
【００１８】
［適用例７］上記適用例にかかるロボットの駆動制御方法では、前記駆動状況データーに基づいて、前記ロボットと前記他のロボットのうち、少なくとも一方の動作方向を変更するように、前記駆動プログラムを更新することを特徴とする。
【００１９】
この構成によれば、干渉や衝突等を防止するとともに、同時期に駆動ができ、駆動効率を高めることができる。
【００２０】
［適用例８］上記適用例にかかるロボットの駆動制御方法では、前記駆動状況データーに基づいて、前記ロボットと前記他のロボットのうち、一方の動作を停止するように、前記駆動プログラムを更新することを特徴とする。
【００２１】
この構成によれば、干渉や衝突等を確実に防止することができる。
【００２２】
［適用例９］本適用例にかかるロボットは、駆動プログラムに従って駆動するロボットであって、前記駆動プログラムに伴う前記ロボットの駆動状況を検出し、検出された前記駆動状況を駆動状況データーとして記録し、前記駆動状況データーに基づいて、前記駆動プログラムを更新するとともに、前記更新された駆動プログラムに従って駆動させる制御部を備えたことを特徴とする。
【００２３】
この構成によれば、駆動プログラムに従って駆動させている際に、駆動状況データーが記録され、駆動状況データーに基づいて駆動プログラムが更新される。そして、更新された駆動プラグラムに従ってロボットが駆動するので、ロボットが複数駆動する場合であっても、ロボットの駆動における干渉や衝突等を抑制することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を具体化した実施形態について図面に従って説明する。なお、各図面における各部材は、各図面上で認識可能な程度の大きさとするため、各部材ごとに縮小を異ならせて図示している。
【００２５】
（ロボットの構成）
まず、ロボットの構成について説明する。図１は、ロボットの構成を示すブロック図である。図１に示すように、ロボット１は、制御部２を備え、制御部２は、プロセッサとして各種の演算処理を行うＣＰＵ（演算処理装置）３と、各種情報を記録したりする記録装置４を有している。
【００２６】
記録装置４は、ＲＡＭ、ＲＯＭ等といった半導体メモリや、ハードディスク、ＣＤ−ＲＯＭといった外部記憶装置を含む概念である。機能的には、ロボット１における動作の制御手順が記述された駆動プログラムを記憶する記憶領域や、後述する検出装置７等から取得した位置データー等を記録するための記録領域が設定される。また、新たに更新された駆動プログラムを記録するための記録領域が設定される。さらに、ＣＰＵ３のためのワークエリアやテンポラリファイル等として機能する記憶領域やその他各種の記憶領域が設定される。
【００２７】
ＣＰＵ３は、記録装置４内に記憶された駆動プログラムに従って、目的に応じた駆動をさせるための制御を行うものである。
【００２８】
入力装置６、検出装置７、通信装置８、駆動装置９は、入出力インターフェース５を介してＣＰＵ３に接続されている。
【００２９】
入力装置６は、ロボット１が駆動する駆動条件等を入力する装置である。例えば、キーボードやタッチキー等、入力可能な装置であれば特に限定されない。
【００３０】
検出装置７は、ロボット１が駆動中において、ロボット１自身の位置の検出や他のロボットや置物等の障害物を検出、或いは、他のロボットや置物等の障害物との干渉や衝突等のロボットの駆動状況を検出する装置である。検出装置７は、加速度センサー、ジャイロセンサー、超音波センサー、圧力センサー等の各種センサー類が含まれる。
【００３１】
通信装置８は、ロボット１と他のロボット（障害物等を含む）との間で駆動状況データーや駆動プログラム等を送受信する装置である。なお、通信装置８は、有線、無線等を問わない。
【００３２】
駆動装置９は、制御部２からの駆動信号に基づいて駆動する駆動系装置である。
【００３３】
なお、同時期に複数のロボット１を駆動させる場合には、それぞれのロボット１に上記の構成を搭載する。なお、置物等の障害物であっても、上記と同様の構成を搭載してもよい。
【００３４】
（ロボットの駆動制御方法）
次に、ロボット１の駆動制御方法について説明する。図２は、ロボットの駆動制御方法を示すフローチャートである。また、図４は、ロボット１の駆動制御による駆動状態を示す動作図である。なお、本実施形態では、複数のロボット１Ａ，１Ｂを駆動制御する方法について説明する。
【００３５】
図２において、ステップＳ１では、駆動プログラムを実行し、ロボット１を駆動させる。具体的には、駆動信号が、ロボット１Ａ，１Ｂのそれぞれの駆動装置９に送信され、駆動信号に基づいて駆動を開始する。図４（ａ）では、ロボット１Ａ、ロボット１Ｂが対向して駆動する状況を示している。
【００３６】
ステップＳ２では、ロボット１とロボット１Ｂ（他のロボットに相当する）とが衝突したか否かを判断する。具体的には、図４（ｂ）に示すように、ロボット１Ａとロボット１Ｂとが衝突した場合に、検出装置７によって検出され、制御部２において検出された検出データーに基づいて衝突の有無が判断される。そして、衝突したと判断された場合（ＹＥＳ）には、ステップＳ３に移行し、衝突していないと判断された場合（ＮＯ）には、ステップＳ１に移行する。
【００３７】
ステップＳ３では、ロボット１が衝突した際の駆動状況データーを記録する。具体的には、検出装置７によって取得された衝突時のロボット１の位置データーを記録する。
【００３８】
ステップＳ４では、ステップＳ３で取得した位置データーに基づいて駆動プログラムを更新する。当該ステップＳ４では、衝突等の危険な状況を回避するように駆動プログラムが更新される。なお、衝突回避方法としては、図４（ｃ），（ｄ），（ｅ）のように複数の回避方法が考えられる。以下、それぞれの回避方法について説明する。
【００３９】
図４（ｃ）では、ロボット１Ａとロボット１Ｂとが互いに衝突を避け合って駆動する回避方法である。この場合において、衝突地点の手前で、駆動方向を変更するように駆動プログラムを修正する。このように駆動プログラムを修正することにより、ロボット１Ａ，１Ｂとを同時期に駆動することができ、ロボット１Ａ，１Ｂの駆動効率を高めることができる。
【００４０】
図４（ｄ）では、ロボット１Ａのみが駆動方向を変えて駆動する回避方法である。この場合において、衝突地点の手前で、ロボット１Ａの駆動方向を変更するように駆動プログラムを修正する。他方のロボット１Ｂについては駆動プログラムを修正しない。このように駆動プログラムを修正することにより、ロボット１Ａ，１Ｂの回避領域を最小限に抑えることができる。
【００４１】
図４（ｅ）では、ロボット１Ａのみが駆動方向を変えて駆動し、他方のロボット１Ｂは衝突領域からロボット１Ａが通過するまで一時停止し、ロボット１Ａが衝突領域を通過した後に、駆動する回避方法である。このように駆動プログラムを修正することにより、ロボット１Ａ，１Ｂの衝突を確実に防止することができる。または、ロボット１Ａのみが駆動方向を変えて駆動し、他方のロボット１Ｂは駆動速度を遅くして、ロボット１Ａが衝突領域を通過した後に、通常の駆動速度に変更する回避方法を採用することもできる。このようにしても、上記と同様の効果を得ることができる。
【００４２】
その後、更新された駆動プログラムに基づいて駆動装置９に駆動信号を送信し、ロボット１を駆動させる。そして、以降、ステップＳ１からステップＳ４を繰り返し行う。
【００４３】
図３は、他の駆動制御方法を示すフローチャートである。
【００４４】
図３において、ステップＳ１１では、駆動プログラムを実行し、ロボット１を駆動させる。具体的には、駆動信号が、ロボット１Ａ，１Ｂのそれぞれの駆動装置９に送信され、駆動信号に基づいて駆動を開始する。図４（ａ）では、ロボット１Ａ，ロボット１Ｂが対向して駆動する状況を示している。
【００４５】
ステップＳ１２では、ロボット１とロボット１Ｂ（他のロボットに相当する）とが衝突したか否かを判断する。具体的には、図４（ｂ）に示すように、ロボット１Ａとロボット１Ｂとが衝突した場合に、検出装置７によって検出され、制御部２において検出された検出データーに基づいて衝突の有無が判断される。そして、衝突したと判断された場合（ＹＥＳ）には、ステップＳ１３に移行し、衝突していないと判断された場合（ＮＯ）には、ステップＳ１１に移行する。
【００４６】
ステップＳ１３では、ロボット１が衝突した際の駆動状況データーを記録する。具体的には、検出装置７によって取得された衝突時のロボット１の位置データーを記録する。
【００４７】
ステップＳ１４では、ステップＳ１３で取得した位置データーに基づいて駆動プログラムを更新する。当該ステップＳ１４では、衝突等の危険な状況を回避するように駆動プログラムが更新される。なお、衝突回避方法としては、上記の図４（ｃ），（ｄ），（ｅ）で説明したように複数の回避方法により駆動プログラムが更新される。
【００４８】
ステップＳ１５では、ステップＳ１４で更新された駆動プログラムの送受信を行う。本実施形態では、ロボット１Ａにおいて更新された駆動プログラムをロボット１Ｂに送信し、ロボット１Ｂは、当該駆動プログラムを受信する。同様にして、ロボット１Ｂにおいて更新された駆動プログラムをロボット１Ａに送信し、ロボット１Ａは、当該駆動プログラムを受信する。
【００４９】
ステップＳ１６では、受信した駆動プログラムに基づいて、駆動プログラムを更新する。このように、ロボット１Ａ，１Ｂの双方の駆動プログラムを共有し、他のロボット１から受信した駆動プログラムに基づいて、駆動プログラムを更新することにより、さらに確実な回避方法を取ることが可能となる。
【００５０】
その後、更新された駆動プログラムに基づいて駆動装置９に駆動信号を送信し、ロボット１を駆動させる。そして、以降、ステップＳ１１からステップＳ１６を繰り返し行う。
【００５１】
従って、上記の実施形態によれば、以下に示す効果がある。
【００５２】
この構成によれば、駆動プログラムに従って駆動させている際に、ロボット１Ａとロボット１Ｂとが衝突した場合に、駆動状況データーを記録し、駆動状況データーに基づいて駆動プログラムを更新する。駆動状況データーにはロボット１の位置データーが含まれており、当該位置データーに基づいて衝突回避するように駆動プラグラムが更新される。そして、更新された駆動プログラムに従ってロボット１を駆動させるので、ロボット１Ａ，１Ｂ間の干渉や衝突等の再発を防止することができる。
【００５３】
なお、上記の実施形態に限定されるものではなく、以下のような変形例が挙げられる。
【００５４】
（変形例１）上記実施形態では、ロボット１Ａとロボット１Ｂとが衝突した場合に、駆動プログラムを更新したが、これに限定されない。例えば、ロボット１Ａとロボット１Ｂとが干渉したような場合であっても、駆動プログラムを更新してもよい。この場合において、検出装置７により干渉状況を検出し、検出された干渉状況に基づいて、干渉したか否かを判断すればよい。このようにすれば、さらに確実にロボットの危険な駆動を回避することができる。
【００５５】
（変形例２）上記実施形態では、更新された駆動プログラムを送受信する形態について説明したが、これに限定されない。例えば、ロボット１が衝突した際に取得した駆動状況データーを送受信する形態を採用してもよい。このようにすれば、ロボット１の駆動における不都合な状況を素早く把握することができる。
【００５６】
（変形例３）上記実施形態では、複数のロボット１間同士の駆動関係について説明したが、これに限定されない。例えば、ロボット１と静止物（障害物）との関係において、ロボット１が静止物に干渉や衝突した際に位置データーを取得して、駆動プログラムを更新するようにしてもよい。このようにすれば、障害物等に対する干渉や衝突等の再発を防止することができる。
【図面の簡単な説明】
【００５７】
【図１】ロボットの構成を示すブロック図。
【図２】ロボットの駆動制御方法を示すフローチャート。
【図３】ロボットの他の駆動制御方法を示すフローチャート。
【図４】ロボットの駆動を示す動作図。
【符号の説明】
【００５８】
１，１Ａ，１Ｂ…ロボット、２…制御部、３…ＣＰＵ、４…記録装置、５…入出力インターフェース、６…入力装置、７…検出装置、８…通信装置、９…駆動装置。
【図１】
2010137292.tif 000003
【図２】
2010137292.tif 000004
【図３】
2010137292.tif 000005
【図４】
2010137292.tif 000006