(57)【要約】【課題】  対象物の持ち替え動作時に、ロボットや対象物の干渉（衝突）を抑止し、安定して把持動作を実行するロボット、ロボットシステム、制御装置及び制御方法等を提供すること。【解決手段】  ロボットは、胴体部２００と、胴体部２００に第１の関節Ｊ１により接続され、第１の把持部３１０を有する第１のアーム３００と、胴体部２００に第２の関節Ｊ２により接続され、第２の把持部４１０を有する第２のアーム４００と、を含み、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部３１０により把持されている対象物ＯＢを第２の把持部４１０に持ち替える持ち替え動作を行う。【選択図】      図２
2015085459.tif 000002
【特許請求の範囲】
【請求項１】
胴体部と、
前記胴体部に第１の関節により接続され、第１の把持部を有する第１のアームと、
前記胴体部に第２の関節により接続され、第２の把持部を有する第２のアームと、を含み、
作業台に置かれているいずれの物体よりも高い位置で、前記第１の把持部により把持されている対象物を前記第２の把持部に持ち替える持ち替え動作を行うことを特徴とするロボット。
【請求項２】
請求項１において、
前記第１の把持部は、前記対象物を第１の把持状態で把持しており、
前記第１の把持状態は、前記第１の把持部が、前記対象物に対して上方、下方、側方のいずれか１つの位置となる状態であることを特徴とするロボット。
【請求項３】
請求項１又は２において、
前記第２の把持部が、前記第１の把持部により把持されている前記対象物を第２の把持状態で把持することによって、前記持ち替え動作を行い、
前記第２の把持状態は、前記第２の把持部の高さが、前記対象物に対して低い状態であることを特徴とするロボット。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記第１の把持部を用いて、前記対象物を第１の把持方向で把持する制御を行った後に、
前記第２の把持部を用いて、前記第１の把持方向に交差する第２の把持方向で、前記対象物を把持する制御を行うことを特徴とするロボット。
【請求項５】
請求項４において、
前記第１の把持方向は、重力方向に沿った方向であり、
前記第２の把持方向は、前記重力方向に直交する水平方向に沿った方向であることを特徴とするロボット。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記第１の把持部の形状を膨らませたオフラインシミュレーターのモデルである第１のモデルと、前記第２の把持部の形状を膨らませた前記オフラインシミュレーターのモデルである第２のモデルとが、干渉しない把持位置姿勢を用いて、前記第１の把持部と前記第２の把持部により前記持ち替え動作を行うことを特徴とするロボット。
【請求項７】
請求項１乃至６のいずれかにおいて、
第１の速度により、前記第２の把持部をアプローチ点まで移動させ、
前記第１の速度に比べて低い速度である第２の速度で、前記第２の把持部を前記アプローチ点から前記対象物の方向へ移動させることを特徴とするロボット。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記対象物を撮像する撮像部の撮像範囲内で、前記持ち替え動作を行うことを特徴とするロボット。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記第１の把持部及び前記第２の把持部の各把持部は、４本の指を有する４指ハンドであり、前記４本の指のうち第１、第２の指を用いて前記対象物を所与の方向から支持し、前記４本の指のうち、前記第１、第２の指とは異なる第３、第４の指を用いて、前記対象物を前記所与の方向とは逆の方向から支持することで、前記対象物を把持することを特徴とするロボット。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記物体は、ワーク、治具、工具のいずれか１つを含むことを特徴とするロボット。
【請求項１１】
胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を含む第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を含む第２のアームと、を含むロボットを含み、
前記ロボットは、
作業台に置かれたいずれの物体よりも高い位置で、前記第１の把持部及び前記第２の把持部を用いて、作業対象物の持ち替えを行う、
ことを特徴とするロボットシステム。
【請求項１２】
胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を有する第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を有する第２のアームと、を含むロボットに作業を行わせる制御装置であって、
前記ロボットに、作業台に置かれているいずれの物体よりも高い位置で、前記第１の把持部及び前記第２の把持部とを用いて、対象物の持ち替えを行わせることを特徴とする制御装置。
【請求項１３】
胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を有する第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を有する第２のアームと、を含むロボットの制御方法であって、
前記ロボットに、作業台に置かれているいずれの物体よりも高い位置で、前記第１の把持部及び前記第２の把持部とを用いて、対象物の持ち替えを行わせることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットシステム、制御装置及び制御方法等に関する。
【背景技術】
【０００２】
双腕ロボットにおいて、右手のみでしかアプローチできない位置にある対象物（例えばワーク）を、左手のみでしかアプローチできない位置に配置する場合には、例えば特許文献１に記載されているような、２つの把持部を用いて持ち替えを行うことが有効である。その他にも、片方の把持部で把持している対象物を、現在把持に用いている把持部を用いて、且つ現在の姿勢とは異なる姿勢で配置したい場合等のように、持ち替えが有効である状況は多い。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０６２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１では、持ち替え動作生成について記載されているものの、対象物、第１の把持部及び第２の把持部の間の相対的な位置関係を考慮しているに過ぎず、持ち替え動作が行われる位置については考慮されていない。持ち替え動作を行う場合、作業台の上で行うことがあるところ、作業台には、通常、ロボットが作業に用いるワークや工具等が置かれている。そのため、持ち替え動作を行う位置によっては、当該ワーク等と干渉してしまい、持ち替え動作を行うことができない。
【課題を解決するための手段】
【０００５】
本発明の一態様は、胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を有する第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を有する第２のアームと、を含み、作業台に置かれているいずれの物体よりも高い位置で、前記第１の把持部により把持されている対象物を前記第２の把持部に持ち替える持ち替え動作を行うロボットに関係する。
【０００６】
本発明の一態様では、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部から第２の把持部への持ち替え動作を実行する。そのため、ロボットと作業台に置かれる物体との干渉を抑止した持ち替え動作が可能になる。
【０００７】
また、本発明の一態様では、前記第１の把持部は、前記対象物を第１の把持状態で把持しており、前記第１の把持状態は、前記第１の把持部が、前記対象物に対して上方、下方、側方のいずれか１つの位置となる状態であってもよい。
【０００８】
これにより、持ち替え前の第１の把持部による対象物の把持状態を適切に設定すること等が可能になる。
【０００９】
また、本発明の一態様では、前記第２の把持部が、前記第１の把持部により把持されている前記対象物を第２の把持状態で把持することによって、前記持ち替え動作を行い、前記第２の把持状態は、前記第２の把持部の高さが、前記対象物に対して低い状態であってもよい。
【００１０】
これにより、第２の把持部を対象物より低い位置から持ち替えるため、安定した持ち替え動作等が可能になる。
【００１１】
また、本発明の一態様では、前記第１の把持部を用いて、前記対象物を第１の把持方向で把持する制御を行った後に、前記第２の把持部を用いて、前記第１の把持方向に交差する第２の把持方向で、前記対象物を把持する制御を行ってもよい。
【００１２】
これにより、安定した持ち替え動作を行うこと等が可能になる。
【００１３】
また、本発明の一態様では、前記第１の把持方向は、重力方向に沿った方向であり、前記第２の把持方向は、前記重力方向に直交する水平方向に沿った方向であってもよい。
【００１４】
これにより、安定した持ち替え動作を行うこと等が可能になる。
【００１５】
また、本発明の一態様では、前記第１の把持部の形状を膨らませたオフラインシミュレーターのモデルである第１のモデルと、前記第２の把持部の形状を膨らませた前記オフラインシミュレーターのモデルである第２のモデルとが、干渉しない把持位置姿勢を用いて、前記第１の把持部と前記第２の把持部により前記持ち替え動作を行ってもよい。
【００１６】
これにより、第１の把持部と第２の把持部との干渉を抑止した持ち替え動作を実行すること等が可能になる。
【００１７】
また、本発明の一態様では、第１の速度により、前記第２の把持部をアプローチ点まで移動させ、前記第１の速度に比べて低い速度である第２の速度で、前記第２の把持部を前記アプローチ点から前記対象物の方向へ移動させてもよい。
【００１８】
これにより、持ち替え動作を含む一連の制御において、第２の把持部を移動させる速度を、状況に応じて適切に設定すること等が可能になる。
【００１９】
また、本発明の一態様では、前記対象物を撮像する撮像部の撮像範囲内で、前記持ち替え動作を行ってもよい。
【００２０】
これにより、撮像部の撮像範囲に基づいて、持ち替え動作を行う位置を設定すること等が可能になる。
【００２１】
また、本発明の一態様では、前記第１の把持部及び前記第２の把持部の各把持部は、４本の指を有する４指ハンドであり、前記４本の指のうち第１、第２の指を用いて前記対象物を所与の方向から支持し、前記４本の指のうち、前記第１、第２の指とは異なる第３、第４の指を用いて、前記対象物を前記所与の方向とは逆の方向から支持することで、前記対象物を把持してもよい。
【００２２】
これにより、第１の把持部及び第２の把持部として４指ハンドを用いることが可能になる。
【００２３】
また、本発明の一態様では、前記物体は、ワーク、治具、工具のいずれか１つを含んでもよい。
【００２４】
これにより、作業台に置かれるワーク、治具、工具のいずれよりも高い位置で持ち替え動作を行うこと等が可能になる。
【００２５】
また、本発明の他の態様は、胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を含む第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を含む第２のアームと、を含むロボットを含み、前記ロボットは、作業台に置かれたいずれの物体よりも高い位置で、前記第１の把持部及び前記第２の把持部を用いて、作業対象物の持ち替えを行う、ロボットシステムに関係する。
【００２６】
本発明の他の態様では、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部から第２の把持部への持ち替え動作を実行する。そのため、ロボットと作業台に置かれる物体との干渉を抑止した持ち替え動作が可能になる。
【００２７】
また、本発明の他の態様は、胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を有する第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を有する第２のアームと、を含むロボットに作業を行わせる制御装置であって、前記ロボットに、作業台に置かれているいずれの物体よりも高い位置で、前記第１の把持部及び前記第２の把持部とを用いて、対象物の持ち替えを行わせる制御装置に関係する。
【００２８】
本発明の他の態様では、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部から第２の把持部への持ち替え動作を実行する。そのため、ロボットと作業台に置かれる物体との干渉を抑止した持ち替え動作が可能になる。
【００２９】
また、本発明の他の態様は、胴体部と、前記胴体部に第１の関節により接続され、第１の把持部を有する第１のアームと、前記胴体部に第２の関節により接続され、第２の把持部を有する第２のアームと、を含むロボットの制御方法であって、前記ロボットに、作業台に置かれているいずれの物体よりも高い位置で、前記第１の把持部及び前記第２の把持部とを用いて、対象物の持ち替えを行わせる制御方法に関係する。
【００３０】
本発明の他の態様では、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部から第２の把持部への持ち替え動作を実行する。そのため、ロボットと作業台に置かれる物体との干渉を抑止した持ち替え動作が可能になる。
【００３１】
このように、本発明の幾つかの態様によれば、対象物の持ち替え動作時に、ロボットや対象物の干渉（衝突）を抑止し、安定して把持動作を実行するロボット、ロボットシステム、制御装置及び制御方法等を提供することができる。
【図面の簡単な説明】
【００３２】
【図１】図１（Ａ）、図１（Ｂ）は持ち替え動作が必要となる作業の例。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に係るロボットの構成例。
【図３】作業台上に種々の物体が配置される例。
【図４】図４（Ａ）、図４（Ｂ）は本実施形態での持ち替え動作の説明図。
【図５】図５（Ａ）、図５（Ｂ）は持ち替え動作の拡大図。
【図６】上方向からの持ち替えが適切に行えない例。
【図７】本実施形態に係るロボットの他の構成例。
【図８】図８（Ａ）、図８（Ｂ）は持ち替え動作の例。
【図９】図９（Ａ）、図９（Ｂ）は持ち替え動作の例の拡大図。
【図１０】本実施形態に係るロボットを含むシステムの構成例。
【図１１】図１１（Ａ）、図１１（Ｂ）は４指ハンドの例。
【図１２】図１２（Ａ）、図１２（Ｂ）は２指ハンドと４指ハンドの差の説明図。
【図１３】視錐体の説明図。
【図１４】アプローチ時の第２の把持部の姿勢の例。
【図１５】把持方向の説明図。
【図１６】図１６（Ａ）〜図１６（Ｄ）は第１の把持方向と第２の把持方向の関係例。
【図１７】図１７（Ａ）、図１７（Ｂ）は第１の把持方向と第２の把持方向の他の関係例。
【図１８】直方体の対象物ＯＢに対して設定されるアプローチ方向の例。
【図１９】図１９（Ａ）、図１９（Ｂ）は把持部を膨らませたモデルの説明図。
【図２０】図２０（Ａ）は対象物を基準とした把持姿勢の例、図２０（Ｂ）、図２０（Ｃ）はグローバル座標系を基準とした把持姿勢の例。
【図２１】本実施形態に係る制御装置及びロボットシステムの構成例。
【発明を実施するための形態】
【００３３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３４】
１．本実施形態の手法
まず本実施形態の手法について説明する。ロボットによる作業において、対象物を所与の把持部（狭義にはハンド）から、他の把持部へ持ち替える持ち替え動作が有用となる場面は多い。
【００３５】
例えば、図１（Ａ）に示したように、初期位置Ａに配置された対象物を目標位置Ａ’まで移動させる作業を考える。図１（Ａ）は２本のアームと含む双腕ロボット及び作業台を、作業台上方から観察した場合の図である。この場合、左手の可動範囲及び右手の可動範囲がそれぞれ図１（Ｂ）に示した範囲であるとすると、左手は初期位置Ａに到達できるが右手は初期位置Ａに到達できず、右手は目標位置Ａ’に到達できるが左手は目標位置Ａ’に到達できない。よって、上述の作業を実現するには、まず左手で初期位置Ａにある対象物を把持し、その後対象物を左手から右手に持ち替え、右手で対象物を目標位置Ａ’に配置するという動作が必要となる。つまり、ロボットの可動範囲等の条件から、所望の作業を実行する際に持ち替え動作が必須となる、或いは必須でなくても持ち替え動作を入れることで作業が容易になるケースは多く、持ち替え動作は有用と言える。
【００３６】
しかし、持ち替え動作には２つの把持部が関連するため、把持部同士の干渉を避ける必要がある等、要求される条件が複雑となる。そのため、持ち替え動作をユーザーが手動で設定することは困難である。
【００３７】
特許文献１のように、何らかの情報に基づいて持ち替え動作をシステム側で生成する手法が提案されている。しかし従来手法は、対象物と第１，第２の把持部の相対的な関係を決定する手法であり、ロボット本体（図２（Ａ）のロボットであれば胴体部２００や頭部６００等）との相対的な関係を決定するものではない。
【００３８】
従来のロボットにおいては、持ち替え動作が行われる位置（以下、持ち替え動作位置とも表記する）の重力方向での高さは重要視されていなかった。なぜなら、従来は持ち替え動作も含め、ロボットで行われる作業が固定化されており、必要な情報が事前に入力されていたためである。具体的には、所望の作業を行うために、ロボットがどのような動作をどのような順序で行うかといった情報や、各動作時に作業台のどの位置に何が配置されるかといった情報が事前に与えられる。つまり、持ち替え動作を所与の位置で行うとなれば、当該持ち替え動作では把持部やアーム、対象物等が、他の物体と干渉することがないことが保証されていると考えてよかった。
【００３９】
しかし本出願人は、撮像部からの撮像画像に対する画像処理の結果や、環境に配置されたセンサーからのセンサー情報等、種々の情報を用いてロボットの動作環境を認識し、環境の変化に応じて動作を行うロボットを想定している。このようにすれば、環境変化に応じて柔軟に動作を行うロボットが実現できる。しかしこのような想定においては、持ち替え動作前に行われていた動作や、当該動作における対象物等がその時々で変化する可能性があり、持ち替え動作時の環境（具体的には作業台上に配置されるワークや治具等）を事前に知ることは困難である。柔軟なロボット作業の実行を想定するために、例えば図３に示したようにロボット作業に用いられる作業台上に、種々のワークや治具が配置されているケースは充分考えられるが、その具体的な配置位置姿勢は既知の情報ではない。
【００４０】
その場合、ロボットのアームやハンド、或いはハンドにより把持された対象物等と、作業台上の物体との干渉を抑止するには、当該物体の高さに関する情報を何らかの手法により取得するとよい。
【００４１】
そこで本出願人は、持ち替え動作位置を作業台上の物体よりも高い位置に設定して持ち替え動作を実行する手法を提案する。具体的には、本実施形態に係るロボットは図２（Ａ）に示したように、胴体部２００と、胴体部２００に第１の関節Ｊ１により接続され、第１の把持部３１０を有する第１のアーム３００と、胴体部２００に第２の関節Ｊ２により接続され、第２の把持部４１０を有する第２のアーム４００とを含む。そして、ロボットは、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部３１０により把持されている対象物を第２の把持部４１０に持ち替える持ち替え動作を行う。この持ち替え動作は、例えば図２（Ａ）の制御部１００の制御により実現することができる。さらに具体的には、制御部１００において後述するオフラインシミュレーターを実行することで、持ち替え動作の制御用情報を生成すること等が考えられる。なお、図４（Ａ）における第１の把持部３１０及び第２の把持部３２０の周辺を拡大した図が図５（Ａ）であり、同様に図４（Ｂ）の拡大図が図５（Ｂ）である。
【００４２】
ここで、高さとは重力方向における高さを用いればよい。重力方向とは、具体的には重力加速度の方向であり、図４（Ａ）において作業台の面が水平な面であるとすればｚ軸の負方向である。また、重力方向における高さとは、前記重力方向における位置を表すものであり、例えば図４（Ａ）のｚ軸での座標値である。重力方向における高さの高低は、一般的な高低と同様であり、より基準点（例えば地表）から離れたものほど高さが高く、図４（Ａ）の例であればｚ座標値がｚ１＞ｚ２であれば、ｚ１の位置はｚ２の位置よりも高い。
【００４３】
また、持ち替え動作には対象物ＯＢと、第１の把持部３１０、第２の把持部４１０という大きさを有する物体が関係するため、持ち替え動作位置の高さをどのように規定するかが問題となる。本実施形態では、対象物ＯＢの所与の基準位置（例えば図４（Ａ）のＲＰ）の高さを持ち替え動作位置の高さとして説明を行う。つまり、持ち替え動作において、持ち替え動作位置より低い位置に把持部やアームが位置する場合もあり得る。
【００４４】
これにより、持ち替え動作位置を作業台に置かれるいずれの物体よりも高い位置とすることが可能になる。そのため、持ち替え動作を行った際に、第１のアーム３００、第１の把持部３１０、第２のアーム４００、第２の把持部４１０、及び対象物等と、作業台上の物体との干渉を抑止することができる。
【００４５】
なお、作業台に置かれるいずれの物体よりも高い位置は、例えば作業台に置かれる１又は複数の物体のうち、最も高い物体の高さを求めることができれば、当該最も高い物体の高さよりも高い位置を設定することで実現できる。この際、最も高い物体の高さを求める手法は種々考えられる。例えば、ユーザーが最も高い物体の高さを入力し、ロボットはユーザーからの入力情報を用いて作業台に置かれるいずれの物体よりも高い位置を設定してもよい。
【００４６】
ここで、上記物体は、ワーク、治具、工具のいずれか１つを含んでもよい。ロボットの作業が規定されれば、ロボットは（狭義にはロボットの制御部１００は）当該作業に関係するワーク、治具、工具（以下「ワーク等」と記載）を特定することが可能である。そして、ロボットが作業を行う際には、ワーク等の形状の情報も例えば３次元モデルデータ等として取得されているから、それにより作業に関係するワーク等の高さを求めることができる。例えば、作業台に対するワーク等の配置姿勢が決まっていれば、当該ワーク等の重力方向での高さは容易に決定できるし、配置姿勢が未定の場合であっても、いくつかの姿勢を取らせることで複数の高さ候補を算出し、当該高さ候補のうち最大のものを当該ワーク等の高さとして用いることができる。各ワーク等についての高さが求められたら、１又は複数のワーク等のうち高さが最大となるワーク等を特定し、及び当該ワーク等の高さを持ち替え動作位置の決定に用いればよい。
【００４７】
或いは、上述したように本出願人の想定するロボットは種々のセンサーを含むことが考えられる。よって、当該センサーを用いて作業台上の物体の高さを認識してもよい。この際のセンサーは種々のものが考えられるが、例えば撮像センサー（撮像部）を用いてもよく、この場合、作業台上を撮像した撮像画像を取得し、当該撮像画像に対する画像処理を用いて作業台に置かれる物体の高さ、及び作業台に置かれるいずれの物体よりも高い位置を決定できる。
【００４８】
この際、作業台に置かれる物体の、水平方向での位置（作業台面上に沿った方向での位置）については、考慮しなくてもよい。水平方向での位置を考慮した場合、作業台の奥側に高い物体があっても、作業台手前部分であれば当該物体よりも低い位置で持ち替え動作ができる、といったように柔軟な持ち替え動作が可能となる。しかしその場合、水平方向での位置を考慮するため、ユーザーが水平方向まで含めた物体の配置位置姿勢を入力する、或いは作業中にどのワーク等がどの位置に配置されるかといった情報まで取得しておく、或いは作業台の水平方向までセンサー等により認識対象とする、といった必要が生じる。その点、重力方向での高さだけを考慮して処理を行えば、少ないユーザー負担で、或いはロボットの処理負荷を軽いものとして、持ち替え動作の生成が可能となる。なお、水平方向を考慮しない場合、より低い位置での持ち替え動作が可能であるのに、必要以上に高い位置で持ち替え動作を行う可能性が生じるが、負荷軽減の観点から本実施形態はそれを許容するものである。
【００４９】
なお、本実施形態では、物体の情報を用いて作業台に置かれるいずれの物体よりも高い位置を設定することが想定されるが、異なる変形実施も可能である。例えば、ロボットの肩関節（具体的にはアームが胴体部２００に取り付けられる位置の関節）を基準として作業台に置かれるいずれの物体よりも高い位置を設定してもよい。一般的に、肩関節を駆動することでアームは上下方向に可動する。これは言い換えれば、肩関節の重力方向での高さを基準として、より高い位置とより低い位置の両側にアームの可動範囲が設定されることになる。そして、この可動範囲は可能な限り有効活用することで、ロボットによる種々の作業をスムーズに実現できる。
【００５０】
この際、作業台の下の部分までアームが入り込んで作業することは考えにくく、作業台面がロボット作業の低い方向での限界点ということになる。作業台により低い方向でのリミットが設定されるとすれば、当該作業台を高い位置に設けすぎると、肩関節により規定されるアームの可動範囲のかなりの部分が作業台の下に入ってしまい、可動範囲を狭めてしまうことになる。以上を鑑みれば、作業台は図３に示したように、肩関節よりも低い位置に設けられることになる。
【００５１】
また、作業台に置かれる物体も、持ち替え動作を実行するロボットによる作業対象となるものであるから、極端に大きいものとは考えられない。棒状の治具等は、重力方向での高さが非常に高いものとなるが、そのような物体は持ち替え動作だけでなく、あらゆる動作の障害となり得るものであるため、ロボットの正面には配置されないと想定できる。つまり、持ち替え動作において衝突等を考慮すべき物体の高さｚｃは、作業台のｚ座標値ｚｂと物体自体の重力方向での長さｚｌを用いてｚｃ＝ｚｂ＋ｚｌとなり、これは図３に示した作業台環境の例のように、肩関節の高さｚｊと比べた場合、ｚｊ＞ｚｃとなることがほとんどである。
【００５２】
つまり、持ち替え動作の前に行われる動作が何であれ、その結果作業台上に残される物体の高さは肩関節の高さよりも低いことが想定されるのであるから、持ち替え動作位置を肩関節（第１の関節Ｊ１，第２の関節Ｊ２）の高さ以上の高さとしておけば、当該持ち替え動作時に衝突等が生じる可能性を抑止できる。
【００５３】
また本実施形態では、図４（Ａ）に示したように、第１の把持部３１０は、対象物を第１の把持状態で把持しており、第１の把持状態は、第１の把持部３１０が、対象物に対して上方、下方、側方のいずれか１つの位置となる状態である。また、図４（Ｂ）に示したように、第２の把持部４１０が、第１の把持部３１０により把持されている対象物を第２の把持状態で対象物を把持することによって、持ち替え動作を行い、第２の把持状態は、第２の把持部４１０の高さが、対象物に対して低い状態である。具体的には、持ち替え動作での持ち替え先の把持部（第２の把持部４１０）は、対象物ＯＢに対して重力方向において低い位置に設けられたアプローチ点ＡＰから、対象物の方向へ移動して把持を行うことで第２の把持状態を実現してもよい。以下、説明を容易にするために、この方向からの把持を「下方向からの把持」と表記し、当該「下方向からの把持」を用いた持ち替え動作を「下方向からの持ち替え」と表記する。
【００５４】
下方向から持ち替えることで、いくつか利点が生じる。まず第１に、対象物ＯＢを適切に把持できる可能性が向上する。対象物ＯＢは重量を有する物体であるため、持ち替え元の把持部（第１の把持部３１０）で対象物ＯＢを把持した際に、対象物ＯＢの重量の影響により、把持状態での対象物ＯＢ（及び第１の把持部３１０）の位置が想定した把持位置よりも下、すなわち重力方向で低い位置にずれてしまう可能性がある。その場合、上方向から第２の把持部４１０をアプローチさせると、図６に示したように対象物ＯＢまで到達できずに把持が行えない（空振りしてしまう）おそれがある。或いは、把持自体はできたとしても、把持位置が目標と異なってしまうおそれがある。その点、第２の把持部４１０を下方向からアプローチさせれば、対象物ＯＢの位置がずれていたとしても第２の把持部４１０が対象物ＯＢまで到達できないということはなく、適切な把持が可能である。なお、下方向からアプローチすることで、対象物ＯＢに近づきすぎてしまう、すなわち第２の把持部４１０が対象物ＯＢに衝突してしまう可能性は生じる。よって、第２の把持部４１０の移動速度を遅くしたり、第２の把持部４１０に力覚センサーを設けて衝突を検知する等の手法をとってもよい。
【００５５】
第２の利点として、重力方向下側からのアプローチとなるため、対象物ＯＢの脱落（落下）を抑止できる。何らかの理由により安定的な把持ができなかったとしても、落下方向に第２の把持部４１０が位置することになるため、対象物ＯＢを支持できる可能性が向上する。特に本実施形態では、持ち替え動作を比較的高い位置で行うため、対象物ＯＢが脱落した場合、対象物ＯＢ自身や、対象物ＯＢが衝突した物体に与えられる衝撃が大きく、脱落の可能性は極力低くするべきである。その点から、本実施形態の手法において下方向からの持ち替えの利点は大きい。
【００５６】
第３の利点として、第２の把持部４１０（及び第２のアーム４００）の位置姿勢を柔軟に設定可能な点が挙げられる。上述したように、持ち替え動作位置が肩関節より上とすると、当該持ち替え動作位置はアームの可動範囲のうちの比較的高い位置となる。そのような持ち替え動作位置よりも更に高い位置から（上から）第２の把持部４１０をアプローチさせようとすると、第２のアーム４００をかなり伸ばした状態にしなくてはならない。作業台上での動作であれば、上からのアプローチは広く行われるものであるが、本実施形態についていえば、上からのアプローチは第２のアーム４００及び第２の把持部４１０の位置姿勢が限定されるおそれがあり好ましくない。その点、下方向からの持ち替えであれば、アームを極端に伸ばす必要もなく、第２のアーム４００及び第２の把持部４１０の位置姿勢は柔軟に設定可能である。
【００５７】
また、全てのロボットに当てはまるわけではないが、ロボットの頭部形状によっては、アームとロボット頭部との干渉を抑止するという第４の利点も生じる。例えば、上述した認識用の撮像部（図７の５００等）やセンサー類を設けるために、図７に示したように頭部６００が水平方向に広がった形状となるロボットが用いられることがある。このようなロボットでは、アームを上方向に伸ばそうとすると、アームと頭部６００が衝突してしまう。そのため、肩関節に比べて高い持ち替え動作位置よりも、更に高い位置から第２の把持部４１０をアプローチさせようとすると、第２のアーム４００と頭部の衝突が生じてしまう。このような場合にも、下方向からの持ち替えが好ましい。
【００５８】
以下、本実施形態に係るロボットや、当該ロボットを含むシステムの具体的な構成例について説明し、その後持ち替え動作の詳細な説明を行う。最後に本実施形態の持ち替え動作を実現する具体的な手法の一例として、オフラインシミュレーターを用いた手法について説明する。
【００５９】
なお、図２（Ａ）や図４（Ａ）〜図５（Ｂ）では右腕を第１のアーム３００、右手を第１の把持部３１０とし、左腕を第２のアーム４００、左手を第２の把持部４１０としたが、第１，第２のアーム、第１，第２の把持部は左右の構成により決定されるものではない。本実施形態における第１の把持部３１０は、持ち替え動作の持ち替え元の把持部であり、第２の把持部４１０は、持ち替え動作の持ち替え先の把持部である。よって、図８（Ａ）、図８（Ｂ）及びそれぞれを拡大した図９（Ａ）、図９（Ｂ）に示すように、ロボットの右腕に設けられた把持部から、左腕に設けられた把持部への持ち替え動作を行う場合には、第１のアーム３００及び第１の把持部３１０は右腕及び右腕に設けられた把持部であるし、第２のアーム４００及び第２の把持部４１０は左腕及び左腕に設けられた把持部である。なお、図８（Ａ）〜図９（Ｂ）は、図８（Ａ）（図９（Ａ））において第２の把持部４１０による下からの把持が完了し、その後、図８（Ｂ）（図９（Ｂ））において元々対象物を把持していた第１の把持部３１０を解放する動作を表した図である。また、作業中で複数の持ち替え動作が行われる場合には、第１，第２の把持部、第１，第２のアームがその都度変化することになる。なお、以下では１回の持ち替え動作に着目して説明を行う。
【００６０】
２．システム構成例
次に、本実施形態に係るロボットの構成例について説明する。図２（Ａ）を用いて上述したように、本実施形態のロボットは、制御部１００（制御装置）と、胴体部２００と、第１の把持部３１０を有する第１のアーム３００と、第２の把持部４１０を有する第２のアーム４００とを含む。
【００６１】
本実施形態に係るロボットの詳細な構成例を図２（Ｂ）に示す。ロボットは、ロボット機構３０と、制御部１００と、記憶部４０を含む。そして、ロボット機構３０は、胴体部２００と、第１の把持部３１０を有する第１のアーム３００と、第２の把持部４１０を有する第２のアーム４００とを含み、制御部１００は、ロボット制御部１１０と、作業シナリオ生成部１２０を含む。ただし、ロボット及びロボットを構成する各部は、図２（Ｂ）の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６２】
ここでの制御部１００は、図２（Ａ）に示したように胴体部２００等のロボット本体とは別体として構成されてもよく、図２（Ａ）のケースであれば制御部１００は、パーソナルコンピューター（ＰＣ）等で実現可能である。或いは、制御部１００は、図２（Ａ）に示したロボットに内蔵される基板上で実現されるものであってもよい。具体的には、基板上に実装されるプロセッサーやメモリー等により実現される。この場合であれば、制御部１００とロボット本体とは一体として構成されることになる。
【００６３】
ロボット制御部１１０は、ロボット機構３０の制御を行う。具体的には、図４（Ａ）〜図５（Ｂ）を用いて上述したような動作を実行させる制御を行う。なお、ロボット制御部１１０は、作業シナリオに基づいてロボット機構３０の制御を行ってもよい。
【００６４】
ここでの作業シナリオとは、ロボットの動作手順を表す情報であり、例えばそれぞれがロボットの動作を規定するロボットプログラムの集合（作業プラグラム）である。本実施形態の制御部１００は、他の機器で生成された作業シナリオを取得してもよいし、制御部１００において、ロボットの作業シナリオの作成を行ってもよい。例えば、制御部１００が図２（Ｂ）に示したように作業シナリオ生成部１２０（後述するオフラインシミュレーターに対応）を含むものであってもよい。その場合、当該オフラインシミュレーターによるシミュレーション結果から、上記の持ち替え動作を含む作業シナリオを作成する処理を行い、ロボット制御部１１０は、作成された作業シナリオに従ったアーム等の制御を行う。制御部１００が作業シナリオ生成部１２０を含む場合、作業シナリオの作成においては、後述するように対象物のデータや、ロボット自身のデータ等が必要になる。それらのデータは例えば記憶部４０に記憶しておき、作業シナリオの作成時に読み出すものとしてもよい。
【００６５】
或いは、作業シナリオ（広義にはロボット制御を実現するための情報）の作成処理を制御部１００以外の機器で行い、制御部１００は他の機器で作成された作業シナリオを取得し、当該作業シナリオに従ったアーム等の制御を行うものであってもよい。その場合、作業シナリオを作成する機器はロボットに対して物理的に近い位置に設けられる必要はない。例えば、図１０に示したように、ロボットにネットワーク１０を介して接続されるサーバーシステム２０が作業シナリオの作成処理を行ってもよい。図１０の例では、制御部１００は、ネットワーク１０を介してサーバーシステム２０から作業シナリオを受信する処理を行い、受信した作業シナリオに従ってアーム等を制御する。
【００６６】
図１０の例におけるネットワーク１０は、例えばロボットが設置される工場等の施設のローカルなネットワーク（ＬＡＮ）であってもよい。その場合、サーバーシステム２０はＬＡＮを介して接続される１又は複数のロボットＲ１〜ＲＮ（Ｎは１以上の整数）の制御を行う。或いは、ネットワーク１０はインターネットやＷＡＮのように広汎なネットワークにより実現されてもよい。この場合には、サーバーシステム２０の設置場所は地理的な制約を受けることはない。
【００６７】
図１０に示したように作業シナリオの作成処理等をサーバーシステム２０で実行することで、ロボット制御に必要な処理を集約することが可能になる。そのため、必要な情報（例えばロボットに関する情報や対象物の情報）の更新処理が発生した場合にも、サーバーシステム２０に記憶されたデータを更新すれば足りる。各ロボットで作業シナリオを作成する場合には、それぞれのロボットに対して更新処理が必要なところ、その手間が軽減されることになる。
【００６８】
また、本実施形態の手法は、胴体部２００と、胴体部２００に第１の関節Ｊ１により接続され、第１の把持部３１０を有する第１のアーム３００と、胴体部２００に第２の関節Ｊ２により接続され、第２の把持部４１０を有する第２のアーム４００と、を含むロボット５０に作業を行わせる制御装置６０であって、ロボット５０に、作業台に置かれているいずれの物体よりも高い位置で、第１の把持部３１０及び第２の把持部４１０とを用いて、対象物の持ち替えを行わせる制御装置６０に適用できる。
【００６９】
ここでの制御装置６０は、例えば図２１に示したようにロボット制御部１１０と、作業シナリオ生成部１２０を含んでもよく、ロボット制御部１１０と、作業シナリオ生成部１２０については図２（Ｂ）と同様に考えることが可能である。このようにすれば、作業台上の物体との干渉を抑止した持ち替え動作を、ロボット５０に実行させる制御装置を実現することができる。
【００７０】
或いは、本実施形態の手法は、制御装置単体、或いはロボット単体に適用するものにとどまらず、胴体部２００と、胴体部２００に第１の関節Ｊ１により接続され、第１の把持部３１０を含む第１のアーム３００と、胴体部２００に第２の関節Ｊ２により接続され、第２の把持部４１０を含む第２のアーム４００と、を含むロボットを含み、ロボットは、作業台に置かれたいずれの物体よりも高い位置で、第１の把持部３１０及び第２の把持部４１０を用いて、作業対象物の持ち替えを行うロボットシステムに適用できる。この場合のロボットシステムは、例えば図２１に示したように制御装置６０を含んでもよい。或いは、ロボットとは別体として、種々のセンサー（例えば作業台上等に設けられる撮像装置）等を含んでもよい。
【００７１】
次に、第１の把持部３１０や第２の把持部４１０として用いられる把持部（ハンド）の一例を図１１（Ａ）、図１１（Ｂ）に示す。図１１（Ａ）、図１１（Ｂ）に示したように、第１の把持部３１０及び第２の把持部４１０の各把持部は、４本の指を有する４指ハンドであってもよい。この場合、第１の把持部３１０及び第２の把持部４１０の各把持部は、４本の指のうち第１、第２の指を用いて対象物を所与の方向から支持し、４本の指のうち、第１、第２の指とは異なる第３、第４の指を用いて、対象物を所与の方向とは逆の方向から支持することで、対象物を把持する。
【００７２】
ここで、第１の指とは図１１（Ａ）、図１１（Ｂ）のＦ１に対応し、第２の指がＦ２、第３の指がＦ３、第４の指がＦ４に対応する。ここで上記所与の方向とは、図１１（Ａ）、図１１（Ｂ）に示したＤ１の方向であり、所与の方向の逆方向とはＤ２の方向である。つまり、４指ハンドは、第１，第２の指を対象物の一方から押しつけ、第３，第４の指を第１，第２の指の向かい側から押しつけることで、４点で対象物を支持するハンドである。
【００７３】
４指ハンドでは、ハンドと対象物の接触点が４点となる。そのため指が２本のハンドに比べて安定して対象物を把持することが可能になる。例えば、細長い円柱状（棒状）の対象物ＯＢＰの側面（曲面となる面）を指で把持する場合、２指ハンドでは図１２（Ａ）に示したように接触点が中心軸からずれてしまうと、安定した把持が難しい。その点４指ハンドであれば、図１２（Ｂ）に示したように４点で支持できるため、棒状物体ＯＢＰ等の把持が難しい対象物であっても、安定した把持が可能となる。
【００７４】
なお、４指ハンドの各指は、Ｄ１又はＤ２の方向のみに可動するものには限定されない。例えば図１１（Ａ）、図１１（Ｂ）に示したように、Ｄ１、Ｄ２に直交する方向をＤ３、Ｄ４とした場合に、各指はＤ３又はＤ４の方向に可動するものとしてもよい。このようにすれば、指と対象物の４つの接触点の位置関係を柔軟に変更することができる。例えば、第１の指と第２の指の間、及び第３の指と第４の指の間を比較的広く開けることで、大きめの対象物を安定して把持することが可能になる。或いは、第１の指と第２の指の間、及び第３の指と第４の指の間を比較的狭くすることで、小さい対象物を取り落とすことを抑止することが可能になる。
【００７５】
なお、上記の４指ハンドは、第１の把持部３１０や第２の把持部４１０として用いられる把持部（ハンド）の一例であり、図２（Ａ）等に示した２指ハンドのように、これと異なる把持部が用いられてもよい。或いは、第１の把持部３１０と第２の把持部４１０の一方が４指ハンドであり、他方が４指ハンド以外の把持部であってもよい。そのため、本実施形態における持ち替え動作としては、４指ハンドから４指ハンドへの持ち替え、４指ハンドから２指ハンドへの持ち替え、２指ハンドから４指ハンドへの持ち替え等、種々の把持部を用いた持ち替え動作が考えられる。
【００７６】
３．持ち替え動作
次に、本実施形態で行われる持ち替え動作の詳細について説明する。具体的には、持ち替え動作位置の重力方向での高さについて説明し、その後第２の把持部４１０がアプローチする方向（上述した「下方向からの把持」）について説明する。そして、持ち替え動作時の第１の把持部３１０、第２の把持部４１０の把持方向について説明する。
【００７７】
３．１  持ち替え動作が行われる重力方向での高さ
上述したように、本実施形態では持ち替え動作位置の重力方向での高さは、作業台に置かれる物体の高さにより決定される。作業台に置かれるいずれの物体よりも高い位置の決定手法は上述したとおりであり、ユーザーからの入力情報、３次元モデルデータ等の情報、センサー等を用いた認識結果を表す情報等、種々の情報を用いることができる。また、肩関節の位置を用いる等の変形実施も考えられる。
【００７８】
また、上述した作業台に置かれる物体の高さに加えて、対象物を撮像する撮像部５００の撮像範囲に基づいて、持ち替え動作位置を決定してもよい。具体的には、対象物を撮像する撮像部の撮像範囲内で、持ち替え動作を行えばよく、例えば、本実施形態のロボットは、図２（Ａ）に示したようにロボットの頭部６００に設けられる撮像部５００をさらに有し、制御部１００は、撮像部５００の撮像範囲内で、持ち替え動作を実行する。撮像部５００からの撮像画像を用いることで、例えば持ち替え動作が適切に行われているかを確認することが可能になる。この場合には、持ち替え動作位置は衝突回避の観点だけではなく、撮像部５００で撮像可能であるか否かを基準に決定されるとよい。
【００７９】
なお、撮像部５００の撮像範囲にあるとは、撮像部５００で撮像される撮像画像において、持ち替え動作位置（広義には、当該持ち替え動作位置における対象物ＯＢや第１の把持部３１０、第２の把持部４１０の位置姿勢等）が識別可能な程度の画像上サイズで撮像されていることを表す。具体的には、撮像部５００に対して図１３に示したような視錐台（視野ボリューム）を設定し、持ち替え動作位置が当該視錐台に含まれる場合に、撮像範囲にあると判定すればよい。
【００８０】
３．２  第２の把持部のアプローチ方向
次に第２の把持部４１０のアプローチ方向について説明する。上述したように、本実施形態では第２の把持状態では、第２の把持部４１０は対象物よりも低い位置にあり、当該第２の把持状態は、例えば対象物より低い位置に設定されたアプローチ点ＡＰから対象物ＯＢの方向へ向かってアプローチを行って、第２の把持部４１０により対象物ＯＢを把持することで実現される。一例としては、図４（Ａ）、図４（Ｂ）に示した方向で把持を行えばよい。
【００８１】
ただし、アプローチ時の第２の把持部４１０の姿勢は図４（Ａ）、図５（Ａ）に限定されるものではない。例えば、手首に相当する関節（広義には第２の把持部４１０が第２のアーム４００に接続される関節）から指先へ向かう方向が、重力方向の逆方向とならずに、図１４に示したように重力方向に交差する方向となってもよい。また、アプローチの途中で第２の把持部４１０の姿勢を変更してもよく、第２の把持部４１０のアプローチ及び把持状態での姿勢は種々の変形実施が可能である。
【００８２】
なお、制御部１００は、第２の把持部４１０のアプローチの方向だけでなく、移動速度の制御を行ってもよい。具体的には、ロボットは、第１の速度により、第２の把持部４１０をアプローチ点ＡＰまで移動させ、第１の速度に比べて低い速度である第２の速度で、第２の把持部４１０をアプローチ点ＡＰから対象物ＯＢの方向へ移動させる。この移動は、上述したように制御部１００の制御により実現することができる。
【００８３】
これにより、アプローチ点ＡＰの到達前後で第２の把持部４１０の速度を適切に制御することが可能になる。ロボットの制御においては、作業を短時間で行う要求を考えると、把持部等の移動は高速で行うとよいが、高速での移動時に衝突が起こると、それによるロボットや対象物ＯＢのダメージが大きくなってしまう。その点、本実施形態では持ち替え動作位置を高くすることで第１の把持部３１０、第２の把持部４１０及び対象物ＯＢと他の物体との衝突の可能性を抑止しているため、注意すべきは持ち替え動作実行時の第２の把持部４１０と対象物ＯＢとの衝突となる。つまり、第２の把持部４１０を対象物ＯＢに近づけるとき、すなわちアプローチ時には、衝突が起きた場合の衝撃を減ずるために、第２の把持部４１０を低速で動作させるとよい。一方、アプローチの開始前については、衝突の可能性が低いものとして高速での動作が可能である。そして本実施形態では、アプローチ中であるか、アプローチ開始前であるかは、アプローチ点ＡＰに到達しているか否かから判定できる。以上の制御により、衝突の可能性が高い状況では第２の把持部４１０を低速で移動させることで、衝突が起きた場合の衝撃を低減し、衝突の可能性が低い状況では高速で移動させて高速での作業を実現することが可能になる。
【００８４】
３．３  第１の把持部及び第２の把持部の把持方向
次に持ち替え動作時の第１の把持部３１０、第２の把持部４１０の把持方向について説明する。ここでの把持方向とは、把持位置において把持部が対象物ＯＢを把持する時に、把持部が対象物ＯＢに力を加える（近付く）方向のことをいい、図１５に示す例であれば、Ｄ５又はＤ６が把持方向となる。把持部が４指ハンドの場合、図１１（Ａ）に示したようにＤ１又はＤ２が把持方向と考えられるが、上述したように各指はＤ３又はＤ４の方向に可動してもよく、Ｄ３又はＤ４に力を加えて把持するのであれば当該方向を把持方向と考えることもできる。つまり把持部の構造によっては把持方向は指の可動方向だけから決定されるのではなく、実際に対象物ＯＢを把持する際に指をどのように制御するかによって、把持方向が変化しうる。例えば、Ｄ１方向の第１の大きさのベクトルをＶ１とし、Ｄ３方向の第２の大きさのベクトルをＶ２とした場合に、把持方向がＶ１とＶ２の合成ベクトルの方向となる場合等が考えられる。以下では説明を簡単にするために、２指ハンドから２指ハンドへの持ち替え動作について説明する。
【００８５】
本実施形態の制御部１００は、第１の把持部３１０を用いて、対象物を第１の把持方向で把持する制御を行った後に、アプローチ点ＡＰから移動した第２の把持部４１０を用いて、第１の把持方向に交差する第２の把持方向で、対象物ＯＢを把持する制御を行う。
【００８６】
具体的には、第１の把持方向は、重力方向に沿った方向であり、第２の把持方向は、重力方向に直交する水平方向に沿った方向である。ここで、重力方向に沿った方向とは、重力方向に対する角度が所与の閾値以下となる方向のことであり、重力方向そのものには限定されない。同様に、水平方向に沿った方向とは、水平方向に対する角度が所与の閾値以下となる方向のことであり、水平方向そのものには限定されない。
【００８７】
本実施形態では、図１６（Ａ）に示したように第１の把持部３１０と第２の把持部４１０の両方により対象物ＯＢが把持された状態から、図１６（Ｂ）に示したように第１の把持部３１０を解放することで第２の把持部４１０への持ち替え動作を実行する。よって、２つの把持部での把持から１つの把持部での把持に移行するため、対象物を支持する点が減少し、対象物ＯＢが移動（回転）し脱落するおそれがある。
【００８８】
例えば図１６（Ｂ）の例であれば、対象物ＯＢの重心が第２の把持部４１０との接触点から離れているため、モーメントが発生し、第２の把持部４１０による力が充分でなければ、Ｄ７に示した方向に対象物が回転してしまう。その際、図１６（Ａ）に示したように、第１の把持部３１０の把持方向（第１の把持方向）を重力方向に沿った方向としておけば、第１の把持部３１０を解放した際には第１の把持部３１０は図１６（Ｂ）に示した位置にある。よって、Ｄ７の方向へ対象物ＯＢが回転したとしても、回転先に第１の把持部３１０があるため、回転を止められる可能性が高い。
【００８９】
一方、図１６（Ｃ）に示したように第１の把持方向を第２の把持方向と同様に水平方向に沿った方向とした場合には、第１の把持部３１０を解放した際には第１の把持部３１０は図１６（Ｄ）に示した位置にある。よって、Ｄ７の方向へ対象物ＯＢが回転した場合には、第１の把持部３１０では回転を停止できず、対象物ＯＢが脱落するおそれがある。
【００９０】
つまり、持ち替え動作を行う際に、第１の把持方向を重力方向、第２の把持方向を水平方向としておくことで、第１の把持部３１０の解放後のワークの移動、脱落を抑止することが可能になる。
【００９１】
以上のことを一般化して考える。例えば、図１７（Ａ）に示した状態から第１の把持部３１０を解放した場合、対象物ＯＢの回転方向として考えられるのはＤ８或いはＤ９の方向である。図１７（Ａ）からわかるように、対象物ＯＢが移動する主要因が重力であったとしても、対象物ＯＢの移動方向が重力方向そのものではない場合がある。つまり、第１の把持方向は必ずしも重力方向に沿った方向とする必要はなく、対象物ＯＢが移動する可能性の高い方向に沿った方向としておけばよい。そして、第２の把持部４１０が、第２の把持方向で挟み込むように対象物ＯＢを把持することを考えれば、当該第２の把持方向では対象物ＯＢは安定しており、移動する可能性は低い。対象物ＯＢの移動として想定されるのは、第２の把持方向を軸とした回転であり、その場合の移動方向とは第２の把持方向に交差する方向（狭義には直交する方向）である。
【００９２】
つまり、第１の把持方向を重力方向に沿った方向とし、第２の把持方向を水平方向に沿った方向とするのは本実施形態の一例であり、広義には第１の把持方向と第２の把持方向が交差していればよい。このようにすれば、第１の把持部３１０を解放することによる対象物ＯＢの移動や脱落を抑止することが可能になる。例えば、図１７（Ａ）に示した把持状態から第１の把持部３１０を解放すれば、対象物ＯＢの移動を抑止できるが、この場合の第１の把持方向は水平方向に沿った方向であり、水平面内において第２の把持方向と交差する方向となる。一方、図１７（Ｂ）に示した把持状態から第１の把持部３１０を解放した場合、Ｄ８又はＤ９方向への対象物ＯＢの移動が発生し、対象物ＯＢが脱落するおそれがある。
【００９３】
４．オフラインシミュレーター
次に上述してきた本実施形態の制御に用いられる情報（作業シナリオ）を生成する手法として、オフラインシミュレーターを用いる例を説明する。ただし、作業シナリオ等の生成手法は後述するものに限定されず、種々の変形実施が可能である。
【００９４】
オフラインシミュレーターでは、まず片手で把持可能な把持姿勢を指定する。ここでの把持姿勢とは、把持を行う把持部が、対象物ＯＢのどこを、どのような姿勢で把持するかを表す情報である。例えば、対象物ＯＢとして直方体をあてはめ、アプローチ方向を限定することにより、把持姿勢を自動生成すればよい。具体的には、図１８に示した直方体の対象物ＯＢに対して、ＡＤ１〜ＡＤ１８に示したようなアプローチ方向を設定する。なおアプローチ中に把持部の姿勢を変化させないという制約を加えれば、１つのアプローチ方向に対する把持部の姿勢を小数に（狭義には１つに）限定することが可能である。
【００９５】
そして図１８に示したような把持可能な把持姿勢を両手分用意し、お互いが干渉しない組合せを探す。ただし、シミュレーター状では２つの把持部が干渉していなかったとしても、ロボット実機と、実際の対象物ＯＢを用いて作業を行う際に何らかの誤差が生じ、干渉が発生してしまうおそれがある。
【００９６】
そこで、オフラインシミュレーター（例えば制御部１００）は、第１の把持部３１０の形状を膨らませたオフラインシミュレータのモデルである第１のモデルと、第２の把持部４１０の形状を膨らませたオフラインシミュレータのモデルである第２のモデルとが、干渉しない把持位置姿勢を用いて、第１の把持部３１０と第２の把持部４１０により持ち替え動作を行う。
【００９７】
このようにすれば、第１の把持部３１０と第１のモデルとのサイズの差、及び第２の把持部４１０と第２のモデルとのサイズの差が許容誤差となり、当該許容誤差内の誤差であれば干渉しないことになる。具体的には、第１の把持部３１０のモデルが図１９（Ａ）である場合に、図１９（Ａ）のモデルを包含し、且つ図１９に比べてサイズの大きい図１９（Ｂ）に示したモデルを、第１のモデルとして生成すればよい。第２のモデルについても同様である。また、この場合の干渉するか否かの判定は、第１のモデルと第２のモデルの重なりを判定すればよいため、処理が容易である。なお、把持した状態だけではなく、アプローチにおいても把持部同士が干渉しないかどうかを調べてもよい。
【００９８】
そして、初期状態の第１の把持部３１０及び第２の把持部４１０の姿勢と、目標状態（把持状態）での第１の把持部３１０及び第２の把持部４１０の姿勢を指定し、干渉しない組合せを生成する。例えば、第１の把持部３１０に関して図１８に示したようにＳ通り（図１８であればＳ＝１８であるが、広義にはＳは正の整数）の把持姿勢を設定し、第２の把持部４１０に関してＴ通り（Ｔは正の整数）の把持姿勢を設定した場合には、Ｓ×Ｔ通りの組み合わせのうち、第１のモデルと第２のモデルとが把持動作において干渉しないものが生成される。
【００９９】
ここで生成された組み合わせは、初期状態から目標状態までの第１の把持部３１０、第２の把持部４１０の移動を行い、且つ許容誤差内の誤差であれば把持部同士の干渉がない持ち替え動作を実現するものである。しかし、この結果から１つの把持動作を決定することは困難である。なぜなら、図１８に示したように対象物ＯＢに対するアプローチ方向（及び把持姿勢）を有限の数の候補に限定したとしても、対象物ＯＢ自体の作業空間における姿勢が変化するためである。例えば図２０（Ａ）のように第１の把持部３１０の把持姿勢が決定されたとしても、その姿勢は、図２０（Ｂ）かもしれないし、図２０（Ｃ）かもしれない。つまり、図１８のアプローチ方向や把持姿勢は対象物ＯＢを基準としたものであり、対象物ＯＢの位置姿勢がＲ通りあるのであれば、第１の把持部３１０の把持姿勢もＲ倍となる。つまり、このままだと持ち替え動作の候補が多数見つかりすぎてしまい、その中からどれを選択するかの判定が困難となってしまう。
【０１００】
よってオフラインシミュレーションでは、種々の制約条件を加えることで条件に合致する組み合わせ数を少なくして、少数（狭義には１つ）の持ち替え動作が選択されるようにする。
【０１０１】
具体的には、上述したように持ち替え動作位置が作業台に置かれたいずれの物体よりも高い位置となるという制約条件を加えたり、第２の把持部４１０のアプローチが下方向からになるという制約条件を加える。更に、第１の把持方向と第２の把持方向が交差する方向になるという制約条件を加えてもよい。このようにすれば、条件を満たす組み合わせが少なくなるため、適切な持ち替え動作を生成可能となる。
【０１０２】
なお、本実施形態の制御部１００等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態の制御部１００等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１０３】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またロボットの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１０４】
１０  ネットワーク、２０  サーバーシステム、３０  ロボット機構、４０  記憶部、
５０  ロボット、６０  制御装置、１００  制御部、１１０  ロボット制御部、
１２０  作業シナリオ生成部、２００  胴体部、３００  第１のアーム、
３１０  第１の把持部、４００  第２のアーム、４１０  第２の把持部、
５００  撮像部、６００  頭部、ＡＰ  アプローチ点、Ｊ１  第１の関節、
Ｊ２  第２の関節、ＯＢ  対象物、Ｒ１‐ＲＮ  ロボット
【図１】
2015085459.tif 000003
【図２】
2015085459.tif 000004
【図３】
2015085459.tif 000005
【図４】
2015085459.tif 000006
【図５】
2015085459.tif 000007
【図６】
2015085459.tif 000008
【図７】
2015085459.tif 000009
【図８】
2015085459.tif 000010
【図９】
2015085459.tif 000011
【図１０】
2015085459.tif 000012
【図１１】
2015085459.tif 000013
【図１２】
2015085459.tif 000014
【図１３】
2015085459.tif 000015
【図１４】
2015085459.tif 000016
【図１５】
2015085459.tif 000017
【図１６】
2015085459.tif 000018
【図１７】
2015085459.tif 000019
【図１８】
2015085459.tif 000020
【図１９】
2015085459.tif 000021
【図２０】
2015085459.tif 000022
【図２１】
2015085459.tif 000023