"ワークを把持することが可能なハンドを備えるアームを有するロボットの制御装置であって、前記ロボットの動作を指示する情報である動作指示情報を受け付ける入力部と、前記ハンドが前記ワークを把持する際の動作パターンを記述した情報である把持パターン情報を記憶するデータベースと、前記入力部からの情報と、前記データベースからの情報に基づいて、前記ロボットの制御処理を行う処理部と、を含み、前記入力部は、前記動作指示情報として第1~第NNは2以上の整数の動作指示を受け付け、前記処理部は、前記第1~第Nの動作指示のうちの第iiは1以上N-1以下の整数の動作指示を実行可能な第iの把持パターン情報を前記データベースから読み出すとともに、前記第iの動作指示の次の動作指示である第jの動作指示を実行可能な第jの把持パターン情報を前記データベースから読み出し、前記第iの把持パターン情報と前記第jの把持パターン情報とに基づいて前記ロボットの制御処理を行うことを特徴とするロボット制御装置。請求項1において、前記処理部は、前記第iの把持パターン情報により表される第iの把持パターン群と、前記第jの把持パターン情報により表される第jの把持パターン群の中から、前記第iの動作指示及び前記第jの動作指示を順次実行可能な把持パターンの組み合わせを選択することで、前記ロボットの制御処理を行うことを特徴とするロボット制御装置。請求項1又は2において、前記第iの動作指示は、前記ワークの把持を指示する動作指示であり、前記第jの動作指示は、把持した前記ワークを移動させる動作指示及び前記ワークの姿勢を変える動作指示の少なくとも一方の動作指示であり、前記処理部は、前記第iの把持パターン情報により表される第iの把持パターン群と、前記第jの把持パターン情報により表される第jの把持パターン群のうちの一致するものを選択することで、前記第iの動作指示及び前記第jの動作指示に対応する動作を前記ロボットに行わせる制御処理を行うことを特徴とするロボット制御装置。請求項3において、把持を行う前の前記ワークの状態を第1の状態とし、移動及び姿勢変更の少なくとも一方が行われた後の前記ワークの状態を第2の状態とした場合に、前記第iの把持パターン群は、前記第1の状態の前記ワークを把持する把持パターン群であり、前記第jの把持パターン群は、前記第2の状態の前記ワークを把持する把持パターン群であり、前記処理部は、前記第iの把持パターン群と前記第jの把持パターン群のうちの一致するものを選択することで、前記第iの動作指示及び前記第jの動作指示に対応する動作を前記ロボットに行わせる制御処理を行うことを特徴とするロボット制御装置。請求項1又は2において、前記第iの動作指示は、前記ロボットの第1のハンドと第2のハンドのいずれか一方で前記ワークを把持することを指示する動作指示であり、前記第jの動作指示は、前記ワークの持ち替え動作を行い、前記第1のハンドと前記第2のハンドのうちの他方のハンドで前記ワークを把持することを指示する動作指示であり、前記処理部は、前記第iの把持パターン情報により表される第iの把持パターン群と、前記第jの把持パターン情報により表される第jの把持パターン群のうちの、前記第1のハンド及び前記第2のハンドの両方のハンドで同時に把持可能なパターンを選択することで、前記第iの動作指示及び前記第jの動作指示に対応する動作を前記ロボットの行わせる制御処理を行うことを特徴とするロボット制御装置。請求項1乃至5のいずれかにおいて、前記データベースは、前記把持パターン情報として、把持する方向と把持する面を特定するパターンの情報を記憶することを特徴とするロボット制御装置。請求項1乃至6のいずれかにおいて、前記データベースは、前記ハンドを特定する情報であるハンド特定情報及び前記前記ワークを特定する情報であるワーク特定情報を記憶し、前記処理部は、前記ハンド特定情報及び前記ワーク特定情報に基づいて前記ロボットの制御処理を行うことを特徴とするロボット制御装置。請求項7において、前記処理部は、前記ハンド特定情報及び前記ワーク特定情報と、前記動作指示情報とに基づいて、前記動作指示情報により特定される前記動作指示を実行可能な把持パターン情報を前記データベースから取得することを特徴とするロボット制御装置。請求項7又は8において、前記データベースは、前記ハンド特定情報として、ハンドサイズ情報及びハンド姿勢情報の少なくとも一方の情報を記憶し、前記ワーク特定情報として、ワークサイズ情報及びワーク姿勢情報の少なくとも一方の情報を記憶することを特徴とするロボット制御装置。請求項7乃至9のいずれかにおいて、前記データベースは、前記アームを特定する情報であるアーム特定情報を記憶し、前記処理部は、前記ハンド特定情報、前記ワーク特定情報及び前記アーム特定情報に基づいて前記ロボットの制御処理を行うことを特徴とするロボット制御装置。請求項10において、前記データベースは、前記アーム特定情報として、前記アームの長さ情報及び前記アームの回転情報の少なくとも一方の情報を記憶することを特徴とするロボット制御装置。請求項1乃至11のいずれかにおいて、前記ワークの姿勢情報を検出する姿勢情報検出部を含み、前記処理部は、前記姿勢情報に基づいて前記ロボットの制御処理を行うことを特徴とするロボット制御装置。請求項1乃至12のいずれかにおいて、前記処理部は、前記第1~第Nの動作指示に対応する動作を前記ロボットに行わせる把持パターンとして、複数の把持パターンが選択された場合に、選択された把持パターンをユーザーに提示する処理を行うことを特徴とするロボット制御装置。請求項1乃至13のいずれかに記載のロボット制御装置と、前記ワークを把持する前記ハンドを備える前記アームを有するロボットと、を含むことを特徴とするロボットシステム。ワークを把持することが可能なハンドを備えるアームを有するロボットと、前記ロボットの動作を指示する情報である動作指示情報を受け付ける入力部と、前記ハンドが前記ワークを把持する際の動作パターンを記述した情報である把持パターン情報を記憶するデータベースと、前記入力部からの情報と、前記データベースからの情報に基づいて、前記ロボットの制御処理を行う処理部と、を含み、前記入力部は、前記動作指示情報として第1~第NNは2以上の整数の動作指示を受け付け、前記処理部は、前記第1~第Nの動作指示のうちの第iiは1以上N-1以下の整数の動作指示を実行可能な第iの把持パターン情報を前記データベースから読み出すとともに、前記第iの動作指示の次の動作指示である第jの動作指示を実行可能な第jの把持パターン情報を前記データベースから読み出し、前記第iの把持パターン情報と前記第jの把持パターン情報とに基づいて前記ロボットの制御処理を行うことを特徴とするロボットシステム。特許文献1の手法では、ワークに適用可能な把持手法を提示するものの、最終的な選択はユーザーにゆだねられてしまっている。また、特許文献2の手法では、ワークを受け渡す際の持ち替えを避ける手法に限定されており、他の状況に置ける効率的な把持手法を提案するものではない。本発明の目的は、設定された作業内容に基づいてワークを把持する場合に、次の動作の障害等にならないような把持手法を決定可能なロボット制御装置及びロボットシステム等を提供することにある。本発明の一態様は、ワークを把持することが可能なハンドを備えるアームを有するロボットの制御装置であって、前記ロボットの動作を指示する情報である動作指示情報を受け付ける入力部と、前記ハンドが前記ワークを把持する際の動作パターンを記述した情報である把持パターン情報を記憶するデータベースと、前記入力部からの情報と、前記データベースからの情報に基づいて、前記ロボットの制御処理を行う処理部と、を含み、前記入力部は、前記動作指示情報として第1~第NNは2以上の整数の動作指示を受け付け、前記処理部は、前記第1~第Nの動作指示のうちの第iiは1以上N-1以下の整数の動作指示を実行可能な第iの把持パターン情報を前記データベースから読み出すとともに、前記第iの動作指示の次の動作指示である第jの動作指示を実行可能な第jの把持パターン情報を前記データベースから読み出し、前記第iの把持パターン情報と前記第jの把持パターン情報とに基づいて前記ロボットの制御処理を行うロボット制御装置に関係する。本発明の一態様では、第iの動作指示を実行可能な第iの把持パターン情報と、第jの動作指示を実行可能な第jの把持パターン情報とに基づいてロボットの制御処理を行う。よって、現状態の情報だけでなく次状態の情報を用いて制御処理を行うため、次の動作の障害等にならない把持手法を決定すること等が可能になる。また、本発明の一態様では、前記処理部は、前記第iの把持パターン情報により表される第iの把持パターン群と、前記第jの把持パターン情報により表される第jの把持パターン群の中から、前記第iの動作指示及び前記第jの動作指示を順次実行可能な把持パターンの組み合わせを選択することで、前記ロボットの制御処理を行ってもよい。これにより、把持パターン情報を用いた制御処理として、第iの動作指示と第jの動作指示を順次実行可能な把持パターンの組み合わせを選択することになるため、次の動作の障害等にならない把持手法を決定すること等が可能になる。また、本発明の一態様では、前記第iの動作指示は、前記ワークの把持を指示する動作指示であり、前記第jの動作指示は、把持した前記ワークを移動させる動作指示及び前記ワークの姿勢を変える動作指示の少なくとも一方の動作指示であり、前記処理部は、前記第iの把持パターン情報により表される第iの把持パターン群と、前記第jの把持パターン情報により表される第jの把持パターン群のうちの一致するものを選択することで、前記第iの動作指示及び前記第jの動作指示に対応する動作を前記ロボットに行わせる制御処理を行ってもよい。これにより、単腕ロボットの場合は、一致する把持パターンを選択することで、次の動作の障害等にならない把持手法を決定すること等が可能になる。また、本発明の一態様では、把持を行う前の前記ワークの状態を第1の状態とし、移動及び姿勢変更の少なくとも一方が行われた後の前記ワークの状態を第2の状態とした場合に、前記第iの把持パターン群は、前記第1の状態の前記ワークを把持する把持パターン群であり、前記第jの把持パターン群は、前記第2の状態の前記ワークを把持する把持パターン群であり、前記処理部は、前記第iの把持パターン群と前記第jの把持パターン群のうちの一致するものを選択することで、前記第iの動作指示及び前記第jの動作指示に対応する動作を前記ロボットに行わせる制御処理を行ってもよい。これにより、各把持パターン情報がどの状態のワークを把持する際の情報であるかを明確にすることが可能になる。また、本発明の一態様では、前記第iの動作指示は、前記ロボットの第1のハンドと第2のハンドのいずれか一方で前記ワークを把持することを指示する動作指示であり、前記第jの動作指示は、前記ワークの持ち替え動作を行い、前記第1のハンドと前記第2のハンドのうちの他方のハンドで前記ワークを把持することを指示する動作指示であり、前記処理部は、前記第iの把持パターン情報により表される第iの把持パターン群と、前記第jの把持パターン情報により表される第jの把持パターン群のうちの、前記第1のハンド及び前記第2のハンドの両方のハンドで同時に把持可能なパターンを選択することで、前記第iの動作指示及び前記第jの動作指示に対応する動作を前記ロボットの行わせる制御処理を行ってもよい。これにより、いわゆる双腕ロボットの場合は、2つのハンドの両方で同時に把持できる把持パターンを選択することで、次の動作の障害等にならない把持手法を決定すること等が可能になる。なお、ロボットのアームは3本以上あってもかまわない。また、本発明の一態様では、前記データベースは、前記把持パターン情報として、把持する方向と把持する面を特定するパターンの情報を記憶してもよい。これにより、把持パターン情報として把持する方向と、把持する面というシンプルな情報を記憶することができるため、処理負荷の軽減等が可能になる。また、本発明の一態様では、前記データベースは、前記ハンドを特定する情報であるハンド特定情報及び前記前記ワークを特定する情報であるワーク特定情報を記憶し、前記処理部は、前記ハンド特定情報及び前記ワーク特定情報に基づいて前記ロボットの制御処理を行ってもよい。これにより、ハンドに関する情報及びワークに関する情報を用いた制御処理が可能になる。また、本発明の一態様では、前記処理部は、前記ハンド特定情報及び前記ワーク特定情報と、前記動作指示情報とに基づいて、前記動作指示情報により特定される前記動作指示を実行可能な把持パターン情報を前記データベースから取得してもよい。これにより、ハンド特定情報、ワーク特定情報及び動作指示情報から、動作指示を実行可能な把持パターン情報を取得することが可能になる。また、本発明の一態様では、前記データベースは、前記ハンド特定情報として、ハンドサイズ情報及びハンド姿勢情報の少なくとも一方の情報を記憶し、前記ワーク特定情報として、ワークサイズ情報及びワーク姿勢情報の少なくとも一方の情報を記憶してもよい。これにより、ハンド特定情報としてハンドのサイズ情報及び姿勢情報を記憶することが可能になり、ワーク特定情報としてワークのサイズ情報及び姿勢情報を記憶することが可能になる。また、本発明の一態様では、前記データベースは、前記アームを特定する情報であるアーム特定情報を記憶し、前記処理部は、前記ハンド特定情報、前記ワーク特定情報及び前記アーム特定情報に基づいて前記ロボットの制御処理を行ってもよい。これにより、ハンドに関する情報及びワークに関する情報に加えて、アームに関する情報を用いた制御処理が可能になる。また、本発明の一態様では、前記データベースは、前記アーム特定情報として、前記アームの長さ情報及び前記アームの回転情報の少なくとも一方の情報を記憶してもよい。これにより、アーム特定情報としてアームの長さ情報及び回転情報を記憶することが可能になる。また、本発明の一態様では、前記ワークの姿勢情報を検出する姿勢情報検出部を含み、前記処理部は、前記姿勢情報に基づいて前記ロボットの制御処理を行ってもよい。これにより、ワークの姿勢情報を検出することができるため、ワークの適切な部分に対して処理を行うこと等が可能になる。また、本発明の一態様では、前記処理部は、前記第1~第Nの動作指示に対応する動作を前記ロボットに行わせる把持パターンとして、複数の把持パターンが選択された場合に、選択された把持パターンをユーザーに提示する処理を行ってもよい。これにより、選択された複数の把持パターンをユーザーに対して提示すること等が可能になる。また、本発明の他の態様は、請求項1乃至13のいずれかに記載のロボット制御装置と、前記ワークを把持する前記ハンドを備える前記アームを有するロボットと、を含むロボットシステムに関係する。また、本発明の他の態様は、ワークを把持することが可能なハンドを備えるアームを有するロボットと、前記ロボットの動作を指示する情報である動作指示情報を受け付ける入力部と、前記ハンドが前記ワークを把持する際の動作パターンを記述した情報である把持パターン情報を記憶するデータベースと、前記入力部からの情報と、前記データベースからの情報に基づいて、前記ロボットの制御処理を行う処理部と、を含み、前記入力部は、前記動作指示情報として第1~第NNは2以上の整数の動作指示を受け付け、前記処理部は、前記第1~第Nの動作指示のうちの第iiは1以上N-1以下の整数の動作指示を実行可能な第iの把持パターン情報を前記データベースから読み出すとともに、前記第iの動作指示の次の動作指示である第jの動作指示を実行可能な第jの把持パターン情報を前記データベースから読み出し、前記第iの把持パターン情報と前記第jの把持パターン情報とに基づいて前記ロボットの制御処理を行うロボットシステムに関係する。以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。1.本実施形態の手法まず本実施形態の手法について説明する。図1を用いて後述するように、本実施形態はアーム及びアームの先端に設けられるハンド把持部を有するロボットの制御装置等に関する。このような産業用ロボットでは、アーム及びハンドを操作することにより、パレット等に載せられたワーク処理の対象となる物体に対して処理を行う。処理の具体例としては、把持する、加工する、向きを変える、移動させる等が考えられる。産業用ロボットに処理を行わせる際には、一連の作業内容以下、適宜シナリオと表記するを設定する必要がある。シナリオの例としては、図6に後述するようにワークを把持してから特定の面を下にして置くという例が考えられる。その他にも、右手でワークを把持した後、左手に持ち替えて、右手でワークの特定位置に部品を取り付ける、といったシナリオが想定される。しかし、シナリオが設定されたとしてもロボットに対して効率的に処理を行わせることは容易ではない。例えば上述したシナリオ例の一部として、右手でワークを把持するという作業内容が規定された場合にも、ワークの把持手法は様々な手法が考え得るからである。例を図16A~図16Gに示す。図16Aのように横から把持してもよいし、図16Bのように上から把持してもよい。さらに、上から把持する場合にも、真ん中を把持してもよいし、左端或いは右端を把持してもよい。なお、図16E、図16Fは指ではなく手のひらのようなハンドを用いる例である。また、図16C、図16D、図16Gは床面が障害となったり、指を広げた長さがワークより短かったりすることにより、把持が不可能な例を示している。また、効率的にワークに対して処理を行うためには、これら複数通りの把持パターン特定の動作指示を実行可能なハンドの動作パターンを指すものとするの中から適切なものを選択する必要がある。つまり、シナリオに沿って第1の動作指示から第2の動作指示へ移行する場合に、第1の動作指示を実行可能な把持パターンの中には、第2の動作指示を実行するにあたって障害となってしまうものが存在しうるということである。ワークを把持した上で別の面を下にして置くシナリオを用いて具体例を示す。この例では上述したように第1の動作指示ワークを把持するに対しては把持方向横、上及び把持位置中央、左端、右端の組み合わせで複数通りの実行可能な把持パターンがある。しかし元状態において上を向いていた面を下にする例を考えると、上から把持していたのでは把持しているハンドが障害となり、次の動作指示を実行することができない。つまり、この例では、第1の動作指示を実行可能な複数の把持パターンのうち、上から把持するパターンは第2の動作指示の実行にあたって効率的な動作を妨げる要因となる。具体的には、上から把持した後、上面を下にして置く前に、他方の手で双腕ロボットを想定横或いは下から把持し直すというステップを挿入する必要が生じてしまう。これでは設定されたシナリオを変更することにもつながり好ましくない。そこで本出願人は、シナリオに従って次に動作の障害にならないような把持手法を決定する手法を提案する。上述の例で言えば、第2の動作指示を考慮した上で、当該第2の動作指示を実行する際の障害となる把持パターン上から把持するを特定する。そして、第1の動作指示を実行可能な把持パターンの全てを採用するのではなく、障害となると判定されたパターンを除いたものを採用するようにする。つまり上述の例では横から把持する把持パターンが選択される。このようにすることで、持ち替え等の動作を挿入するようなシナリオの変更を行うことなく、効率的にシナリオに従ってロボットに動作を行わせることが可能になる。以下、システム構成例を説明し、把持手法の決定手法をデータベースの構造例とフローチャートを用いて説明する。その後、具体的な手法を説明し、最後に選択された把持パターンの提示手法について説明する。2.システム構成例本実施形態に係るロボット制御装置を含むロボットシステムの構成例を図1を用いて説明する。ロボットシステムは、情報処理装置10と、撮像装置20と、ロボット30とを含む。ただし、ロボットシステムは図1の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。ロボット30は、アーム320及びハンド330を有し、情報処理装置10からの動作指示に従い処理を行う。例えばパレット40に載せられたワークに対して処理を行う。撮像装置20は、例えばワークを撮影可能な位置パレットの直上でもよいし、ロボット30のハンド330に取り付けられてもよいに設けられ、主にワークの撮影を行う。そして、撮像画像の情報からワークの位置や姿勢等に関する情報を検出する。検出した情報は例えば情報処理装置10等に送られてもよいし、直接ロボット30に送られてもよい。また、ワークの位置や姿勢等に関する情報を検出できればよいため、撮像装置20による撮像画像の取得以外の手法例えばレーザー等を用いた3次元スキャンを用いてもよい。具体的な構成について図2を用いて説明する。情報処理装置10は、記憶部110と、処理部120と、表示部150と、外部I/F部160を含む。記憶部110は、データベースを記憶したり、処理部120等のワーク領域となるもので、その機能はRAM等のメモリーやHDDハードディスクドライブなどにより実現できる。記憶部110は、ワークデータベース112以下データベースを適宜DBと表記すると、ロボットDB114とを含み、ロボットDB114は、アームDB116と、ハンドDB118を含む。当該ロボットが複数のアームを備える場合は、アームDB116とハンドDB118は複数個であってもよい。ワークDB112は、ワークの大きさ、形状、姿勢等の情報を記憶する。ロボットDB114はロボットに関するデータを記憶する。具体的にはアームDB116でアームの形状、可動範囲等を記憶し、ハンドDB118でハンドの形状、大きさ等の情報を記憶する。ただし、記憶部110は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。処理部120は、記憶部110からのデータや、外部I/F部160において受信した撮像装置或いはロボットからの情報等に基づいて種々の処理を行う。この処理部120の機能は、各種プロセッサCPU等、ASICゲートアレイ等などのハードウェアや、プログラムなどにより実現できる。処理部120は、ワーク位置演算部122と、画像処理部126と、把持パターン情報取得部128とを含む。処理部120は図2の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。ワーク位置演算部122は、ワークの位置を演算する。例えば外部I/F部160において撮像装置20から取得したデータを用いてワーク位置を演算する。画像処理部126は、撮像装置20からの撮像画像情報を取得し、種々の画像処理を行う。なお、ここでは画像処理部126は、情報処理装置10の処理部120に設けられるものとしたがこれに限定されるものではない。画像処理部は撮像装置20に内蔵されてもよい。把持パターン情報取得部128は、記憶部110のデータベースに記憶された情報に基づいて、動作指示を実行可能な把持パターン情報を取得する。具体的に取得される把持パターン群については後述する。表示部150は、各種の表示画面を表示するためのものであり、例えば液晶ディスプレイや有機ELディスプレイなどにより実現できる。外部I/F部160は、情報処理装置10に対するユーザーからの入力等を行ったり、撮像装置20やロボット30からの情報を受け付けるためのインターフェースである。ユーザーからの入力等に関しては、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。撮像装置20は、上述したように、例えばワークを撮影可能な位置に設けられ、主にワークの撮影を行う。本実施形態においては撮像画像情報をそのまま情報処理装置10に送信するものとするが、これに限定されるものではない。例えば、情報処理装置10の処理部120の一部例えば画像処理部126等を撮像装置20に持たせてもよい。その場合、撮像画像に対して画像処理が施された後の情報が出力されることになる。また、ロボット30は、アーム320及びハンド330の他に制御部310を含む。制御部310は、情報処理装置10からの情報を受け付けロボットの各部アーム320及びハンド330等の制御を行う。3.把持手法の決定手法次に、把持手法把持パターンの決定手法について説明する。具体的には、記憶部110に記憶されるデータベースのデータ構造例を示した後、フローチャートを用いて処理の流れを説明する。3.1データベース例記憶部110に記憶されるデータベースのデータ構造例について図3を用いて説明する。ここではデータベースは6つのテーブルを含むものとするが、これに限定されるものではない。例えば、ここではアームに関する情報を記載していないが、図2で説明したようにアームDBデータベース116を含んでもよい。テーブルは、図3に示したように、ハンドテーブル、ハンド状態テーブル、ワークテーブル、ワーク状態テーブル、把持パターンテーブル、実行可能把持パターンテーブルを含む。ハンドテーブルは、ハンドIDと、ハンド形状を含み、ハンドIDが主キーとなる。ハンド状態テーブルは、ハンド状態ID、ハンドID、ハンド姿勢を含み、ハンド状態IDが主キーとなる。ワークテーブルは、ワークIDと、ワーク形状を含み、ワークIDが主キーとなる。ワーク状態テーブルは、ワーク状態ID、ワークID、ワーク姿勢を含み、ワーク状態IDが主キーとなる。把持パターンテーブルは、把持パターンID、ワーク状態ID、ハンド状態IDを含み、把持パターンIDが主キーとなる。実行可能把持パターンテーブルは、実行可能把持パターンID、把持パターンID1、把持パターンID2を含み、実行可能把持パターンIDが主キーとなる。続いて各テーブルについて説明する。ハンドテーブルはハンドの大きさ、形状、可動範囲、可搬重量等に関する情報を保持するものである。ここでは簡単のため、形状情報のみとしているが、ハンドを決定した際に一意に決められる情報を追加してもよい。ハンド状態テーブルは、ハンドの状態に関する情報を保持するものである。ここでは簡単のため姿勢情報に統一しているが、姿勢をさらに細かく分類してもよい。姿勢情報の中で代表的なものが、ハンド自体の位置および向き、ならびにハンドの開閉状態である。どのハンドがどのようなハンド姿勢にあるかが、ハンド状態テーブルによりわかることになる。また、ワークテーブルはワークの大きさ形状等に関する情報を保持するものである。詳細については基本的にはハンドテーブルに準ずるが、重量や表面の摩擦係数等、当該ハンドで把持することが可能であるかを判断するための情報も必要である。本実施例では簡単のため、大きさと形状のみとする。ワーク状態テーブルは、処理対象のワークの状態に関する情報を保持するものである。どのワークがどのような姿勢で把持されているか、或いは置かれているか等がわかる。把持パターンテーブルは、ある動作指示に対応する把持パターンを規定するものである。把持パターンとは、上述したように特定の動作指示を実行可能なハンドの動作パターンを指すものであるが、ハンドの動作パターンの記述手法は種々考えられる。ここではハンドの姿勢情報により動作パターンを記述するものとして説明する。姿勢情報とは例えば、ハンドの代表位置座標と、基準姿勢からの回転角度等の情報である。或いは、図6を用いて後述するように把持方向と把持面に関する情報であってもよい。また、動作指示に対応する情報としてワーク状態情報を用いる。つまり、動作指示とは例えば、面Aを下にして置かれているワークを把持し、面Cを下にして置くといった指示であるから、動作指示が決定されれば、面Aを下に置かれている或いは面Cを下にして置かれているといったようにワークの状態が決定できることになる。以上のことから、ワーク状態IDとハンド状態IDとを結びつけることにより、把持パターンを記述することが可能になると言える。具体的にはどのハンドを用い、どのワークを、どのようなハンド姿勢及びワーク姿勢により把持できるか、という情報を保持することになる。把持パターンテーブルは、特定の動作指示具体的には動作指示に対応するワーク状態と、その動作指示を実行可能なハンド姿勢を保持するものである。よって、それだけでは次の動作を妨げないような把持パターンを選択するという本実施形態の手法は実現できない。そこで、実行可能把持パターンテーブルを用意する。実行可能把持パターンテーブルは、第iの動作指示に対応する把持パターン把持パターンID1に対応と、第iの次の動作指示である第jの動作指示に対応する把持パターン把持パターンID2に対応とを結びつけるテーブルである。把持パターンID1により決定される第iのハンド状態及びワーク状態から、把持パターンID2により決定される第jのハンド状態及びワーク状態へスムーズに移行可能な組み合わせのものが、このテーブルの要素として記憶されることになる。なお、データベースのデータ構造例がこれに限定されないのは上述したとおりである。例えば上述の例では、動作指示に関する情報をワーク状態により規定するものとしたが、動作指示テーブルを用意して独自に扱ってもよい。3.2フローチャート図4のフローチャートを用いて処理の詳細について説明する。なお、具体例として図5に示したように、場所P1にあるワークを、面Cを下にして場所P2に移動する単腕ロボットの例を用いるが、図4のフローチャートの処理はこの具体例に限定される物ではない。この処理が開始されると、まずユーザーからの入力を受け付けるS401。具体的には例えば、場所P1にあるワークを、面Cを下にして場所P2に置くといった入力が考えられる。そして、入力に応じてシナリオの作成処理を開始しS402、作成が可能であるかの判定を行うS403。シナリオは例えば、1ワークの状況を確認する2ハンドでワークを把持する3ワークの面Cを下にしてP2に置く、といったシナリオが考えられる。S403で作成が不可能であった場合には、エラーを表示して処理を終了するS410。S403でシナリオが作成可能であった場合には、単位動作に分解した上で分析しS404、動作可能かの判定を行うS405。具体的には、上述2のハンドでワークを把持する、というステップに関しては、場所P1がアームの可動範囲内であるか、ハンド及びワークの形状、大きさから考えて把持可能であるか等の判定が行われる。そして、全ての単位動作の分析が完了したかの判定が行われS411、完了していなければ次の単位動作の分析を行い、完了した場合にはS406に移行する。また、S405において、動作不可能と判定された場合には、S402に戻ってシナリオを再作成する。次に全動作の分析が行われ、動作の流れに不都合がないか確認するS406。動作可能であればS408へ移行し、不可能であればS402に戻ってシナリオを再作成する。S408では、複数の把持パターンの候補が残った場合に、提示する把持パターンの選択を行う。そして、ロボット30への命令を作成し送信するS409。なお、S405において単位動作分析の結果動作不可能とされた場合の対処例について説明する。例えば、場所P1或いはP2が遠いため、アームが届かないということであれば、双腕ロボットの場合もう一方のハンドを用いるシナリオに変更する。また、右手だけ或いは左手だけでは、P1とP2の両方に届かないという場合には、途中で持ち替えをするシナリオに変更する。ワークが大きく片手で把持できない場合には、両手のひらで挟んで持ち上げるシナリオに変更すればよい。4.具体的な手法続いて具体的な手法について説明する。ここでは6つの例について説明するが、この内容に限定されないことは言うまでもない。4.12ステップの例まず、シナリオが2ステップで実行される例として、直方体を把持し違う面を下にして置く例について図6を用いて説明する。この場合、1状態1のワークを把持する2把持したワークの向きを変え面C’を下にしておく、という2つのステップから構成されるシナリオとなる。ここでは簡単のために、ハンドの大きさに対してワークの大きさは同程度に小さいものとする。つまり、図7Aのように面A側からB-B’を把持する場合に、中央、左端及び右端のように、持つ位置を複数通り考えるようなことはしない。以上の条件では、状態1面A’を下にして置かれているで実行可能な把持パターン群は、図6に示したように面AからB-B’を把持するパターン図7A、面AからC-C’を把持するパターン、面BからC-C’を把持するパターン、面CからB-B’を把持するパターン図7B、面B’からC-C’を把持するパターン及び面C’からB-B’を把持するパターンの6通りとなる。つまり、面A’側にハンドが来てしまうようなパターンは除外される。同様に、状態2面C’を下にして置かれているで実行可能なパターンは、図6に示したように面AからB-B’を把持するパターン、面BからA-A’を把持するパターン、面A’からB-B’を把持するパターン、面B’からA-A’を把持するパターン、面CからB-B’を把持するパターン及び面CからA-A’を把持するパターンの6通りとなる。つまり、面C’側にハンドが来てしまうようなパターンは除外される。実際に採用される把持パターン群は、状態1で把持することが可能であり、かつ、状態2で把持することが可能なものである。つまり、状態1で実行可能な把持パターン群と状態2で実行可能な把持パターン群とで共通して現れるものを選択すればよいことになる。具体的には、面AからB-B’を把持するパターンと、面CからB-B’を把持するパターンになる。なお、上述したように選択可能な把持パターンが複数通り考えられるケースがある。その場合には、選択可能な把持手法をユーザーに提示しユーザーに選択させてもよいし、制御システムが選択可能な把持手法の中から任意の把持手法を選択し実行しても良い。4.23ステップの例次に、シナリオが3ステップで実行される例として、直方体を右手で把持し、左手に持ち替えて向きを変えておく例を説明する。ここでは簡単のために、ハンドの大きさに対してワークの大きさは同程度に小さいものとし、一方の手で把持している面に他方の手を入れる余裕はないものとして説明する。つまり、図7Aのように面AからB-B’を右手で把持しているときに、同時に面CからB-B’或いはA-A’を左手で把持することはできないものとする。以上の条件では、状態1で実行可能な把持パターン群は、2ステップの例と同様であり、6通りとなる。また、状態3で実行可能な把持パターン群も、2ステップの例と同様であり、図8に示した6通りとなる。ここで、状態2で実行可能な把持パターン群を考える。仮に既に右手で把持していることを考慮しないとすると、図9に示したように、把持方向となる面が6通り、各方向に対して把持面が2通りの計12通りの把持パターン群が考えられる。しかしながら上述したように、既に右手で把持しているため、右手が障害となり全てのパターンをとることはできない。具体的には、図10に示したように、右手で面AからB-B’を把持している場合には、左手ではA’からC-C’を把持する1通りしか実行可能な把持パターンは存在しない。つまり、状態1及び状態2の両方で実行可能な把持パターン群は、図8に示した6通りに限定されることになる。この6通りと状態3で実行可能な把持パターン群の6通りとの共通パターンを選択することで、効率的な3ステップ動作が可能になる。なお、共通パターンの選択は、状態1及び状態2で実行可能な把持パターンのうちの状態2に対応する部分と、状態3で実行可能な把持パターンとの比較により行うものである。例えば、状態1及び2の把持パターンの3番目B,C-C’,B’,A-A’のうちのB’,A-A’の部分と、状態3の把持パターンの4番目B’,A-A’とが共通であるということを判定する。この結果、例えば状態1では右手で面BからC-C’を把持し、状態2で面B’からA-A’に持ち替えて、状態3でそのまま面C’を下にして置くという動作を選択することになる。上述したように、一方の手から他方の手への持ち替えを行う場合には、状態1と状態2で共通の把持パターンを選択するのではなく、2つのハンドで同時に把持が可能な把持パターンを選択することになる。それに対して、一方の手で把持したままのケース例えば把持した後に違う面を下にして置く等の場合には、共通する把持パターンを選択することになる。なお、ステップ数が4以上になった場合も同様に処理可能である。その場合に、状態1の把持パターン群を取得した後、状態1を考慮した上で状態2の把持パターン群を選択し、状態2を考慮した上で状態3の把持パターン群を選択すると言ったように、状態1から順に処理してもよい。また、最後の状態を取得し、そこから逆順に後ろの状態を考慮した上で前の状態の把持パターン群を選択していってもよい。3ステップの場合においても、上述したように選択可能な把持パターンが複数通り考えられるケースがある。その場合には、選択可能な把持手法をユーザーに提示しユーザーに選択させてもよいし、制御システムが選択可能な把持手法の中から任意の把持手法を選択し実行しても良い。4.3ハンドが衝突しないための手法次に、ハンドが衝突しないための手法について図11を用いて説明する。図11に示したように、双腕ロボットでは、一方の手で把持しているワークを他方の手に持ち替える動作を行うことがある。ここで、上述の例と異なり、ハンドの大きさに比べてワークが大きいものとすると、ワークの把持位置は中央と一端、他端といったように、複数通り考えられる。つまり、複数のハンドでの持ち替えを行う場合には、次のことを考慮する必要がある。1データベースからハンドのサイズ、可動範囲、可能な動作等の情報を取得する。2データベースからワークのサイズ、可能な把持方法等の情報を取得する。3撮像装置20からの撮像画像に基づいて現在の状態情報を取得する。41~3の情報に基づいて可能な把持方法を決定する。上述の4においては、具体的には把持方向及び把持面を維持したままハンドの位置を変えることが可能であるか、その場合に他のハンドが把持する際の障害とならないか等を、ワークの形状、重心位置等の情報に基づいて検討する必要がある。このようにすることで、例えば図11に示したように、ハンド1で把持している場合には、ハンド1の近くは把持できないが、ワークの他方側は把持可能であるといった判断を行うことが可能になる。4.4アーム長による制限次に、アーム長の制限による把持パターンの限定について図12A、図12Bを用いて説明する。図12A、図12Bのように領域Aのワークを把持し、領域Bに置くという動作を考える。この場合、把持した後に加工等を行ってもよいが、ここでは特に言及しない。また、領域Bに置くときに置く向き及び位置は決まっているものとする。以上の条件では、領域Aのワークを把持する際の把持パターンは複数考えられる。このとき図12A、図12Bのような位置関係にあれば、図12Aに示したように、領域Aにおいて近距離にある点を把持することが自然である。しかしながら、その状態で領域Bに移動させようとすると、図12Aに示したように領域Bに置いたときのロボットの設置位置からの距離が遠くなってしまう。場合によっては、ロボット30のアーム320の長さの限界からワークを規定の向きに置くことが不可能になってしまうことも考えられる。そのため、領域Aでの把持においては不利に感じられる図12Bのような点を把持する。そうすることで、領域Bにおいて結果として近い位置を把持することになり、アーム長の制約を受けずに動作を行うことが可能になる。つまり、実行可能な把持パターン群を制限する要素として、ワーク及びハンド330だけでなく、アーム320についても考慮する必要がある。つまり、本実施形態の手法によれば、ある状態における把持パターンとしては一見不合理に思える手法でワークを把持することが可能になる。上述の例で言えば領域Aのワークを把持するにあたり、ロボットから遠い位置を把持することができる。通常、次状態を考慮しない手法においては、現状態において適切と思われる把持パターンを選択することが想定される。そのため、複数通りの把持パターンが選択可能である場合に、例えばロボットのアーム或いはハンドの移動距離や回転角度が小さくなる把持パターンを優先的に選択する選択の優先度は移動距離等から決定する手法に限定されるものではない。逆に言えば、従来の手法では現状態において不合理に思える把持パターンを選択することは困難である。そのため、図12Bに示した把持パターンを選択することができず、結果として図12Aに示したように、次状態におけるハンドアームが不自然な形になる場合によっては実現不可能になる。つまり、従来の手法では局所的な最適解は得られるものの、前後の流れを考慮するとそれが最適でないというケースが多々あり得た。本実施形態の手法では、局所的な最適解にとらわれることなく、前後の流れの中での最適な把持パターンを選択することになるため、その点で従来手法に比べ優位であると言える。4.5アームの回転による制限次に、アームの回転による制限について説明する。図13に示したように、アーム320の座標系を設定し、図13の状態を0°、矢印の方向を正方向の回転とし、アーム320の回転角度を-180°~180°であるとする。そして、図14A~図14Cに示したように、直方体のワークを面CからA-A’を把持して、アームの向きから見て時計回りに正方向に180°回転させる動作を考える。この場合、初期状態のワークを把持するためには、アーム320を90°或いは-90°回転させてから把持する必要がある。しかし、90°回転させて把持した場合には、そこから90°回転させたところで限界値に達してしまい、プラス方向に180°回転させることは不可能になってしまう。そのため、初期状態での把持方法は2通り考えられたとしても、アーム320の回転角度の制約から-90°回転させて把持する必要がある。このように、アーム320による制約には、アーム長の制約の他に回転角度も考慮する必要があることがわかる。本実施形態の手法によれば、現状態だけ考慮した場合に同じ優先度となる把持パターン群に対して、異なる優先度を割り振ることが可能になると言える。上述の例で言えば、初期状態だけを考慮した場合、把持パターンは90°も-90°もアームの回転角としては90°であり、回転角度の大きさ等の基準で判定しても、どちらがより適切かは決定できない。しかし、本実施形態の手法により、次状態も考慮することにより、-90°の方が90°よりも適切であると明確に決定することができる。4.6ハンド自身による制限また、ハンド自身が障害となるケースもある。例えば図15Aに示したように、後の工程で上面を加工するという場合に、上から把持したのではハンドが障害となり加工ができない。そのような場合には横面から把持する。また、図15Bに示したように、ワーク1の穴に棒状の部品ワーク2を差し込む場合には、ワーク2の中央部を把持したのではハンド自体がワーク1にあたってしまい差し込むことができない。そのような場合にはワーク2の端部を把持する。この場合も、上述したように現状態だけを考慮した場合には一見不合理に思える手法を選択することが可能になっていると言える。図15Aの場合、上面から把持する場合に比べて、横面から把持する場合には重心の位置との関係から、バランスが悪くなり把持する力を大きくしなくてはならない。従来手法ではそのような把持パターンを敢えて選択することは困難であったが、本実施形態の手法ではそれが可能となる。また、図15Bでも、端部の把持は重心から離れた位置を把持することになり、同様に把持する力を大きくする必要があるため、このような把持パターンを採用するためには本実施形態の手法を用いる必要がある。5.提示手法上述した把持パターン群の選択手法では、最終的に複数の把持パターンが選択される可能性がある。そのような場合には、例えばアーム320の動作に基づいて最適なものを選択する手法が考えられる。具体的には、動きが少なくて済むように近い位置を把持するパターン、或いは関節の動く角度が少ないパターンを選択する。或いは、アームに無駄な力がかからない姿勢や、動作精度の高い姿勢を用いるパターンを選択してもよい。また、結果として動作可能な把持パターンがなかったときには、例えばユーザーにエラーを返す。その上で、持ち替えを増やす、別の手で把持する等、シナリオの変更を提案してもよい。また、その際のシナリオ変更はユーザーに通知後、自動的に行われてもよい。以上の本実施形態では、ロボット制御装置は、図2に示したように、動作指示情報を受け付ける入力部外部I/F部160と、把持パターン情報を記憶するデータベース記憶部110と、入力部からの情報とデータベースからの情報に基づいてロボット30の制御処理を行う処理部120を含む。入力部は動作指示情報として一連の第1~第Nの動作指示を受け付ける。処理部120は第1~第Nの動作指示のうちの第iの動作指示を実行可能な第iの把持パターン情報把持パターン情報群をデータベースから読み出すとともに、第iの動作指示の次の動作指示である第jの動作指示を実行可能な第jの把持パターン情報をデータベースから読み出す。そして、処理部120は第iの把持パターン情報と第jの把持パターン情報とに基づいて制御処理を行う。ここで、動作指示情報とは、ロボット30の動作を指示する情報のことであり、例えば場所P1にあるワークを把持し、面Cを下にして場所P2に置くといった指示が考えられる。動作指示情報は上述したように一連の第1~第Nの動作指示に分解されてもよい。上述の例で言えば1ワークの置かれた状況を確認する2ハンドでワークを把持する3ワークの面Cを下にして場所P2に置く、といった3つの動作指示になる。また、把持パターン情報とは、ハンド330がワークを把持する際の動作パターンを記述した情報である。例えば図6に示したように面AからB-B’を把持するといった具体的な把持パターンを表す情報であってもよいし、把持パターンに準ずる情報であってもよい。なお、特定の動作指示が与えられた場合に、実行可能な把持パターンが複数考えられることがある。よって、動作指示から決定される把持パターンに関する情報を把持パターン情報と呼ぶことにする。図6の例で言えば、表にある6通りの把持パターンを表す情報が把持パターン情報である。把持パターン情報により特定される把持パターンは、1通りであってもよいし、複数通り把持パターン群であってもよい。これにより、動作指示情報特に一連の動作指示の流れ、つまりはシナリオが与えられた場合に、単位動作ごとに実行可能な把持パターン情報を取得した上で、現状態の把持パターン情報と、次状態の把持パターン情報とに基づいて制御処理を行うことが可能になる。よって、現在の状態だけでなく、次状態も考慮した上で制御処理が行われるため、次の動作の障害とならないような把持手法を決定することができる。また、処理部120は、第iの把持パターン情報により表される第iの把持パターン群と、第jの把持パターン情報により表される第jの把持パターン群の中から、第iの動作指示及び第jの動作指示を順次実行するための把持パターンの組み合わせを選択することで、ロボット30の制御処理を行ってもよい。これにより、第iの把持パターン情報と第jの把持パターン情報とに基づく制御処理の具体的な手法として、第iの把持パターン群と第jの把持パターン群の中から、第iと第jの動作指示を順次実行可能な把持パターンの組み合わせの選択を行うことが可能になる。具体的には後述するように、第iの把持パターン群と第jの把持パターン群の中から一致するものを選択することが考えられる。このようにすることで、現状態の動作を実行した上で次状態の動作を実行することができる把持パターンの組み合わせを選択することになるため、現状態の動作指示及び次状態の動作指示をスムーズに実行可能な把持手法を決定することができる。また、第iの動作指示がワークの把持を指示する動作指示であり、第jの動作指示が把持したワークを移動させる動作指示及び把持したワークの姿勢を変える動作指示の少なくとも一方の動作指示であってもよい。このとき、処理部120は第iの把持パターン群と第jの把持パターン群のうちの一致するものを選択することで、ロボットの制御処理を行ってもよい。ここで、一致するものを選択するとは図6の例で言えば、状態1の表の6通りと状態2の表の6通りで把持方向と把持面の両方が一致するものを選択することになる。具体的には、面AからB-B’を把持する把持パターンと、面CからB-B’を把持する把持パターンが選択される。これにより、単腕での効率的な把持手法を決定することが可能になる。単腕で処理を行うとは、具体的には上述したように1つのハンドで把持し、当該ハンドで把持したまま移動や姿勢変更等を行う場合に相当する移動または姿勢変更後、リリース動作を行ってワークを置いてもよいし、置かなくてもよい。ロボットは手の中でワークを持ち替える動作を行えないため、ワークを一度把持した場合、把持面や把持方向を変更することができない。つまり、単腕ロボットで一度把持動作を行ったら、リリース動作を挟まない限り同一の把持位置のまま作業が行われる。ここではこの特性に鑑みれば、単腕での作業指示が続く場合には、現状態と次状態で同一の把持パターンが続くことを考慮して、第iの把持パターン群と第jの把持パターン群のうちの一致するものを選択することとしている。また、把持を行う前のワークの状態を第1の状態とし、移動および姿勢変更の少なくとも一方が行われた後のワークの状態を第2の状態とする。この場合、第iの把持パターン群は、第1の状態にあるワークを把持する把持パターンであり、第jの把持パターン群は第2の状態にあるワークを把持する把持パターンであってもよい。そして、処理部120は第iの把持パターン群と第jの把持パターン群のうちの一致するものを選択することで制御処理を行う。これにより、第iの把持パターン群と第jの把持パターン群を明確化することが可能になる。例えば、置いてあるワークを把持し、別の面を下にして置くシナリオでは、把持した後ワークを回転させてからリリース動作を行う。よって、特に第jの把持パターン群が、どの状態のワークを把持する把持パターンを指すのか回転前なのか回転後なのか、不明確となる可能性があった。ここでは、第iの動作指示と第jの動作指示が行われた場合には、第iの動作指示が行われる前、及び、第jの動作指示が行われた後を基準にワークの状態を決定し、決定した状態のワークを把持するパターンを把持パターンとして選択する。また、第iの動作指示が第1のハンドと第2のハンドのいずれか一方のハンドでワークの把持を指示する動作指示であり、第jの動作指示が持ち替え動作を行い第1のハンドと第2のハンドのうちの他方のハンドでワークを把持することを指示する動作指示であってもよい。このとき、処理部120は第iの把持パターン群と第jの把持パターン群のうちの、前記第1のハンドと第2のハンドの両方のハンドで同時に把持可能なパターンを選択することで、ロボットの制御処理を行ってもよい。これにより、双腕での効率的な把持手法を決定することが可能になる。双腕で処理を行うとは、具体的には上述したように一方のハンドで把持していたワークを他方のハンドに持ち替える動作が考えられる。どちらのハンドもワークを把持していない状態があると、ワークが落下することになるため、そのような状況は考えにくい。そのため、持ち替え動作を行うには第1のハンドと第2のハンドの両方で同時に把持動作が行われている必要がある。よってそのような動作が可能なパターンを選択することで、持ち替え動作等をスムーズに行う把持パターンを決定することができる。具体的には、図10で示したような把持パターンが考えられる。また、データベースは把持パターン情報として把持する方向と、把持する面を特定するパターンの情報を記憶してもよい。これにより、把持パターンの具体例として、図6の表に示したようなデータを用いることが可能になる。ここでは複数の指を有し、指でワークを挟んで把持するロボットを想定している。この場合、把持する方向どの面から把持するか及び把持する面指が接触する面を決定することで把持パターンを記述することができる。2つの要素で把持パターンを記述できるため、データ構造及び処理をシンプルなものにすることが可能になる。また、データベースはハンドを特定する情報であるハンド特定情報と、ワークを特定する情報であるワーク特定情報を記憶してもよい。そして、処理部120はハンド特定情報及びワーク特定情報に基づいてロボット30の制御処理を行う。ここで、ハンド特定情報とは、ハンドのサイズ情報及びハンドの姿勢情報の少なくとも一方の情報であり、ワーク特定情報とは、ワークのサイズ情報及びワークの姿勢情報の少なくとも一方の情報である。これにより、ハンドに関する情報及びワークに関する情報を用いてロボット30の制御処理を行うことが可能になる。なお、ハンド特定情報をハンドのサイズ情報及び姿勢情報の少なくとも一方としたが、サイズ情報は大きさそのものの情報の他に形状に関する情報を含んでもよいし、姿勢情報もさらに複数の角度情報等に細分化されてもよい。ワーク特定情報も同様である。また、ハンド特定情報及びワーク特定情報は、サイズ情報及び姿勢情報以外の情報を含んでもよい。これらの情報は例えば図1のハンドDB118、ワークDB112等に記憶される。また、処理部120はハンド特定情報及びワーク特定情報と、動作指示情報とに基づいて、動作指示情報により特定される動作指示を実行可能な把持パターン情報をデータベースから取得してもよい。これにより、ハンドに関する情報とワークに関する情報、及び、動作指示情報に基づいてデータベースから把持パターン情報を取得することが可能になる。つまり、どのようなハンドを用い、どのようなワークに対して、どのような動作を行うか、という情報が決まれば、可能な把持パターン情報を決定できることになる。また、データベースはアーム320を特定する情報であるアーム特定情報を記憶してもよい。そして、処理部120はハンド特定情報、ワーク特定情報及びアーム特定情報に基づいてロボット30の制御処理を行う。ここで、アーム特定情報とは、アームの長さ情報及びアームの回転情報の少なくとも一方の情報である。これにより、ハンドに関する情報、ワークに関する情報に加えて、アームに関する情報を用いてロボット30の制御処理を行うことが可能になる。例えば図12A、図12Bに示したように、アームの長さによる制約により効率的な把持手法が限定される例や、図14A~図14Cに示したように、アームの回転可能範囲による制約により効率的な把持手法が限定される例に対処することができる。なお、アーム特定情報はアームに関する情報であり、把持パターン情報の決定に関わる要素を含むことができ、長さ情報及び回転情報に限定されるものではない。また、ワークの姿勢を検出する姿勢検出部例えば撮像装置20からの情報を処理する画像処理部126等を含んでもよい。そして処理部120は、ワークの姿勢情報に基づいてロボット30の制御処理を行う。これにより、ワークの姿勢情報を用いた制御処理が可能になる。図1に示したように例えばパレット40に載せられたワークに対して処理を行うことが考えられるが、その場合にもワークが一定の向きに置かれているとは限らない。ロボット30はワークの特定の位置に対して処理を行うことが想定される以上、ワークの姿勢情報を検出し、ワークの適切な部分に対して処理を行うことは非常に有用である。また、処理部120は第1~第Nの動作指示に対応する動作をロボット30に行わせる把持パターンとして、複数の把持パターンが選択された場合には、選択された把持パターンを提示する処理を行ってもよい。これにより、適切な把持パターンとして複数の把持パターンが残った場合にも、ユーザーに対して提示することが可能になる。具体的には、動きが少なくて済むように近い位置を把持するパターン、或いは関節の動く角度が少ないパターン、アームに無駄な力がかからない姿勢や、動作精度の高い姿勢を用いるパターンを選択することが考えられる。また、本実施形態は上述のロボット制御装置と、ハンドを備えるアームを有するロボットとを含むロボットシステムに関係する。これにより、上述してきたロボット制御装置がロボット30を制御することにより、連係して動作を行うロボットシステムを実現することが可能になる。なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またロボット制御装置及びロボットシステム等の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。"