(57)【要約】  【課題】ワークが様々な位置及び姿勢を取り得る作業を行うロボットの設置位置を決定する。  【解決手段】ロボットの設置位置決定装置は、搬送作業前後のワークの位置及び姿勢を特定する作業条件ごとに、当該作業条件に従ってワークを把持かつ解放できるロボットの把持手段のワークに対する姿勢である把持方式を特定する。また、作業条件ごとに、当該作業条件に対応する把持方式でワークを把持かつ解放できるロボットの設置領域を特定する。そして、特定した各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できるロボットの設置領域を特定し、当該特定した設置領域の中からロボットの設置位置を特定する。【選択図】図１
2013132707.tif 000002
【特許請求の範囲】
【請求項１】
把持手段によりワークの搬送作業を行うロボットの設置位置を決定する設置位置決定装置であって、
搬送作業前後のワークの位置及び姿勢を特定する作業条件を複数取得する取得手段と、
前記取得手段により取得された作業条件ごとに、搬送作業前の位置及び姿勢のワークを把持でき、かつ、搬送作業後の位置及び姿勢でワークを解放できる前記把持手段の前記ワークに対する姿勢を示す把持方式を一つ特定する、把持方式特定手段と、
前記取得手段により取得された作業条件ごとに、当該作業条件について前記把持方式特定手段により特定された前記把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する設置領域特定手段と、
前記設置領域特定手段により特定された各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域を特定し、当該特定した設置領域の中から前記ロボットの設置位置を特定する設置位置特定手段と、を備える、
ことを特徴とする設置位置決定装置。
【請求項２】
請求項１に記載の設置位置決定装置であって、
前記取得手段により取得される前記複数の作業条件は、互いに、搬送作業前のワークの位置及び姿勢の少なくとも一方が異なる、
ことを特徴とする設置位置決定装置。
【請求項３】
請求項１又は２に設置位置決定装置であって、
前記取得手段により取得される前記複数の作業条件は、互いに、搬送作業後のワークの位置及び姿勢の少なくとも一方が異なる、
ことを特徴とする設置位置決定装置。
【請求項４】
請求項１〜３のいずれか一項に記載の設置位置決定装置であって、
把持方式特定手段は、前記取得手段により取得された作業条件ごとに、複数の把持方式を特定し、
前記設置領域特定手段は、前記取得手段により取得された作業条件ごとに、当該作業条件について前記把持方式特定手段により特定された把持方式ごとに、当該把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する、
ことを特徴とする設置位置決定装置。
【請求項５】
請求項１〜４のいずれか一項に記載の設置位置決定装置であって、
前記設置位置特定部は、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域に含まれる設置位置ごとに、前記全ての作業条件における搬送作業及び対応する把持方式に基づく把持解放作業にかかる作業時間を求め、求めた作業時間に基づいて設置位置を特定する、
ことを特徴とする設置位置決定装置。
【請求項６】
請求項５に記載の設置位置決定装置であって、
前記設置位置特定部は、前記求めた作業時間の平均値を求め、平均値が所定の基準を満たす設置位置を特定する、
ことを特徴とする設置位置決定装置。
【請求項７】
コンピューターが、把持手段によりワークの搬送作業を行うロボットの設置位置を決定する設置位置決定方法であって、
搬送作業前後のワークの位置及び姿勢を特定する作業条件を複数取得する取得ステップと、
前記取得ステップにより取得された作業条件ごとに、搬送作業前の位置及び姿勢のワークを把持でき、かつ、搬送作業後の位置及び姿勢でワークを解放できる前記把持手段の前記ワークに対する姿勢を示す把持方式を一つ特定する、把持方式特定ステップと、
前記取得ステップにより取得された作業条件ごとに、当該作業条件について前記把持方式特定ステップにより特定された前記把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する設置領域特定ステップと、
前記設置領域特定ステップにより特定された各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域を特定し、当該特定した設置領域の中から前記ロボットの設置位置を特定する設置位置特定ステップと、を含む、
ことを特徴とする設置位置決定方法。
【請求項８】
コンピューターを、把持手段によりワークの搬送作業を行うロボットの設置位置を決定する設置位置決定装置として機能させるプログラムであって、
搬送作業前後のワークの位置及び姿勢を特定する作業条件を複数取得する取得手段と、
前記取得手段により取得された作業条件ごとに、搬送作業前の位置及び姿勢のワークを把持でき、かつ、搬送作業後の位置及び姿勢でワークを解放できる前記把持手段の前記ワークに対する姿勢を示す把持方式を一つ特定する、把持方式特定手段と、
前記取得手段により取得された作業条件ごとに、当該作業条件について前記把持方式特定手段により特定された前記把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する設置領域特定手段と、
前記設置領域特定手段により特定された各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域を特定し、当該特定した設置領域の中から前記ロボットの設置位置を特定する設置位置特定手段として、前記コンピューターを機能させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット設置位置決定装置、及びロボット設置位置決定方法に関する。
【背景技術】
【０００２】
製造ラインなどにおいては、例えば、作業対象物（以下、「ワーク」ともいう）を把持して、組み立てや搬送等の作業を行うロボットが使用されている。
【０００３】
また、ロボットの動作のシミュレーションをオフラインで行う装置が知られている。オフラインシミュレーション装置を使用することにより、例えば、目的の作業がロボットの動作範囲で実行可能であるかどうか、目的の作業を行うときにロボットが周辺機器などと干渉しないかどうか、などを検証することができる。この検証結果は、ロボットの最適な設置位置を決定するために用いることができる。
【０００４】
一方で、実際にロボットを設置した場合には、実際の現場の状況とオフラインシミュレーションとの誤差などにより、不都合が起きることがある。このような問題に関して、ロボットの最適な配置位置とともにロボットの動作余裕を表す指標を算出するオフラインシミュレーション装置が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２２０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、組み立てや搬送などの作業において、ワークの位置及び姿勢が予め決まっている場合（例えば、所定の位置及び姿勢のワークを把持して、所定の位置及び姿勢で解放する搬送作業）には、ロボットの設置位置を簡単に決定することができる。
【０００７】
しかしながら、ワークの位置及び姿勢が決まっていない作業も多くある。例えば、ロボットが把持すべきワークが、整頓されていない状態で積まれているあるいは置かれている場合などである。このようにワークがランダムに置かれている場合、個々のワークの取り得る位置及び姿勢は、それぞれ異なり、一つではない。このような作業では、ワークの取り得る様々なワークの位置及び姿勢を考慮しないと、ロボットの最適な設置位置を決めることは難しい。また、ワークの取り得る様々なワークの位置及び姿勢を考慮しないと、ロボットが作業に失敗するおそれもある。
【０００８】
そこで、本発明は、ワークが様々な位置及び姿勢を取り得る作業を行うロボットの設置位置を決定することを目的とする。
【課題を解決するための手段】
【０００９】
本願は、上記課題を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。
【００１０】
上記の課題を解決するための本発明の一態様は、把持手段によりワークの搬送作業を行うロボットの設置位置を決定する設置位置決定装置であって、搬送作業前後のワークの位置及び姿勢を特定して作業条件を複数取得する取得手段と、前記取得手段により取得された作業条件ごとに、搬送作業前の位置及び姿勢のワークを把持でき、かつ、搬送作業後の位置及び姿勢でワークを解放できる前記把持手段の前記ワークに対する姿勢を示す把持方式を一つ特定する、把持方式特定手段と、前記取得手段により取得された作業条件ごとに、当該作業条件について前記把持方式特定手段により特定された前記把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する設置領域特定手段と、前記設置領域特定手段により特定された各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域を特定し、当該特定した設置領域の中から前記ロボットの設置位置を特定する設置位置特定手段と、を備える、ことを特徴とする。
【００１１】
上記の構成によれば、ロボットが把持するときにワークが様々な位置及び姿勢を取り得る作業であっても、最適なロボットの設置位置を決定することができる。
【００１２】
ここで、前記取得手段により取得される前記複数の作業条件は、互いに、搬送作業前のワークの位置及び姿勢の少なくとも一方が異なる、ようにしてもよい。
【００１３】
上記の構成によれば、搬送作業前のワークが取り得る様々な位置及び姿勢を考慮して、最適なロボットの設置位置を決定することができる。
【００１４】
また、前記取得手段により取得される前記複数の作業条件は、互いに、搬送作業後のワークの位置及び姿勢の少なくとも一方が異なる、ようにしてもよい。
【００１５】
上記の構成によれば、搬送作業後のワークが取り得る様々な位置及び姿勢を考慮して、最適なロボットの設置位置を決定することができる。
【００１６】
また、把持方式特定手段は、前記取得手段により取得された作業条件ごとに、複数の把持方式を特定し、前記設置領域特定手段は、前記取得手段により取得された作業条件ごとに、当該作業条件について前記把持方式特定手段により特定された把持方式ごとに、当該把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する、ようにしてもよい。
【００１７】
上記の構成によれば、ワークに対して取り得る様々な把持方式を考慮して、最適なロボットの設置位置を決定することができる。
【００１８】
また、前記設置位置特定部は、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域に含まれる設置位置ごとに、前記全ての作業条件における搬送作業及び対応する把持方式に基づく把持解放作業にかかる作業時間を求め、求めた作業時間に基づいて設置位置を特定する、ようにしてもよい。
【００１９】
上記の構成によれば、各設置位置で各作業にかかる作業時間に基づいて最適なロボットの設置位置を決定することができる。
【００２０】
また、前記設置位置特定部は、前記求めた作業時間の平均値を求め、平均値が所定の基準を満たす設置位置を特定する、ようにしてもよい。
【００２１】
上記の構成によれば、各設置位置で各作業にかかる作業時間の平均値に基づいて最適なロボットの設置位置を決定することができる。
【００２２】
上記の課題を解決するための本発明の他の態様は、コンピューターが、把持手段によりワークの搬送作業を行うロボットの設置位置を決定する設置位置決定方法であって、搬送作業前後のワークの位置及び姿勢を特定して作業条件を複数取得する取得ステップと、前記取得ステップにより取得された作業条件ごとに、搬送作業前の位置及び姿勢のワークを把持でき、かつ、搬送作業後の位置及び姿勢でワークを解放できる前記把持手段の前記ワークに対する姿勢を示す把持方式を一つ特定する、把持方式特定ステップと、前記取得ステップにより取得された作業条件ごとに、当該作業条件について前記把持方式特定ステップにより特定された前記把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する設置領域特定ステップと、前記設置領域特定ステップにより特定された各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域を特定し、当該特定した設置領域の中から前記ロボットの設置位置を特定する設置位置特定ステップと、を含む、ことを特徴とする。
【００２３】
上記の構成によれば、ロボットが把持するときにワークが様々な位置及び姿勢を取り得る作業であっても、最適なロボットの設置位置を決定することができる。
【００２４】
上記の課題を解決するための本発明のさらに他の態様は、コンピューターを、把持手段によりワークの搬送作業を行うロボットの設置位置を決定する設置位置決定装置として機能させるプログラムであって、搬送作業前後のワークの位置及び姿勢を特定して作業条件を複数取得する取得手段と、前記取得手段により取得された作業条件ごとに、搬送作業前の位置及び姿勢のワークを把持でき、かつ、搬送作業後の位置及び姿勢でワークを解放できる前記把持手段の前記ワークに対する姿勢を示す把持方式を一つ特定する、把持方式特定手段と、前記取得手段により取得された作業条件ごとに、当該作業条件について前記把持方式特定手段により特定された前記把持方式で前記ワークを把持かつ解放できる前記ロボットの設置領域を特定する設置領域特定手段と、前記設置領域特定手段により特定された各作業条件の設置領域に基づいて、前記作業条件の全てについて、作業条件のそれぞれに対応する前記把持方式を実行できる前記ロボットの設置領域を特定し、当該特定した設置領域の中から前記ロボットの設置位置を特定する設置位置特定手段として、前記コンピューターを機能させる、ことを特徴とする。
【００２５】
上記の構成によれば、ロボットが把持するときにワークが様々な位置及び姿勢を取り得る作業であっても、最適なロボットの設置位置を決定することができる。
【００２６】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態に係る作業の一例を説明する図である。
【図２】設置位置決定装置の機能構成の一例を示すブロック図である。
【図３】作業台のモデルの一例を説明する図である。
【図４】ワークのモデルの一例を説明する図である。
【図５】ハンドのモデルの一例を説明する図である。
【図６】ワークに対するハンドの把持方式の一例を説明する図である。
【図７】把持方式情報の一例を示す図である。
【図８】作業条件情報の一例を示す図である。
【図９】作業条件と把持方式の関係の一例を説明する図である。
【図１０】作業項目情報の一例を示す図である。
【図１１】設置位置範囲及び設置位置の決定手順の一例を説明する図である。
【図１２】作業項目生成処理の一例を示すフロー図である。
【図１３】ロボット設置位置特定処理の一例を示すフロー図である。
【発明を実施するための形態】
【００２８】
以下、本発明の一実施形態の一例について、図面を参照して説明する。
【００２９】
図１は、本発明の一実施形態に係る作業の一例を説明する図である。図１（Ａ）は、ロボットの作業を、床と平行な方向から見た図である。図１（Ｂ）は、ロボットの作業を、床と垂直な方向から見た図である。
【００３０】
本実施形態では、把持ロボット１が、整頓されていない状態で作業台５Ｓに置かれた一つ以上のワーク６を、作業台５Ｄに搬送する作業を例に挙げて説明する。すなわち、把持ロボット１は、作業台５Ｓに置かれたワーク６を把持して、ワーク６を把持しているハンド２を作業台５Ｄ付近に移動させてから、ハンド２で把持しているワーク６を作業台５Ｄに解放する。
【００３１】
各ワーク６は、様々な異なる位置及び姿勢でランダムに作業台５Ｓに置かれるものとする。作業台５Ｓの各ワーク６は、他のワークと干渉（接触）したり、重なったりしていてもよい。一方、各ワーク６は、整列されて、所定の位置及び姿勢で作業台５Ｄに置かれるものとする。作業台５Ｄの各ワーク６は、他のワークと干渉（接触）したり、重なったりしていてもよい。
【００３２】
もちろん、上記の作業の内容は、一例であり、これに限られない。
【００３３】
把持ロボット１は、ハンド２と、複数のジョイント（関節）３と、複数のリンク４とを含むアームを備える。各ジョイント３は、リンク４同士や、本体部とリンク４、ハンド２とリンク４を、回動自在に（ただし、所定の可動範囲内で回動可能に）連結している。各ジョイント３は、例えば、回転ジョイントであり、リンク４間の角度を変化させたり、リンク４を軸回転させたりできるように設けられている。従って、各ジョイント３を連動させて駆動することにより、ハンド２を自在に（ただし、所定の可動範囲内で）移動させることができるとともに、自由な方向へ向けることもできる。本図の例では、アームは、６つのジョイントを備えた６軸アームとなっている。
【００３４】
ハンド２は、例えば、２本以上の指を備え、これらを曲げたり移動させたりすることによりワーク６を挟んで把持する。もちろん、ハンド２の構成は、ワーク６を把持できれば特に限定されない。
【００３５】
もちろん、上記の把持ロボット１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。ハンドにより把持対象物を把持できれば、どのような構造であってもよい。また、一般的な把持ロボットが備える構成を排除するものではない。
【００３６】
例えば、図１では６軸のアームが示されているが、軸数（ジョイント数）をさらに増加させてもよいし減らしてもよい。リンクの数を増減させてもよい。また、アーム、ハンド、リンク、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
【００３７】
図２は、設置位置決定装置の機能構成の一例を示すブロック図である。
【００３８】
設置位置決定装置１０は、ワーク６の位置及び姿勢が異なる複数の作業を同一の設置位置で実現する把持ロボット１の設置位置を決定する装置である。すなわち、設置位置決定装置１０は、シミュレーションを行って把持ロボット１の設置位置を決定するシミュレーション装置とも呼ぶことができる。
【００３９】
設置位置決定装置１０は、作業項目生成部１１と、把持方式判定部１２と、設置領域特定部１３と、設置位置特定部１４と、入力部１５と、出力部１６と、通信部１７と、記憶部１９と、を有する。
【００４０】
なお、設置位置決定装置１０は、例えば、ＣＰＵと、ＲＡＭなどの主メモリーと、ＨＤＤ（Hard Disk Drive）などの補助記憶装置と、ディスプレイと、マウスやキーボードなどの入力装置と、ネットワークインターフェイス（Ｉ／Ｆ）などの通信装置と、を備える一般的なコンピューターにより実現することができる。
【００４１】
そして、作業項目生成部１１と、把持方式判定部１２と、設置領域特定部１３と、設置位置特定部１４とは、例えば、ＣＰＵがＨＤＤに格納された所定のプログラムをＲＡＭに読み出して実行することにより実現される。また、入力部１５は、例えば、入力装置により実現される。出力部１６は、例えば、ディスプレイにより実現される。通信部１７は、例えば、ネットワークＩ／Ｆにより実現される。また、記憶部１９は、例えば、ＲＡＭやＨＤＤなどにより実現される。
【００４２】
記憶部１９には、作業領域情報１９１と、ワーク情報１９２と、ハンド情報１９３と、把持方式情報１９４と、作業条件情報１９５と、作業項目情報１９６と、設置領域情報１９７と、設置位置情報１９８とが格納される。
【００４３】
作業領域情報１９１は、把持ロボット１が作業を行う作業領域の形状、サイズ、位置、及び姿勢を特定する情報である。作業領域情報１９１は、例えば、図３に示すような、作業台５（５Ｓ、５Ｄ）の形状、サイズ、位置、及び姿勢を、ＣＡＤなどの３次元モデルで表した情報である。姿勢は、例えば、作業台５のある面に設定したある法線ベクトル（方向Ａ）と当該法線ベクトルに直交するベクトル（方向Ｂ）とが、任意の基準座標系においてとる方向により定義することができる。作業領域情報１９１は、把持ロボット１の周辺機器など、作業領域に存在する各種物体の領域を特定する情報を含んでいてもよい。
【００４４】
なお、作業領域情報１９１は、例えば、通信部１７や入力部１５などを介して設置位置決定装置１０に予め与えられ（すなわち、設置位置決定装置１０が取得する）、記憶部１９に記憶される。カメラなどを用いて撮影した作業領域のデータに基づいて、設置位置決定装置１０が生成するようにしてよい。
【００４５】
ワーク情報１９２は、ワーク６の形状及びサイズを特定する情報である。ワーク情報１９２は、例えば、図４に示すような、ワーク６の形状及びサイズを、ＣＡＤなどの３次元モデルで表した情報である。姿勢の情報を含んでいてもよい。
【００４６】
なお、ワーク情報１９２は、例えば、通信部１７や入力部１５などを介して設置位置決定装置１０に予め与えられ、記憶部１９に記憶される。作業領域に対するワーク６の位置及び姿勢は、後述する作業条件として与えられる。
【００４７】
ハンド情報１９３は、ハンド２の形状及びサイズを特定する情報である。ハンド情報１９３は、例えば、図５に示すような、ハンド２の形状及びサイズを、ＣＡＤなどの３次元モデルで表した情報である。姿勢の情報を含んでいてもよい。
【００４８】
なお、ハンド情報１９３は、例えば、通信部１７や入力部１５などを介して設置位置決定装置１０に予め与えられ、記憶部１９に記憶される。
【００４９】
把持方式情報１９４は、把持方式を特定する情報である。本実施形態では、把持方式とは、ハンド２がワーク６を把持するときに取り得る、ワーク６に対する相対的なハンド２の位置及び姿勢（姿勢のみでもよい）をいう。ワーク６がどこにも置かれていない状態に対して定義される。なお、以下では、ハンド２がワーク６を把持するときの把持方式と、解放するときの解放方式は、搬送前後でワークの位置及び姿勢が変わっても、同じであるものとする。
【００５０】
例えば、図６に示すように、ワーク６に対するハンド２の把持方式は、３次元モデルで表され、ワーク６を構成する６面のうち対向する２面の組ごとに、一つずつ定義することができる。もちろん、本図は、把持方式の一例を示しているのであり、より多くまたはより少ない数の把持方式を定義してもよい。
【００５１】
把持方式情報１９４は、例えば、図７に示すように、把持方式ごとに、把持方式を識別する把持方式ＩＤ１９４１と、把持方式１９４２とを対応付けた情報を含む。なお、把持方式１９４２は、例えば、ワーク６を基準とした場合の、ワーク６に対する相対的なハンド２の位置及び姿勢（姿勢のみでもよい）を示す情報である。もちろん、把持方式情報１９４の構成は、これに限られない。
【００５２】
なお、把持方式情報１９４は、例えば、通信部１７や入力部１５などを介して設置位置決定装置１０に予め与えられ、記憶部１９に記憶される。もちろん、設置位置決定装置１０が、ワーク情報１９２とハンド情報１９３とに基づいて、生成するようにしてもよい。
【００５３】
作業条件情報１９５は、作業条件（作業内容）を特定する情報である。本実施形態では、対象の作業は、作業台５Ｓから作業台５Ｄへのワーク６の搬送である。この場合の作業条件は、例えば、ワーク６の作業前（搬送前）の位置及び姿勢（すなわち、作業台５Ｓに置かれた状態の位置及び姿勢）と、ワーク６の作業後（搬送後）の位置及び姿勢（すなわち、作業台５Ｄに置かれた状態の位置及び姿勢）との組み合わせにより、定義される。なお、本実施形態では、位置及び姿勢の少なくともいずれか一方が異なれば、異なる位置及び姿勢として扱う。
【００５４】
上述のように本実施形態では、ワーク６はランダムに作業台５Ｓに置かれるため、ワーク６について、作業前の位置及び姿勢が一つ以上存在する。また、ワーク６は複数の所定の位置及び姿勢のうちいずれかで作業台５Ｄに置かれるため、ワーク６について、作業後の位置及び姿勢が一つ以上存在する。従って、異なる作業前の位置及び姿勢のそれぞれと、異なる作業後の位置及び姿勢のそれぞれの組み合わせごとに、作業条件を定義することができる。また、作業としては、ワーク６を解放する位置及び姿勢が一つの場合も想定できるので、作業後の位置及び姿勢は、一つだけ定義するようにしてもよい。
【００５５】
作業条件情報１９５は、例えば、図８に示すように、作業条件ごとに、作業条件を識別する作業条件ＩＤ１９５１と、作業条件１９５２とを対応付けた情報を含む。なお、図中では、ワークＷの作業前の位置（Ｐｓ）及び姿勢（Ａｓ）を、Ｗ（Ｐｓ、Ａｓ）と表し、ワークＷの作業後の位置（Ｐｄ）及び姿勢（Ａｄ）を、Ｗ（Ｐｄ、Ａｄ）と表している。もちろん、作業条件情報１９５の構成は、これに限られない。
【００５６】
なお、作業条件情報１９５は、例えば、通信部１７や入力部１５などを介して設置位置決定装置１０に予め与えられ、記憶部１９に記憶される。作業台５上で取り得るワークの位置及び姿勢などの作業条件の内容は、ユーザーが決定して作成してもよいし、所定のプログラムなどを用いて自動生成してもよい。
【００５７】
作業項目情報１９６は、作業項目を特定する情報である。本実施形態では、作業項目とは、作業条件と、当該作業条件に従ってワーク６を搬送可能な把持方式とを特定する情報である。ここで、作業条件に従ってワーク６を搬送可能な把持方式について、図９を参照して説明する。図９は、作業条件と把持方式の関係の一例を説明する図である。
【００５８】
図９（Ａ）は、ワーク６を、姿勢を同じに保ったまま作業台５Ｓから作業台５Ｄに移動作業（作業条件）を示している。ここで、ワーク６を上方から左右で挟むようにハンド２で把持する把持方式を採用したとした場合、ハンド２は、作業台５Ｓに干渉せずにワーク６を把持可能であり、かつ、作業台５Ｄに干渉せずにワーク６を解放可能である。すなわち、図９（Ａ）の把持方式は、図９（Ａ）の作業条件に従ってワーク６を搬送可能である。
【００５９】
図９（Ｂ）は、図９（Ａ）と同じ作業（作業条件）である。ここで、ワーク６を左方向から上下に挟むようにハンド２で把持する把持方式を採用したとした場合、ハンド２は、作業台５Ｓに干渉してしまい、ワーク６を把持不可能である。すなわち、図９（Ｂ）の把持方式は、図９（Ｂ）の作業条件に従ってワーク６を搬送不可能である。
【００６０】
図９（Ｃ）は、ワーク６を、姿勢を変えて作業台５Ｓから作業台５Ｄに移動作業（作業条件）を示している。ここで、ワーク６を左方向から手前側と奥側とで挟むようにハンド２で把持する把持方式を採用したとした場合、ハンド２は、作業台５Ｓに干渉せずにワーク６を把持可能であり、かつ、作業台５Ｄに干渉せずにワーク６の姿勢を変えて解放可能である。すなわち、図９（Ｃ）の把持方式は、図９（Ｃ）の作業条件に従ってワーク６を搬送可能である。
【００６１】
図９（Ｄ）は、図９（Ｃ）と同じ作業（作業条件）である。ここで、ワーク６を上方から左右に挟むようにハンド２で把持する把持方式を採用したとした場合、ハンド２は、作業台５Ｓと干渉せずにワーク６を把持可能であるが、ワーク６の姿勢を変えると作業台５Ｄに干渉してしまい、ワーク６を解放不可能である。すなわち、図９（Ｃ）の把持方式は、図９（Ｃ）の作業条件に従ってワーク６を搬送不可能である。
【００６２】
作業項目情報１９６は、例えば、図１０に示すように、作業項目ごとに、作業項目を識別する作業ＩＤ１９６１と、作業条件ＩＤ１９６２と、把持方式ＩＤ１９６３とを対応付けた情報を含む。もちろん、作業項目情報１９６は、の構成は、これに限られない。
【００６３】
なお、後述するように、作業項目情報１９６は、作業項目生成部１１により生成される。
【００６４】
設置領域情報１９７は、作業項目ごとに、当該作業項目に従ってワーク６の把持及び解放を可能な、把持ロボット１の設置領域を特定する情報である。例えば、図１１（Ａ）又は（Ｂ）に示すように、作業Ａ又は作業Ｂにおいて、作業台５Ｓの周囲のロボット設置領域７は、把持ロボット１が、作業項目で指定された作業条件及び把持方式に従って、把持ロボット１の可動範囲内で、ワーク６を把持可能な領域である。また、作業台５Ｄの周囲のロボット設置領域７は、把持ロボット１が、作業項目で指定された作業条件及び把持方式に従って、把持ロボット１の可動範囲内で、ワーク６を解放可能な領域である。そして、これら二つの設置領域の重なり部分８Ａ又は８Ｂが、ワーク６を把持及び解放可能な把持ロボット１の設置領域である。
【００６５】
なお、後述するように、設置領域情報１９７は、設置領域特定部１３により生成される。
【００６６】
設置位置情報１９８は、全ての作業項目を実現可能な、把持ロボット１の設置位置を特定する情報である。例えば、図１１（Ｃ）に示すように、作業Ａの重なり部分８Ａと作業Ｂの重なり部分８Ｂとが重なる部分８Ｃが、全ての作業項目に従ってワーク６の把持及び解放を可能な領域である。そして、この重なり部分８Ｃの中から選択した位置が設置位置である。
【００６７】
なお、後述するように、設置位置情報１９８は、設置位置特定部１４により生成される。
【００６８】
作業項目生成部１１は、作業項目情報１９６を生成する機能部である。作業項目生成部１１は、作業条件情報１９５に含まれる作業条件ごとに、当該作業条件に従ってワーク６を把持及び解放可能な把持方式を把持方式判定部１２により特定し、当該作業条件と特定した把持方式とを対応付けた作業項目を生成する。なお、一つの作業条件について、複数の把持方式が存在してもよい。
【００６９】
把持方式判定部１２は、作業条件について、当該作業条件に従ってワーク６を把持及び解放可能な把持方式を特定する機能部である。
【００７０】
例えば、把持方式判定部１２は、作業項目生成部１１により指定された作業条件について、当該作業条件で指定される位置及び姿勢のワーク６（作業台５Ｓ上のワーク６）を、ハンド２が何にも干渉せずに（例えば、作業台５や周辺機器などの周辺領域に接触せずに）把持可能であり、かつ、当該作業条件で指定される位置及び姿勢のワーク６（作業台５Ｄ上のワーク６）を、ハンド２が何にも干渉せずに解放可能である把持方式を、把持方式情報１９４の中から特定する（図９参照）。把持方式は、作業条件ごとに一つだけ特定するようにしてもよいし、二つ以上を特定するようにしてもよい。
【００７１】
設置領域特定部１３は、設置領域情報１９７を生成する機能部である。設置領域特定部１３は、作業項目情報１９６に含まれる作業項目ごとに、当該作業項目で指定された作業条件及び把持方式に従って、把持ロボット１の可動範囲内で、ワーク６を把持及び解放可能な、把持ロボット１の設置領域を特定する。なお、把持ロボット１を構成する各部の位置や姿勢の制御に必要な演算式、動作範囲、形状や姿勢など、把持ロボット１の動作のシミュレーションに必要な情報は、予め与えられるものとする。
【００７２】
例えば、設置領域特定部１３は、作業項目の作業条件で指定される位置及び姿勢のワーク６（作業台５Ｓ上のワーク６）を、当該作業項目で指定される把持方式でハンド２により把持する場合に取り得るアームの各軸の設定値を求める。また、求めた各軸の設定値を取るときのアームの姿勢及び形状を求め、このときの把持ロボット１の位置を求める。通常、各軸の設定値は複数パターン求められるので、各パターンに対応する把持ロボット１の位置の集合を、ワーク６を把持するための設置領域として特定する。各軸の設定値の算出や設置位置の算出には、例えば、逆運動学（Inverse Kinematics）などを用いればよい。
【００７３】
同様に、設置領域特定部１３は、作業項目の作業条件で指定される位置及び姿勢のワーク６（作業台５Ｄ上のワーク６）を、当該作業項目で指定される把持方式でハンド２により解放する場合に取り得るアームの各軸の設定値を求める。また、求めた各軸の設定値を取るときのアームの姿勢及び形状を求め、このときの把持ロボット１の位置を求める。通常、各軸の設定値は複数パターン求められるので、各パターンに対応する把持ロボット１の位置の集合を、ワーク６を解放するための設置領域として特定する。
【００７４】
それから、設置領域特定部１３は、上記のようにして求めたワーク６を把持するための設置領域と、ワーク６を解放するための設置領域との重なり部分を特定する（図１１参照）。設置領域特定部１３は、作業項目と、特定した重なり部分を示す情報とを対応付けて、設置領域情報を生成する。
【００７５】
設置位置特定部１４は、設置位置情報１９８を生成する機能部である。設置位置特定部１４は、全ての作業項目の設置領域情報を用いて、それらの設置領域の重なり部分を特定する。また、特定した重なり部分に含まれる設置位置の中から、所定の基準に従って一つ以上の設置位置を特定する。
【００７６】
作業項目が複数ある場合は、例えば、設置位置ごとに、各作業項目の開始から完了までにかかる作業時間（例えば、ワーク６を把持してから解放するまでにかかる時間）の平均を算出し、平均作業時間が最短の設置位置を選択すればよい。なお、作業項目が一つである場合は、例えば、設置位置ごとに、当該作業項目の開始から完了までにかかる作業時間を算出し、作業時間が最短の設置位置を選択すればよい。また、「最短」に限られず、例えば、ユーザーの指定する条件（例えば、所定の時間範囲内）であってもよい。
【００７７】
もちろん、設置位置の特定手順は、上記に限られない。例えば、設置領域情報が特定された作業項目の中に、同じ作業条件について把持方式が異なる複数の作業項目がある場合には、設置位置特定部１４は、当該作業条件について、開始から完了までにかかる時間（例えば、ワーク６を把持してから解放するまでにかかる時間）が最短の作業項目を一つ選択する。それから、設置位置特定部１４は、全ての作業項目（作業条件ごとに一つの作業項目が選択されている）の設置領域情報を用いて、それらの設置領域の重なり部分を特定する。このようにすれば重なり部分を特定する演算量を減らすことができる。もちろん、「最短」に限られず、例えば、ユーザーの指定する条件（例えば、所定の時間範囲内）であってもよい。
【００７８】
上記の機能構成は、設置位置決定装置１０の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。設置位置決定装置１０の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００７９】
次に、上記の設置位置決定装置１０により実現される処理について説明する。
【００８０】
図１２は、作業項目生成処理の一例を示すフロー図である。本フローは、例えば、設置位置決定装置１０に対するユーザーの指示により開始される。
【００８１】
本フローが開始されると、作業項目生成部１１は、作業条件情報１９５の中から未選択の作業条件を一つ選択する（Ｓ（ステップ）１００）。それから、作業項目生成部１１は、把持方式情報１９４の中から未選択の把持方式を一つ選択する（Ｓ１１０）。
【００８２】
それから、把持方式判定部１２は、作業条件に従ってワークを把持可能か否か判定する（Ｓ１２０）。具体的には、把持方式判定部１２は、Ｓ１００で選択された作業条件で指定される位置及び姿勢のワーク６（作業台５Ｓ上のワーク６）を、ハンド２が、Ｓ１１０で選択された把持方式で、何にも干渉せずに把持できるか否かを判定する。
【００８３】
把持可能である場合（Ｓ１２０：ＹＥＳ）、把持方式判定部１２は、作業条件に従ってワークを解放可能か否か判定する（Ｓ１３０）。具体的には、把持方式判定部１２は、Ｓ１００で選択された作業条件で指定される位置及び姿勢のワーク６（作業台５Ｄ上のワーク６）を、ハンド２が、Ｓ１１０で選択された把持方式で、何にも干渉せずに解放できるか否かを判定する。
【００８４】
解放可能である場合（Ｓ１３０：ＹＥＳ）、作業項目生成部１１は、Ｓ１００で選択した作業条件の作業条件ＩＤと、Ｓ１１０で選択した把持方式の把持方式ＩＤとを対応付けた情報を生成し、作業項目情報１９６に記憶する（Ｓ１４０）。
【００８５】
把持不可能である場合（Ｓ１２０：ＮＯ）、解放不可能である場合（Ｓ１３０：ＮＯ）、又は、作業項目を生成した場合（Ｓ１４０）、作業項目生成部１１は、把持方式情報１９４の中から全ての把持方式を選択したか否かを判定する（Ｓ１５０）。全ての把持方式を選択していない場合（Ｓ１５０：ＮＯ）、処理をＳ１１０に戻す。
【００８６】
全ての把持方式を選択した場合（Ｓ１５０：ＹＥＳ）、作業項目生成部１１は、作業条件情報１９５の中から全ての作業条件を選択したか否かを判定する（Ｓ１６０）。全ての作業条件を選択していない場合（Ｓ１６０：ＮＯ）、処理をＳ１００に戻す。全ての作業条件を選択した場合（Ｓ１６０：ＹＥＳ）、作業項目生成部１１は、本フローを終了する。
【００８７】
以上のようにして、作業条件ごとに、把持方式が特定され、作業条件と把持方式を対応付けた作業項目が生成される。
【００８８】
図１３は、ロボット設置位置特定処理の一例を示すフロー図である。本フローは、例えば、図１２のフローに続けて実行される。また、例えば、設置位置決定装置１０に対するユーザーの指示により開始される。
【００８９】
本フローが開始されると、設置領域特定部１３は、作業項目情報１９６の中から未選択の作業項目を一つ選択する（Ｓ２００）。
【００９０】
それから、設置領域特定部１３は、作業項目に従ってワークを把持可能なロボット設置領域を特定する（Ｓ２１０）。具体的には、設置領域特定部１３は、Ｓ２００で選択された作業項目の作業条件で指定される位置及び姿勢のワーク６（作業台５Ｓ上のワーク６）を、当該作業項目で指定される把持方式でハンド２により把持する場合に取り得るアームの各軸の設定値を求める。また、求めた各軸の設定値を取るときのアームの姿勢及び形状を求め、このときの把持ロボット１の位置を求める。また、求めた位置の集合を、ワーク６を把持するための設置領域として特定する。
【００９１】
それから、設置領域特定部１３は、作業項目に従ってワークを解放可能なロボット設置領域を特定する（Ｓ２２０）。具体的には、設置領域特定部１３は、Ｓ２００で選択された作業項目の作業条件で指定される位置及び姿勢のワーク６（作業台５Ｄ上のワーク６）を、当該作業項目で指定される把持方式でハンド２により解放する場合に取り得るアームの各軸の設定値を求める。また、求めた各軸の設定値を取るときのアームの姿勢及び形状を求め、このときの把持ロボット１の位置を求める。また、求めた位置の集合を、ワーク６を解放するための設置領域として特定する。
【００９２】
そして、設置領域特定部１３は、把持及び解放を可能なロボット設置領域を特定する（Ｓ２３０）。具体的には、設置領域特定部１３は、Ｓ２１０で特定したワーク６を把持するための設置領域と、Ｓ２２０で特定したワーク６を解放するための設置領域との重なり部分を特定する。また、Ｓ２００で選択した作業項目と、特定した重なり部分を示す情報とを対応付けて、設置領域情報１９７に記録する。なお、重なり部分が存在しない場合は、当該作業項目は実行できないので、設置領域情報に記録を行わなければよい。この場合、当該作業項目が実行できない旨を記録したり、ユーザーに通知したりしてもよい。
【００９３】
それから、設置領域特定部１３は、作業項目情報１９６の中から全ての作業項目を選択したか否かを判定する（Ｓ２４０）。全ての作業項目を選択していない場合（Ｓ２４０：ＮＯ）、処理をＳ２００に戻す。
【００９４】
全ての作業項目が選択された場合（Ｓ２４０：ＹＥＳ）、設置位置特定部１４は、全ての作業項目を実現するロボット設置位置を特定する。具体的には、設置位置特定部１４は、設置領域情報１９７に記録されている全ての作業項目について、それらの設置領域の重なり部分を特定する。また、特定した重なり部分に含まれる設置位置の中から、所定の基準に従って一つ以上の設置位置を特定する。作業項目が複数ある場合は、例えば、設置位置ごとに、各作業項目の開始から完了までにかかる作業時間（例えば、ワーク６を把持してから解放するまでにかかる時間）の平均を算出し、平均作業時間が最短の設置位置を選択する。なお、作業項目が一つである場合は、例えば、設置位置ごとに、当該作業項目の開始から完了までにかかる作業時間を算出し、作業時間が最短の設置位置を選択すればよい。設置位置を特定して、設置位置特定部１４は、本フローを終了する。
【００９５】
以上のようにして、全ての作業項目を実現する把持ロボット１の設置位置が特定される。なお、ロボットは、決定された設置位置に人間の手で設置することができる。ロボットが自走できる場合には、ロボットに設置位置を与えることで、ロボットが自分でその設置位置に移動すればよい。
【００９６】
なお、上述の図１２及び図１３のフローの各処理単位は、把持ロボット１の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。把持ロボット１の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【００９７】
以上、本発明の一実施形態の一例について説明した。本実施形態によれば、ワークが様々な位置及び姿勢を取り得る作業を行うロボットの設置位置を決定することができる。
【００９８】
例えば、本実施形態では、ワークを搬送する作業について、ロボットが把持するときのワークの位置及び姿勢の少なくとも一方が異なれば（変化すれば）、別の作業として扱う。また、作業ごとに、取り得る把持方式が一つ特定される。そして、作業ごとに、当該作業に対応する把持方式を実現するロボットの設置領域が特定される。それから、全ての作業を実現するロボットの設置領域が特定される。このような構成により、ロボットが把持するときにワークが様々な位置及び姿勢を取り得る作業であっても、最適なロボットの設置位置を決定することができる。
【００９９】
また、例えば、本実施形態では、ロボットが解放するときのワークの位置及び姿勢の少なくとも一方が異なれば（変化すれば）、別の作業として扱うことができる。このような構成により、より多くの作業パターンを考慮して、最適なロボットの設置位置を決定することができる。
【０１００】
また、例えば、本実施形態では、作業ごとに、取り得る把持方式が特定されるが、取り得る把持方式を複数特定する場合には、把持方式ごとに別の作業として扱う。このような構成により、より多くの作業パターンを考慮して、最適なロボットの設置位置を決定することができる。
【０１０１】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【０１０２】
本発明は、ワークを指で挟んで把持するロボットに限られず、例えば、吸引、磁石などによる接着、引っかける、刺すなどの手段でワークを持つ（把持する）ロボットにも適用できる。
【符号の説明】
【０１０３】
１：把持ロボット、２：ハンド、３：ジョイント、４：リンク、５（５Ｄ、５Ｓ）：作業台、６：ワーク、７：ロボット設置領域、８（８Ａ、８Ｂ、８Ｃ）：重なり部分、１０：設置位置決定装置、１１：作業項目生成部、１２：把持方式判定部、１３：設置領域特定部、１４：設置位置特定部、１５：入力部、１６：出力部、１７：通信部、１９：記憶部、１９１：作業領域情報、１９２：ワーク情報、１９３：ハンド情報、１９４：把持方式情報、１９５：作業条件情報、１９６：作業項目情報、１９７：設置領域情報、１９８：設置位置情報、１９４１：把持方式ＩＤ、１９４２：把持方式、１９５１：作業条件ＩＤ、１９５２：作業条件、１９６１：作業ＩＤ、１９６２：作業条件ＩＤ、１９６３：把持方式ＩＤ
【図１】
2013132707.tif 000003
【図２】
2013132707.tif 000004
【図３】
2013132707.tif 000005
【図４】
2013132707.tif 000006
【図５】
2013132707.tif 000007
【図６】
2013132707.tif 000008
【図７】
2013132707.tif 000009
【図８】
2013132707.tif 000010
【図９】
2013132707.tif 000011
【図１０】
2013132707.tif 000012
【図１１】
2013132707.tif 000013
【図１２】
2013132707.tif 000014
【図１３】
2013132707.tif 000015