(57)【要約】【課題】人間的且つ時間効率の高い方法で動くような最適化された軌道計画を作成するためのロボット、コンピュータプログラムプロダクト及び方法を提供する。【解決手段】第１のマニュピレータ１１０及び第２のマニュピレータ１２０を有するロボットを制御するための方法は、複数の順次的動作区分を有する軌道計画を受信することを含む。その方法は、可動な動作区分を決定することと、軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと可動な動作区分及び可動な動作区分の後続の動作区分を時間を戻す方へ移動することと、を更に含む。その方法は、第１のマニュピレータの１又は複数の構成要素が第２のマニュピレータの１又は複数の構成要素と同時に動かされるように最適化された軌道計画５００’によってロボットを制御することを更に含む。【選択図】図４
2013144354.tif 000002
【特許請求の範囲】
【請求項１】
第１のマニュピレータ及び第２のマニュピレータを具備するロボットを制御する方法であって、
複数の順次的動作区分を有する軌道計画を受信することであって、前記第１のマニュピレータの構成要素又は前記第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び前記軌道計画が、前記ロボットによって時間間隔に亘り前記第１のマニュピレータ及び前記第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信することと、
前記軌道計画内で可動な動作区分を決定することと、
該可動な動作区分及び前記可動な動作区分の後続の動作区分を、前記軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと時間を戻す方へ移動させ、それによって最適化された軌道計画を作成することと、
前記第１のマニュピレータの１又は複数の構成要素が前記第２のマニュピレータの１又は複数の構成要素と同時に動かされるように前記最適化された軌道計画によって前記ロボットを制御することと、を含む方法。
【請求項２】
前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素の形式によってそれぞれの動作区分にラベル付与することを更に含む請求項１に記載の方法。
【請求項３】
前記構成要素の形式が、ロボットの腕又はロボットの手である請求項２に記載の方法。
【請求項４】
前記可動な動作区分を決定することが、それぞれの動作区分を評価することを含み、該評価は、それぞれの動作区分を移動させると前記第１のマニュピレータ、前記第２のマニュピレータ又は対象物間で競合が生じるかどうかを決定することにより、前記時間間隔における最後の動作区分から前記時間間隔における最初の動作区分へと開始される請求項１に記載の方法。
【請求項５】
特定の動作区分が、
該特定の動作区分に隣接した前の動作区分が前記特定の動作区分と同じマニュピレータに対応していないとき、
前記特定の動作区分が１又は複数の他の動作区分に連結されていないとき、及び、
前記特定の動作区分が前記第１のマニュピレータ又は前記第２のマニュピレータの１つの構成要素にのみ対応するときに可動となる請求項１に記載の方法。
【請求項６】
前記可動な動作区分及び前記後続の動作区分を時間を戻す方へ移動させることが、前記移動された時間として複数の可能な移動する時間を決定することと、最短の可能な移動する時間を選択することと、を含む請求項１に記載の方法。
【請求項７】
特定の動作区分は、同じ対象物を操作する他の動作区分上に移動されることができず、
特定の動作区分は、該特定の動作区分と同じ前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素に関連した他の動作区分上に移動されることができず、
２以上の個々の動作区分を有する連結された動作区分は、前記可動な動作区分が開始する時間を越えて移動されることができない請求項１に記載の方法。
【請求項８】
前記第１のマニュピレータ及び前記第２のマニュピレータが、腕及び手をそれぞれ具備し、前記最適化された軌道計画が、前記ロボットに、前記第１のマニュピレータの前記腕が前記第２のマニュピレータの前記腕と同時に動くように前記第１のマニュピレータの前記手から前記第２のマニュピレータの前記手へと対象物を交換させる請求項１に記載の方法。
【請求項９】
第１のマニュピレータ及び第２のマニュピレータを具備するロボットを制御するために最適化された軌道計画を作成するべくコンピュータ装置と共に使用するためのコンピュータプログラムプロダクトであって、
前記最適化された軌道計画を作成するためにコンピュータ実行可能命令を保存するコンピュータ可読媒体を具備し、
前記コンピュータ実行可能命令は、プロセッサによって実行されるとき、前記コンピュータ装置に、
複数の順次的動作区分を有する軌道計画であって、前記第１のマニュピレータの構成要素又は前記第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び当該軌道計画が、前記ロボットによって時間間隔に亘り前記第１のマニュピレータ及び前記第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信させ、
前記軌道計画内で可動な動作区分を決定させ、
該可動な動作区分及び前記可動な動作区分の後続の動作区分を、前記軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと時間を戻す方へ移動させ、それによって前記最適化された軌道計画を作成させるコンピュータプログラムプロダクト。
【請求項１０】
前記可動な動作区分が、それぞれの動作区分の評価によって決定され、該評価は、それぞれの動作区分を移動させたときに前記第１のマニュピレータ、前記第２のマニュピレータ又は対象物間で競合が生じるかどうかを決定するように、前記時間間隔における最後の動作区分から前記時間間隔における最初の動作区分へと開始される請求項９に記載のコンピュータプログラムプロダクト。
【請求項１１】
特定の動作区分が、
該特定の動作区分に隣接した前の動作区分が前記特定の動作区分と同じマニュピレータに対応していないとき、
前記特定の動作区分が１又は複数の他の動作区分に連結されていないとき、及び、
前記特定の動作区分が前記第１のマニュピレータ又は前記第２のマニュピレータの１つの構成要素にのみ対応するときに可動となる請求項９に記載のコンピュータプログラムプロダクト。
【請求項１２】
前記可動な動作区分及び前記後続の動作区分が、前記移動された時間として複数の可能な移動する時間の決定及び最短の可能な移動する時間の選択によって時間を戻す方へ移動される請求項９に記載のコンピュータプログラムプロダクト。
【請求項１３】
特定の動作区分は同じ対象物を操作する他の動作区分上に移動されることができず、
特定の動作区分は、該特定の動作区分と同じ前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素に関連した他の動作区分上に移動されることができず、
２以上の個々の動作区分を有する連結された動作区分は、前記可動な動作区分が開始する時間を越えて移動されることができない請求項９に記載のコンピュータプログラムプロダクト。
【請求項１４】
前記コンピュータ装置が前記ロボットの構成要素であり、前記コンピュータ実行可能命令が、前記コンピュータ装置に、前記第１のマニュピレータの１又は複数の構成要素が前記第２のマニュピレータの１又は複数の構成要素と同時に動かされるように前記最適化された軌道計画によって前記ロボットを更に制御させる請求項９に記載のコンピュータプログラムプロダクト。
【請求項１５】
前記第１のマニュピレータ及び前記第２のマニュピレータが、腕及び手をそれぞれ具備し、前記最適化された軌道計画が、前記ロボットに、前記第１のマニュピレータの前記腕が前記第２のマニュピレータの前記腕と同時に動くように前記第１のマニュピレータの前記手から前記第２のマニュピレータの前記手へと対象物を交換させるように操作可能である請求項１４に記載のコンピュータプログラムプロダクト。
【請求項１６】
１又は複数の第１のマニュピレータアクチュエータと機械的に結合された第１のマニュピレータと、
１又は複数の第２のマニュピレータアクチュエータと機械的に結合された第２のマニュピレータと、
プロセッサと、
最適化された軌道計画を作成するためにコンピュータ実行可能命令を保存するコンピュータ可読媒体と、を具備するロボットであって、該コンピュータ実行可能命令は、プロセッサによって実行されるとき、当該ロボットに、
複数の順次的動作区分を有する軌道計画であって、前記第１のマニュピレータの構成要素又は前記第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び当該軌道計画が、当該ロボットによって時間間隔に亘り前記第１のマニュピレータ及び前記第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信させ、
前記軌道計画内で可動な動作区分を決定させ、
該可動な動作区分及び前記可動な動作区分の後続の動作区分を、前記軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと時間を戻す方へ移動させ、それによって前記最適化された軌道計画を作成し、
前記第１のマニュピレータの１又は複数の構成要素が前記第２のマニュピレータの１又は複数の構成要素と同時に動かされるように前記最適化された軌道計画を実行させるロボット。
【請求項１７】
前記第１のマニュピレータ及び前記第２のマニュピレータが、腕及び手をそれぞれ具備し、前記最適化された軌道計画が、当該ロボットに、前記第１のマニュピレータの前記腕が前記第２のマニュピレータの前記腕と同時に動くように前記第１のマニュピレータの前記手から前記第２のマニュピレータの前記手へと対象物を交換させる請求項１６に記載のロボット。
【請求項１８】
前記可動な動作区分が、それぞれの動作区分の評価によって決定され、該評価は、それぞれの動作区分を移動させたときに前記第１のマニュピレータ、前記第２のマニュピレータ又は対象物間で競合が生じるかどうかを決定するように、前記時間間隔における最後の動作区分から前記時間間隔における最初の動作区分へと開始される請求項１６に記載のロボット。
【請求項１９】
特定の動作区分が、
該特定の動作区分に隣接した前の動作区分が前記特定の動作区分と同じマニュピレータに対応していないとき、
前記特定の動作区分が１又は複数の他の動作区分に連結されていないとき、及び、
前記特定の動作区分が前記第１のマニュピレータ又は前記第２のマニュピレータの１つの構成要素にのみ対応するときに可動となる請求項１６に記載のロボット。
【請求項２０】
特定の動作区分は、同じ対象物を操作する他の動作区分上に移動されることができず、  特定の動作区分は、該特定の動作区分と同じ前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素に関連した他の動作区分上に移動されることができず、
２以上の個々の動作区分を有する連結された動作区分は、前記可動な動作区分が開始する時間を越えて移動されることができない請求項１６に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、多関節マニュピレータロボットのためのロボット軌道計画、より詳細には、多関節マニュピレータロボット、コンピュータプログラムプロダクト及び多関節マニュピレータロボットのための最適化された軌道計画に関する。
【背景技術】
【０００２】
ロボットは、特定のタスクを実行するために空間内で動作し得る。例えば、サーバントロボットは、作動空間内でナビゲートし、物を置き、物を操作するようにタスク実行され得る。ロボットは、作動空間内で物を見つけ、物を拾い、作動空間内の異なる位置へと物を動かすように命令されてもよい。従来のロボットの軌道計画は、ロボットに、そのマニュピレータを順次的に動かさせるが、その動作は人間の動作と比較して不自然に見える。例えば、ボトルを１つのテーブルから別のテーブルへと動かすように命令された移動マニュピレータロボットについて留意されたい。第１の腕がボトルを受け渡し位置まで保持し、次いでボトルを受け取るために第２の腕を受け渡し位置まで動かす順次的運動は、タスクを実現するが、この順次的運動は、人間がタスクを実行する仕方ではない。ある場合において、両腕を１つずつ動かす代わりに同時に動かすと、動作をより自然且つ時間効率の高いものとすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従って、ロボットがより人間的且つ時間効率の高い方法で動くような、従来技術とは異なる、最適化された軌道計画を作成するためのロボット、コンピュータプログラムプロダクト及び方法が必要とされている。
【課題を解決するための手段】
【０００４】
１つの実施形態において、第１のマニュピレータ及び第２のマニュピレータを有するロボットを制御する方法は、複数の順次的動作区分を有する軌道計画を受信すること（receiving）を含む。第１のマニュピレータの構成要素又は第２のマニュピレータの構成要素に対応したそれぞれの動作区分及び軌道計画は、ロボットによって時間間隔に亘り第１のマニュピレータ及び第２のマニュピレータを順次的に制御するために実行されるように操作可能である。その方法は、軌道計画内で可動な動作区分を決定することと、可動な動作区分及びその可動な動作区分の後続の動作区分を、軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間（shifted time）へと時間を戻す方へ（backward in time）移動させ、それによって最適化された軌道計画を作成することと、を更に含む。更にその方法は、第１のマニュピレータの１又は複数の構成要素が第２のマニュピレータの１又は複数の構成要素と同時に動かされるように最適化された軌道計画によってロボットを制御することを含む。
【０００５】
別の実施形態において、第１のマニュピレータ及び第２のマニュピレータを有するロボットを制御するために最適化された軌道計画を作成するべくコンピュータ装置と共に使用するためのコンピュータプログラムプロダクトは、最適化された軌道計画を作成するためにコンピュータ実行可能命令を保存するコンピュータ可読媒体を有する。そのコンピュータ実行可能命令は、プロセッサによって実行されるとき、コンピュータ装置に、複数の順次的動作区分を有する軌道計画であって、第１のマニュピレータの構成要素又は第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び軌道計画が、時間間隔に亘り第１のマニュピレータ及び第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信させる。更にそのコンピュータ実行可能命令は、コンピュータ装置に、軌道計画内で可動な動作区分を決定させ、可動な動作区分及びその可動な動作区分の後続の動作区分を、移動された時間へと時間を戻す方へ移動させる。その可動な動作区分及び後続の動作区分は、軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるように移動され、それによって最適化された軌道計画を作成させる。
【０００６】
更に別の実施形態において、ロボットは、１又は複数の第１のマニュピレータアクチュエータと機械的に結合された第１のマニュピレータと、１又は複数の第２のマニュピレータアクチュエータと機械的に結合された第２のマニュピレータと、プロセッサと、最適化された軌道計画を作成するためにコンピュータ実行可能命令を保存するコンピュータ可読媒体と、を有する。そのコンピュータ実行可能命令は、プロセッサによって実行されるとき、ロボットに、複数の順次的動作区分を有する軌道計画を受信させる。第１のマニュピレータの構成要素又は第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び軌道計画は、ロボットによって時間間隔に亘り第１のマニュピレータ及び第２のマニュピレータを順次的に制御するために実行されるように操作可能である。更にコンピュータ実行可能命令は、ロボットに、軌道計画内で可動な動作区分を決定させ、可動な動作区分及びその可動な動作区分の後続の動作区分を、移動された時間へと時間を戻す方へ移動させる。可動な動作区分及び後続の動作区分は、軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるように移動され、それによって最適化された軌道計画を作成する。更にコンピュータ実行可能命令は、ロボットに、第１のマニュピレータの１又は複数の構成要素が第２のマニュピレータの１又は複数の構成要素と同時に動かされるように最適化された軌道計画を実行させてもよい。
【０００７】
ここで説明された実施形態によって提供されたこれらの付加的な特徴は、図面と共に以下の詳細な説明を考慮してより完全に理解される。
【０００８】
図中で説明する実施形態は、本質的には概略的且つ例示的なものにすぎず、特許請求の範囲により定義される主題を限定しようとするものではない。例示的実施形態の以下の詳細な説明は、以下の図面と共に参照すると理解されることができ、同等な構造は、同等の参照番号で示されている。
【図面の簡単な説明】
【０００９】
【図１】ここで示され説明される１又は複数の実施形態に係る、対象物を操作するロボットの概略図を示す。
【図２】ここで示され説明される１又は複数の実施形態に係る、例示的ロボットの付加的な例示的構成要素の概略図を示す。
【図３】最適化されていない軌道計画によるロボットの動きを示すタイムラインの概略図を示す。
【図４】ここで示され説明される１又は複数の実施形態に係る、最適化された軌道計画によるロボットの移動を示すタイムラインの概略図を示す。
【図５Ａ】最適化されていない軌道計画の概略図を示す。
【図５Ｂ】ここで示され説明される１又は複数の実施形態に係る、軌道計画の可動な動作区分の概略図を示す。
【図５Ｃ】ここで示され説明される１又は複数の実施形態に係る、最適化された軌道計画の概略図を示す。
【図６】ここで示され説明される１又は複数の実施形態による、最適化されていない軌道計画及び最適化された軌道計画の両方のタイムラインの概略図を示す。
【発明を実施するための形態】
【００１０】
本開示に係る実施形態は、多関節マニュピレータを有するロボットと、コンピュータプログラムプロダクトと、多関節マニュピレータの軌道計画を最適化するための方法と、を対象としている。特に、実施形態は、ロボットの動作がロボットの観察者をより満足させ得るように、ロボットがより自然に、人間的な仕方で動くような、２つの腕を有するロボットを制御することを対象としている。限定するものではないが一例として、ロボットに１つの手から他の手へと対象物を移動させることを要求する動作において、第１の腕を移動させ、次いで第１の腕の移動の完了後に第２の腕を動かすのではなく、対象物を受けることを予測して、第２の腕を第１の腕と同時に移動させてもよい。そのそれぞれの腕を、以下で説明するように順次的に移動させると、ロボットの動作は、人間の観察者にとって不自然に見える。両腕を同時に移動させると、人間の観察者にとってより自然に見える。こうした動作は、より人間的に見えるのみならず、所望するタスクをより迅速に完了させ得る。他の動作は、限定するものではないが、例えばドアの開閉を含んでもよい。ロボットを制御するべく最適化された軌道計画を作成するためのロボット、コンピュータプログラムプロダクト及び方法の様々な実施形態は、以下で説明される。
【００１１】
初めに図１を参照すると、１つの例示的実施形態によるロボット１００が図示されている。当然のことながら、図１で示されたロボット１００は例示的目的にすぎず、この実施形態は、いかなる特定のロボット構成にも限定されるものではない。ロボット１００は、人間の形をした外観を有し、サービスロボットとして動作するように構成される。例えば、ロボット１００は、家庭、介護施設、及び医療施設等において、使用者を支援するために動作してもよい。概して、ロボット１００は、目のように構成された２つのカメラ１０４を有する頭部１０２と、動作空間において動き回るために移動可能なベース１０６と、第１のマニュピレータ１１０と、第２のマニュピレータ１２０と、を具備する。第１のマニュピレータ１１０及び第２のマニュピレータ１２０は、腕構成要素（例えば、上腕１１２、１２２と前腕１１４、１２４とを具備するロボットの腕）と、手構成要素１１８、１２８と、をそれぞれ具備する。手構成要素１１８、１２８は、手部１１６、１２６を有するロボットの手と、ボトル１３０のような対象物を操作するために開閉されてもよい複数の指１１９と、を具備してもよい。上腕構成要素１１２、１２２、前腕構成要素１１４、１２４及び手構成要素１１８、１２８は、それぞれ第１のマニュピレータ及び第２のマニュピレータの特定の構成要素形式である。
【００１２】
ロボット１００は、家庭のような動作空間内で自律的に又は半自律的に動作するようにプログラムされてもよい。１つの実施形態において、ロボット１００は、一日中家庭内で自律的にタスクを完了するようにプログラムされており、使用者から可聴な（又は電気的な）命令を受ける。例えば、使用者はロボット１００に「テーブルの上のボトルを私に持ってきてください」といった命令を話しかけてもよい。それからロボット１００は、ボトル１３０を取りに行き、タスクを完了する。別の実施形態において、ロボット１００は、コンピュータのようなヒューマンマシンインターフェースにより使用者によって直接的に制御される。使用者は、特定のタスクを完了するため遠隔制御によってロボットに命令してもよい。例えば、使用者は、テーブル１３２上に配置されたボトル１３０に近づくようにロボット１００を制御してもよい。次いで、使用者は、ロボット１００にボトル１３０をつかみ上げるように命令してもよい。次いでロボット１００は、タスクを完了するためにその第１のマニュピレータ１１０及び第２のマニュピレータ１２０のための軌道計画を進展させてもよい。以下でより詳細に説明されるように、実施形態は、実行時間の削減及びより人間的な動作のための最適化された軌道計画の作成を対象としている。
【００１３】
ここで図２を参照すると、例示的ロボット１００の付加的構成要素が示されている。より詳細には、図２は、最適化された軌道計画を作成するためのロボット１００（又はコンピュータ装置）、及び／又は、ここで示され説明される実施形態による、ハードウェア、ソフトウェア及び／又はファームウェアとして具現化された、最適化された軌道計画を作成するための非一時的コンピュータ可読媒体を具備するコンピュータプログラムプロダクトを示す。軌道計画を最適化するためのコンピュータプログラムプロダクト及び方法は、ある実施形態において、ロボット１００の外部のコンピュータ装置によって実行されてもよいことに留意されたい。例えば、汎用コンピュータ（図示せず）は、それにロードされた最適化された軌道計画を作成するためのコンピュータ実行可能命令を有してもよい。次いで最適化された軌道計画は、ロボット１００に送られてもよい。
【００１４】
図２において示されたロボット１００は、プロセッサ１４０と、入／出力ハードウェア１４２と、非一時的コンピュータ可読媒体１４３（例えばロボットデータ／ロジック１４４及び軌道最適化ロジック１４５を保存してもよい）と、と、ネットワークインターフェースハードウェア１４６と、ロボットの操作（例えばサーボ駆動ハードウェア）を駆動するためのアクチュエータ駆動ハードウェア１４７と、を具備する。アクチュエータ駆動ハードウェア１４７は、ロボットの様々なアクチュエータを制御するための関連したソフトウェアを有してもよいことに留意されたい。
【００１５】
メモリ構成要素１４３は、ランダムアクセスメモリ（ＳＲＡＭ、ＤＲＡＭ及び／又はランダムアクセスメモリの他の形式を含む）、フラッシュメモリ、レジスタ、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、磁気ディスク、及び／又は保存構成要素の他の形式を含むような、揮発性及び／又は不揮発性のコンピュータ可読媒体として構成されてもよい。更に、メモリ構成要素１４３は、特に、以下でより詳細に説明されるロボットデータ／ロジック１４４及び軌道最適化ロジック１４５を保存するように構成されてもよい。更に、ローカルインターフェース１４１が図２において示されているが、ロボット１００又はコンピュータ装置の構成要素間の通信を容易にするためのバス又は他のインターフェースとして使用されてもよい。
【００１６】
プロセッサ１４０は、（メモリ構成要素１４３からのような）命令を受信し実行するように構成された任意の処理構成要素を有してもよい。入／出力ハードウェア１４２は、限定するものではないが、ロボット１００（又はコンピュータ装置）への入力を提供するためのキーボード、マウス、カメラ、マイク、スピーカー、タッチスクリーン、及び／又は、データの受信、送信及び／又は表示のための他の装置のような任意のハードウェア及び／又はソフトウェアを有してもよい。ネットワークインターフェースハードウェア１４６は、モデム、ＬＡＮポート、ワイヤレスフィディリティ（Ｗｉ−Ｆｉ）カード、ＷｉＭａｘカード、モバイル通信ハードウェア、及び／又は、他のネットワーク及び／又は装置と通信するための他のハードウェアのような任意の有線又は無線のネットワークハードウェアを有してもよい。
【００１７】
当然のことながら、メモリ構成要素１４３は、ロボット１００の近傍に及び／又は遠隔に位置してもよく、ロボット１００及び／又は他の構成要素によってアクセスされるための１又は複数のデータを保存するように構成されてもよい。当然のことながら、図２で示された構成要素は、単なる例示にすぎず、本開示の範囲を限定しようとするものではない。より詳細には、図２の構成要素は、ロボット１００内に位置するように示されているが、これは非限定的例示である。ある実施形態において、１又は複数の構成要素は、１又は複数のロボットと通信可能に接続されたコンピュータ装置内のようなロボット１００の外側に位置してもよい。
【００１８】
図３は、最適化されていない軌道計画によるロボットの動きを示すタイムライン３００を示す。タイムライン３００は、第１のマニュピレータ１１０で第１のテーブル１３２からボトル１３０をつかみ上げ、第１のマニュピレータ１１０から第２のマニュピレータ１２０へとボトル１３０を受け渡し、第２のテーブル１３３にボトルを置くといった、時間に亘るロボット動作を示すフレーム３０１から３０６を具備する。以下で示され説明されるように、ロボットの動作は、人間が同じタスクを完了する動作と比較すると、自然に見えない。当然のことながら、図に示された動作は、例示のためにすぎず、ここで説明された実施形態を限定するものではない。
【００１９】
フレーム３０１において、ロボット１００は、ボトル１３０を第１のマニュピレータ１１０で（例えば第１のマニュピレータの手で）把持する。ロボット１００は、指を開いてボトル１３０近傍の位置へと第１のマニュピレータ１１０を動かし、次いでその指をボトル１３０周りで閉じてもよい。フレーム３０２において、ロボットは、第１のマニュピレータ１１０及びボトル１３０を受け渡し位置へと動かし終えている。第１のマニュピレータ１１０が動いていた間、第２のマニュピレータ１２０が静止したままだったことに留意されたい。これは人間がこのタスクを完了する仕方ではない。人間は、右腕が受け渡し位置へと物を動かしている間に彼又は彼女の左腕を動かす。フレーム３０３から３０５において、ロボット１００は、ボトル１３０を受け取るために第２のマニュピレータ１２０の指１２９を開き、第２のマニュピレータ１２０の指１２９を閉じ、ボトル１３０の受け渡しを完了するために第１のマニュピレータ１１０の指１１９を開く。フレーム３０６において、ロボット１００は、ボトル１３０を第２のテーブル１３３に置くため、第２のマニュピレータ１２０を第２のテーブル１３３へと動かされている。以下でより詳細に説明されるように、ここで説明される実施形態は、図３で示された動作より人間的な動作を実現するために、ロボットの動作を並列処理する。
【００２０】
図４は、図３で示されたのと同じボトル１３０操作タスクを完了するために、ここで説明される１又は複数の実施形態による、最適化された軌道計画を用いるロボット１００の動作を示す。フレーム４０１は、図３のフレーム３０１の動作と類似したロボット１００の動作を示す。しかしながら、フレーム４０２において、第２のマニュピレータ１２０は、一方の手から他方の手への物の受け渡しを完了する人間の動作と同じように、ボトル１３０の受け取りを予測して、第１のマニュピレータ１１０と同時に動かされる。第１のマニュピレータ１１０及び第２のマニュピレータ１２０の両方が同時に動くため、最適化された軌道計画を完了するのにかかる時間は、最適化されていない軌道計画３００を完了するのにかかる時間より短い。第２のテーブル１３２へのボトル１３０の受け渡しは、図３に対して上述したようにフレーム４０３から４０５において実行される（例えば第１のマニュピレータ１１０から第２のマニュピレータ１２０へとボトル１３０を受け渡すためにマニュピレータの指を開閉し、第２のマニュピレータ１２０を第２のテーブル１３２へと動かす）。
【００２１】
図５Ａについて参照すると、図３で示されたロボットの動作による最適化されていない軌道計画５００が示されている。軌道計画５００は、ロボット１００によって受信され（received）てもよく、又は、使用者からの又は外部ソースからの拒否（reject）によりロボット１００によって内部的に作成されてもよい。軌道計画５００は、時間に亘りマニュピレータの特定の構成要素の動作を示す複数の動作区分を含む。図示された実施形態において、「ＲＨ」は、右手構成要素（例えば第１のマニュピレータ１１０の手構成要素１１８）を意味し、「ＲＡ」は、右腕構成要素を示し、「ＬＨ」は、左手構成要素を示し、且つ、「ＬＡ」は、左腕構成要素（例えば第２のマニュピレータ１２０の腕構成要素１２２）を示す。
【００２２】
軌道計画は、ロボットのマニュピレータを制御するアクチュエータ駆動ハードウェアに提供された逆運動学的命令で構成されてもよい。軌道計画は、操作可能にロボットを動かす任意の命令として構成されてもよい。ロボットを制御するために使用される実際の逆運動学的命令又は他の命令は、ここでは説明されない。実施形態は、ロボットのプログラムの任意の特定の形式に限定されるものではない。
【００２３】
軌道計画５００のそれぞれの動作区分は、図３に示されたロボット１００の動作に対応する。動作区分５１０において、ロボットは、対象物（例えば図３で示されたボトル１３０）の周りでその右手の指を閉じる。ロボットがその対象物をその右手で固定した後、次いでその右腕を動作区分５１１の受け渡し位置へと動かす。右腕及び右手が受け渡し位置に至ると、左腕がその動作区分５１２において受け渡し位置へと駆動され動かされる。動作区分５１４において、左手及び右手の両方で対象物を把持するために左手が閉じられる。動作区分５１５において、対象物を解放するため右手が開かれる。次いで、ロボットは、動作区分５１６でその左腕を目的の位置（例えば第２のテーブル１３２）へと動かし、次いでその左手を開いてその目的の位置で対象物を完全に解放する。繰り返すが、最適化されていない軌道計画５００は、人間的ではないロボットの動作を実行し、実行するのに長い時間間隔がかかる。
【００２４】
ここで説明されて図示された実施形態は、受信され又はその他の方法で進展された最適化されていない軌道計画を、可動な動作区分を決定し、次いでその可動な動作区分及び全ての後続の動作区分を時間を戻す方へ移動された位置へと移動させることによって最適化することができる。可動な動作区分及びその可動な動作区分に続いて生じる動作区分を時間を戻す方へ移動させることによって、軌道計画は、分割して割り当てられた元の軌道計画がロボットによって同時に実行されるように並列処理される。最適化された軌道計画は、ロボットによって実行されるより人間的な動作を実現する。
【００２５】
ここで図５Ｂを参照すると、第１の可動な動作区分ＭＳは、それぞれの動作区分が適切にラベル付与（labeled）（例えば「ＲＨ」、「ＲＡ」等）された後に決定される。ある実施形態において、動作区分は、ロボットによって受信されるときに既にラベル付与されている。動作区分は、その動作区分（及びその後続の動作区分）がマニュピレータ間又は操作される対象物との間で競合を生じることなく（例えば対象物の落下）、時間を戻す方へ移動され得る場合に可動とみなされる。１つの実施形態において、それぞれの動作区分は、可動性を決定するため、最後の動作区分（例えば最も右の動作区分５１７）から最初の動作区分（最も左の動作区分５１０）へと開始され評価される。
【００２６】
動作区分は、特定の条件規則を満たした場合に可動として設定されてもよい。１つの実施形態において、動作区分は、評価された特定の動作区分に隣接した前の動作区分が、その特定の動作区分と同じマニュピレータに対応しない場合に可動とみなされる。例えば、特定の動作区分が、「ＲＡ」とラベル付与され、その前の動作区分も「ＲＡ」とラベル付与されている場合、それは可動とはみなされない。異なる動作を実行しようとしているマニュピレータの構成要素の動作の実行を停止するのは好適ではない。
【００２７】
可動な動作区分は、連結された動作区分として他の動作区分に連結されたものであってもならない。連結された動作区分は、１又は複数の付加的動作区分と関連した動作区分である。図５Ｂを参照すると、動作区分５１４から５１６は、これらの動作区分の間に、ロボットが右手から左手へと対象物を受け渡すため、連結されたものとみなされる。１又は複数の動作区分５１４から５１６が連結された列から外に動かされると、ロボットは対象物を落下させ、又は、一方の手から他方の手へと対象物を受け渡し損ねる。
【００２８】
可動な動作区分は、その可動な動作区分と関連した１つの可動な構成要素のみ有するべきでもある。言い換えると、動作区分において腕の二重動作があってはならない。
【００２９】
本例示において、動作区分５１２は、上述した条件を満たすため、図５Ｂにおいて可動な動作区分ＭＳとして設定される。従って、動作区分５１２及びその後続の動作区分５１３から５１７の全ては、軌道計画５００を並列処理するように時間を戻す方へ動かされてもよい。
【００３０】
次いで、可動な動作区分が移動される移動された時間が決定される。可動な動作区分及びその後続の動作区分は、任意の移動された動作区分間で任意の移動されていない動作区分と競合しないように時間を戻す方へ移動されなければならない。１つの実施形態において、複数の移動された時間が決定され、最も短い移動された時間が移動された時間として選択される。それぞれの移動された動作区分は、どれだけ遠くまで時間を戻す方へ移動されるかを決定するように評価されてもよい。可動な動作区分の全ての移動された時間は、マニュピレータの構成要素及び対象物間の競合が回避されるようにするべきである。
【００３１】
１つの実施形態によれば、特定の動作区分のための可能な移動する時間を決定するために１又は複数の条件規則が適用されてもよい。動作区分は、同じ対象物を操作する他の動作区分上に移動されるべきではない。非現的例示として図５Ｂを参照すると、対象物Ｏを操作する動作区分５１６は、同様に対象物Ｏを操作する動作区分５１１と同時に又はその前に生じるように時間を戻す方へ移動されることができない。可動な動作区分５１２及びその後続を、動作区分５１６を動作区分５１１に又は動作区分５１１の前に移動させる移動された時間へと移動すると、競合を生じさせる。
【００３２】
更に、評価において、特定の動作区分は、同じ構成要素と関連した他の動作区分上に移動されるべきではない。限定するものではないが一例として、動作区分５１５は、マニュピレータの右手構成要素と関連しており、同じその右手構成要素と関連した動作区分５１０上に移動されるべきではない。これは、２つの動作区分間で競合を生じさせる。
【００３３】
更に、連結された動作区分は、最適化された軌道計画がロボットによって実行されるときに対象物をうまく操作することを確実とするため、可動な動作区分が開始する時間を越えて移動されるべきではない。本例示において、連結された動作区分５１４から５１６は、可動な動作区分５１２が開始される動作区分５１１の終端を越えて移動されるべきではない。従って、連結された動作区分５１４は、動作区分５１１の終端の前に生じるように移動されるべきではない。
【００３４】
図５Ｃは、上述された条件規則に従って図５Ａに示された軌道計画５００の並列処理されたバージョンの例示的な最適化された軌道計画５００’を示す。図５Ｃに示されたように、動作区分５１２は、可動な動作区分として選択された。次いで可動な動作区分５１２及びその後続の動作区分５１４から５１７は、上述された条件規則に従って移動されていない動作区分５１１が完了するまで連結された動作区分５１４が開始されないように、移動された時間へとその時間を戻す方へ移動される。従って、移動された動作区分５１２及び５１３は、最適化された軌道計画５００’が並行処理されるように移動されていない動作区分５１０及び５１１と同時に生じる。
【００３５】
ここで図６を参照すると、最適化されていない軌道計画のタイムライン６００及び最適化された軌道計画のタイムライン６００’によるロボット１００の動作が示されている。最適化されていない軌道計画のタイムライン６００のフレーム６０１から６０６が、図３で示された最適化されていない軌道計画のタイムライン３００のフレームと同等であることに留意されたい。図６に示されたように、フレーム６０２及び６０３によるロボットの動作は、破線領域Ａによって示されたような最適化された軌道計画のタイムライン６００’の１つのフレーム６０２／６０３内に統合されている。従って、ロボット１００は、フレーム６０１においてその右手でボトル１３０を把持し、次いでその右腕１１０と左腕１２０とを同時に結合されたフレーム６０２／６０３の受け渡し位置へと動かす。ロボット１００は、フレーム６０４及びフレーム６０５において右手及び左手間でボトル１３０の受け渡しを完了し、次いでボトル１３０をフレーム６０６において左腕１２０で第２のテーブル１３３へと動かす。最適化された軌道計画のタイムライン６００’におけるロボットの動作は、最適化されていない軌道計画のタイムライン６００におけるロボットの動作よりも、より人間的且つより時間効率の高いものである。
【００３６】
特定の実施形態において、１以上の可動な動作区分が見つけられ、ロボットの動作を更に最適化するために移動されてもよい。更に、ロボットの所望した動作を作成するために様々な条件規則が開発されてもよい。実施形態は、例えば大きなドアを開けるような多関節マニュピレータ動作を必要とする他のロボットのタスクのための軌道計画を最適化してもよい。
【００３７】
ここで当然のことながら、本開示の実施形態は、ロボットが人間的且つ効率的な方法で動くように、多関節マニュピレータ動作を有するロボットの軌道計画を最適化する。ここで説明された実施形態によって最適化された軌道計画に従ったロボットの動作は、ロボットの観察者により予測可能となり得る。例えば、ロボットの観察者は、ロボットが物をつかみ上げて手と手の間でその物を受け渡す両腕を動かすことを予測し得る。ここで説明されたように最適化された軌道計画に従って動くロボットの観察者は、よりロボットを受け入れることができる。
【００３８】
ここで特定の実施形態が図示され、説明されてきたが、当然のことながら、特許請求された主題の精神及び範囲から逸脱することなく様々な他の変形及び変更がなされてもよい。更に、特許請求された主題の様々な態様がここで説明されてきたが、こうした態様は統合されて実施される必要はない。従って、添付の特許請求の範囲は、特許請求された主題の範囲内にあるこうした全ての変形及び変更を包含する。
【符号の説明】
【００３９】
１００    ロボット
１０２    頭部
１０４    カメラ
１０６    移動可能なベース
１１０    第１のマニュピレータ
１１２    アーム構成要素
１１４    前腕
１１６    手部
１１８    手構成要素
１１９    指
１２０    第２のマニュピレータ
１２２    アーム構成要素
１２４    前腕
１２６    手部
１２８    手構成要素
１２９    指
１３０    ボトル
１３２    テーブル
１３３    第２のテーブル
１４０    プロセッサ
１４１    ローカルインターフェース
１４２    入出力ハードウェア
１４３    メモリ構成要素
１４４    ロボットデータ／ロジック
１４５    軌道最適化ロジック
１４６    ネットワークインターフェースハードウェア
１４７    アクチュエータ駆動ハードウェア
３００    タイムライン
３０１    フレーム
３０２    フレーム
３０３    フレーム
３０４    フレーム
３０５    フレーム
３０６    フレーム
４００    タイムライン
４０１    フレーム
４０２    フレーム
４０３    フレーム
４０４    フレーム
４０５    フレーム
４０６    フレーム
５００    最適化されていない軌道計画
５００’    最適化された軌道計画
５１０    動作区分
５１１    動作区分
５１２    動作区分
５１３    動作区分
５１４    動作区分
５１５    動作区分
５１６    動作区分
５１７    動作区分
６００    最適化されていない軌道計画のタイムライン
６００’    最適化された軌道計画のタイムライン
６０１    フレーム
６０２    フレーム
６０３    フレーム
６０４    フレーム
６０５    フレーム
６０６    フレーム
ＲＨ    右手構成要素
ＲＡ    右腕構成要素
ＬＨ    左手構成要素
ＬＡ    左腕構成要素
ＭＳ    可動な動作区分
【図１】
2013144354.tif 000003
【図２】
2013144354.tif 000004
【図３】
2013144354.tif 000005
【図４】
2013144354.tif 000006
【図５Ａ】
2013144354.tif 000007
【図５Ｂ】
2013144354.tif 000008
【図５Ｃ】
2013144354.tif 000009
【図６】
2013144354.tif 000010
【手続補正書】
【提出日】平成25年2月25日(2013.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のマニュピレータ及び第２のマニュピレータを具備するロボットを制御する方法であって、
複数の順次的動作区分を有する軌道計画を受信することであって、前記第１のマニュピレータの構成要素又は前記第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び前記軌道計画が、前記ロボットによって時間間隔に亘り前記第１のマニュピレータ及び前記第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信することと、
前記軌道計画内で可動な動作区分を決定することと、
該可動な動作区分及び前記可動な動作区分の後続の動作区分を、前記軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと時間を戻す方へ移動させ、それによって最適化された軌道計画を作成することと、
前記第１のマニュピレータの１又は複数の構成要素が前記第２のマニュピレータの１又は複数の構成要素と同時に動かされるように前記最適化された軌道計画によって前記ロボットを制御することと、を含む方法。
【請求項２】
前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素の形式によってそれぞれの動作区分にラベル付与することを更に含む請求項１に記載の方法。
【請求項３】
前記構成要素の形式が、ロボットの腕又はロボットの手である請求項２に記載の方法。
【請求項４】
前記可動な動作区分を決定することが、それぞれの動作区分を評価することを含み、該評価は、それぞれの動作区分を移動させると前記第１のマニュピレータ、前記第２のマニュピレータ又は対象物間で競合が生じるかどうかを決定することにより、前記時間間隔における最後の動作区分から前記時間間隔における最初の動作区分へと開始される請求項１に記載の方法。
【請求項５】
特定の動作区分が、
該特定の動作区分に隣接した前の動作区分が前記特定の動作区分と同じマニュピレータに対応していないとき、
前記特定の動作区分が１又は複数の他の動作区分に連結されていないとき、及び、
前記特定の動作区分が前記第１のマニュピレータ又は前記第２のマニュピレータの１つの構成要素にのみ対応するときに可動となる請求項１に記載の方法。
【請求項６】
前記可動な動作区分及び前記後続の動作区分を時間を戻す方へ移動させることが、前記移動された時間として複数の可能な移動する時間を決定することと、最短の可能な移動する時間を選択することと、を含む請求項１に記載の方法。
【請求項７】
特定の動作区分は、同じ対象物を操作する他の動作区分上に移動されることができず、
特定の動作区分は、該特定の動作区分と同じ前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素に関連した他の動作区分上に移動されることができず、
２以上の個々の動作区分を有する連結された動作区分は、前記可動な動作区分が開始する時間を越えて移動されることができない請求項１に記載の方法。
【請求項８】
前記第１のマニュピレータ及び前記第２のマニュピレータが、腕及び手をそれぞれ具備し、前記最適化された軌道計画が、前記ロボットに、前記第１のマニュピレータの前記腕が前記第２のマニュピレータの前記腕と同時に動くように前記第１のマニュピレータの前記手から前記第２のマニュピレータの前記手へと対象物を交換させる請求項１に記載の方法。
【請求項９】
１又は複数の第１のマニュピレータアクチュエータと機械的に結合された第１のマニュピレータと、
１又は複数の第２のマニュピレータアクチュエータと機械的に結合された第２のマニュピレータと、
プロセッサと、
最適化された軌道計画を作成するためにコンピュータ実行可能命令を保存するコンピュータ可読媒体と、を具備するロボットであって、該コンピュータ実行可能命令は、プロセッサによって実行されるとき、当該ロボットに、
複数の順次的動作区分を有する軌道計画であって、前記第１のマニュピレータの構成要素又は前記第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び当該軌道計画が、当該ロボットによって時間間隔に亘り前記第１のマニュピレータ及び前記第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信させ、
前記軌道計画内で可動な動作区分を決定させ、
該可動な動作区分及び前記可動な動作区分の後続の動作区分を、前記軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと時間を戻す方へ移動させ、それによって前記最適化された軌道計画を作成し、
前記第１のマニュピレータの１又は複数の構成要素が前記第２のマニュピレータの１又は複数の構成要素と同時に動かされるように前記最適化された軌道計画を実行させるロボット。
【請求項１０】
前記第１のマニュピレータ及び前記第２のマニュピレータが、腕及び手をそれぞれ具備し、前記最適化された軌道計画が、当該ロボットに、前記第１のマニュピレータの前記腕が前記第２のマニュピレータの前記腕と同時に動くように前記第１のマニュピレータの前記手から前記第２のマニュピレータの前記手へと対象物を交換させる請求項９に記載のロボット。
【請求項１１】
前記可動な動作区分が、それぞれの動作区分の評価によって決定され、該評価は、それぞれの動作区分を移動させたときに前記第１のマニュピレータ、前記第２のマニュピレータ又は対象物間で競合が生じるかどうかを決定するように、前記時間間隔における最後の動作区分から前記時間間隔における最初の動作区分へと開始される請求項９に記載のロボット。
【請求項１２】
特定の動作区分が、
該特定の動作区分に隣接した前の動作区分が前記特定の動作区分と同じマニュピレータに対応していないとき、
前記特定の動作区分が１又は複数の他の動作区分に連結されていないとき、及び、
前記特定の動作区分が前記第１のマニュピレータ又は前記第２のマニュピレータの１つの構成要素にのみ対応するときに可動となる請求項９に記載のロボット。
【請求項１３】
特定の動作区分は、同じ対象物を操作する他の動作区分上に移動されることができず、
特定の動作区分は、該特定の動作区分と同じ前記第１のマニュピレータ又は前記第２のマニュピレータの構成要素に関連した他の動作区分上に移動されることができず、
２以上の個々の動作区分を有する連結された動作区分は、前記可動な動作区分が開始する時間を越えて移動されることができない請求項９に記載のロボット。
【請求項１４】
第１のマニュピレータ及び第２のマニュピレータを具備するロボットを制御するために最適化された軌道計画を作成するべくコンピュータ装置と共に使用するためのコンピュータプログラムプロダクトであって、
前記最適化された軌道計画を作成するためにコンピュータ実行可能命令を保存するコンピュータ可読媒体を具備し、
前記コンピュータ実行可能命令は、プロセッサによって実行されるとき、前記コンピュータ装置に、
複数の順次的動作区分を有する軌道計画であって、前記第１のマニュピレータの構成要素又は前記第２のマニュピレータの構成要素に対応するそれぞれの動作区分及び当該軌道計画が、前記ロボットによって時間間隔に亘り前記第１のマニュピレータ及び前記第２のマニュピレータを順次的に制御するために実行されるように操作可能な軌道計画を受信させ、
前記軌道計画内で可動な動作区分を決定させ、
該可動な動作区分及び前記可動な動作区分の後続の動作区分を、前記軌道計画の１又は複数の移動されていない動作区分が１又は複数の移動された動作区分と同時に生じるような移動された時間へと時間を戻す方へ移動させ、それによって前記最適化された軌道計画を作成させるコンピュータプログラムプロダクト。
【請求項１５】
前記コンピュータ装置が前記ロボットの構成要素であり、前記コンピュータ実行可能命令が、前記コンピュータ装置に、前記第１のマニュピレータの１又は複数の構成要素が前記第２のマニュピレータの１又は複数の構成要素と同時に動かされるように前記最適化された軌道計画によって前記ロボットを更に制御させる請求項１４に記載のコンピュータプログラムプロダクト。
【外国語明細書】
2013144354000001.pdf