(57)【要約】【課題】  ロボットへの教示作業をより簡単にするロボット、ロボットの制御方法、プログラム及び経路作成装置の提供。【解決手段】  ロボットは、ロボットの経路の決定処理を行う経路決定部１１０と、決定されたロボットの経路に基づいて、ロボットを制御するロボット制御部１３０と、を含む。そして、経路決定部１１０は、ロボットの目標位置姿勢を取得し、目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、ロボットのエンドポイントが中継位置姿勢から目標位置姿勢まで移動する経路の決定処理を行う。【選択図】  図１
2015037818.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの経路の決定処理を行う経路決定部と、
決定された前記ロボットの前記経路に基づいて、前記ロボットを制御するロボット制御部と、
を含み、
前記経路決定部は、
前記ロボットの目標位置姿勢を取得し、前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する前記経路の前記決定処理を行うことを特徴とするロボット。
【請求項２】
請求項１において、
前記経路決定部は、
ロボットのアームの第１の関節角〜第ｋ（ｋは１＜ｋ＜Ｎの整数で、ＮはＮ≧３の整数）の関節角の少なくとも一つの関節角を変化させ、前記第ｋの関節よりも前記エンドポイント側に設けられた関節の関節角を固定して、前記経路の前記決定処理を行うことを特徴とするロボット。
【請求項３】
請求項２において、
前記経路決定部は、
前記第１の関節角〜前記第ｋの関節角のうち、前記第ｉ（ｉは、２≦ｉ≦ｋの整数）の関節角を第１の優先度で変化させ、前記第（ｉ−１）の関節角を前記第１の優先度よりも低い第２の優先度で変化させて、前記経路の前記決定処理を行うことを特徴とするロボット。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記経路決定部は、
ロボットのアームの第１の関節角〜第７の関節角のうち、前記第１の関節角〜前記第４の関節角の少なくとも一つの関節角を変化させ、第４の関節よりも前記エンドポイント側に設けられた第５の関節〜第７の関節の関節角を固定して、前記経路の前記決定処理を行うことを特徴とするロボット。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記経路決定部は、
教示される前記目標位置姿勢に基づいて、前記中継位置姿勢を求め、現在位置姿勢から前記中継位置姿勢までの経路と、前記中継位置姿勢から前記目標位置姿勢までの経路の前記決定処理を行うことを特徴とするロボット。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記目標位置姿勢の入力を受け付ける入力受付部を含むことを特徴とするロボット。
【請求項７】
ロボットの目標位置姿勢を取得し、
前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する経路の決定処理を行い、
決定された前記ロボットの前記経路に基づいて、前記ロボットを制御することを特徴とするロボットの制御方法。
【請求項８】
目標位置姿勢におけるワークの把持方向に直交する平面内の円弧軌道で、ロボットのエンドポイントを中継位置姿勢から前記目標位置姿勢へ移動させる制御と、前記エンドポイントの移動後に前記ワークを把持する制御と、を行うことを特徴とするロボットの制御方法。
【請求項９】
ロボットの経路の決定処理を行う経路決定部と、
決定された前記ロボットの前記経路に基づいて、前記ロボットを制御するロボット制御部として、
コンピューターを機能させ、
前記経路決定部は、
前記ロボットの目標位置姿勢を取得し、前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する前記経路の前記決定処理を行うことを特徴とするプログラム。
【請求項１０】
ロボットの目標位置姿勢の入力を受け付ける入力受付部と、
前記ロボットの経路の決定処理を行う経路決定部と、
を含み、
前記経路決定部は、
取得された前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する前記経路の前記決定処理を行うことを特徴とする経路作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボットの制御方法、プログラム及び経路作成装置等に関係する。
【背景技術】
【０００２】
作業用ロボットを使用した製造ラインにおける加工組立作業において、ロボットアームを動作させる際には、ロボットの専門知識を有するエンジニア（専門家）によって、各作業モーションにおけるロボットのエンドポイントの目標位置姿勢を細かく教示することが必要である。この作業は、ロボットを用いる作業者にとって大きな負担となっている。
【０００３】
そのため、教示作業を行うエンジニアへの負担軽減を目的とした発明が、例えば特許文献１などにおいて開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１０４７５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットの専門知識を有するエンジニアによる教示作業の負担軽減を目的とした発明は、特許文献１の他にも開示されているが、これらの発明はエンジニアの介在が前提であり、ロボットに関する専門知識を有さないノンエキスパートが教示作業を行うことは困難であった。
【０００６】
本発明の幾つかの態様によれば、ロボットへの教示作業をより簡単にするロボット、ロボットの制御方法、プログラム及び経路作成装置等を提供することができる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、ロボットの経路の決定処理を行う経路決定部と、決定された前記ロボットの前記経路に基づいて、前記ロボットを制御するロボット制御部と、を含み、前記経路決定部は、前記ロボットの目標位置姿勢を取得し、前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する前記経路の前記決定処理を行うロボットに関係する。
【０００８】
本発明の一態様では、取得されたロボットの目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、ロボットのエンドポイントが中継位置姿勢から目標位置姿勢まで移動する経路の決定処理を行い、ロボットを制御する。
【０００９】
これにより、ロボットへの教示作業をより簡単にすることが可能となる。
【００１０】
また、本発明の一態様では、前記経路決定部は、ロボットのアームの第１の関節角〜第ｋ（ｋは１＜ｋ＜Ｎの整数で、ＮはＮ≧３の整数）の関節角の少なくとも一つの関節角を変化させ、前記第ｋの関節よりも前記エンドポイント側に設けられた関節の関節角を固定して、前記経路の前記決定処理を行ってもよい。
【００１１】
これにより、目標位置姿勢に到達可能な複数の経路の中から求める経路を絞り込むこと等が可能になる。
【００１２】
また、本発明の一態様では、前記経路決定部は、前記第１の関節角〜前記第ｋの関節角のうち、前記第ｉ（ｉは、２≦ｉ≦ｋの整数）の関節角を第１の優先度で変化させ、前記第（ｉ−１）の関節角を前記第１の優先度よりも低い第２の優先度で変化させて、前記経路の前記決定処理を行ってもよい。
【００１３】
これにより、第ｋの関節を最優先に動かし、第ｋの関節から見てアームの付け根側にある関節を、第ｋの関節からの距離順に優先度を付けて動かす経路を決定すること等が可能になる。
【００１４】
また、本発明の一態様では、第１の関節角〜第７の関節角を有し、前記経路決定部は、ロボットのアームの第１の関節角〜第７の関節角のうち、前記第１の関節角〜前記第４の関節角の少なくとも一つの関節角を変化させ、第４の関節よりも前記エンドポイント側に設けられた第５の関節〜第７の関節の関節角を固定して、前記経路の前記決定処理を行ってもよい。
【００１５】
これにより、肘関節と、肘関節から見てアームの付け根側に設けられた関節のうち、いずれかの関節のみを動かして目標位置姿勢に到達可能な経路を決定すること等が可能になる。
【００１６】
また、本発明の一態様では、前記経路決定部は、教示される前記目標位置姿勢に基づいて、前記中継位置姿勢を求め、現在位置姿勢から前記中継位置姿勢までの経路と、前記中継位置姿勢から前記目標位置姿勢までの経路の前記決定処理を行ってもよい。
【００１７】
これにより、現在のロボットのエンドポイントの位置姿勢に関わらず、中継位置姿勢から目標位置姿勢まで同じ経路で、ロボットのエンドポイントを移動させること等が可能になる。
【００１８】
また、本発明の一態様では、前記目標位置姿勢の入力を受け付ける入力受付部を含んでもよい。
【００１９】
これにより、目標位置姿勢の入力をロボットへの教示作業として行うこと等が可能になる。
【００２０】
また、本発明の他の態様では、ロボットの目標位置姿勢を取得し、前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する経路の決定処理を行い、決定された前記ロボットの前記経路に基づいて、前記ロボットを制御するロボットの制御方法に関係する。
【００２１】
また、本発明の他の態様では、目標位置姿勢におけるワークの把持方向に直交する平面内の円弧軌道で、ロボットのエンドポイントを中継位置姿勢から前記目標位置姿勢へ移動させる制御と、前記エンドポイントの移動後に前記ワークを把持する制御と、を行うことを特徴とするロボットの制御方法に関係する。
【００２２】
また、本発明の他の態様では、ロボットの経路の決定処理を行う経路決定部と、決定された前記ロボットの前記経路に基づいて、前記ロボットを制御するロボット制御部として、コンピューターを機能させ、前記経路決定部は、前記ロボットの目標位置姿勢を取得し、前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する前記経路の前記決定処理を行うプログラムに関係する。
【００２３】
また、本発明の他の態様では、ロボットの目標位置姿勢の入力を受け付ける入力受付部と、前記ロボットの経路の決定処理を行う経路決定部と、を含み、前記経路決定部は、前記ロボットの目標位置姿勢を取得し、前記目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、前記ロボットのエンドポイントが中継位置姿勢から前記目標位置姿勢まで移動する前記経路の前記決定処理を行う経路作成装置に関係する。
【図面の簡単な説明】
【００２４】
【図１】本実施形態のシステム構成例。
【図２】他の実施形態のシステム構成例。
【図３】図３（Ａ）、図３（Ｂ）は、ロボットの具体例。
【図４】本実施形態のロボットの７軸のアームの構成図。
【図５】図５（Ａ）、図５（Ｂ）は、ワークの把持方向又は解放方向の説明図。
【図６】目標位置姿勢へ円弧軌道を描いて移動する経路の説明図。
【図７】目標位置姿勢へ移動する他の経路の説明図。
【図８】回動させる関節の優先度の説明図。
【図９】２つの関節を回動させ目標位置姿勢へ円弧軌道を描いて移動する経路の説明図。
【図１０】本実施形態の処理の流れを説明するフローチャート。
【図１１】目標位置姿勢候補が複数ある場合の処理の流れを説明するフローチャート。
【発明を実施するための形態】
【００２５】
以下、本実施形態について説明する。まず、本実施形態の概要を説明し、次に本実施形態のシステム構成例について説明する。そして、本実施形態の手法について具体例を交えつつ詳細に説明し、最後に、フローチャートを用いて本実施形態の処理の流れについて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２６】
１．概要
作業用ロボットを使用した製造ラインにおける加工組立作業において、リンク及びジョイント機構からなるロボットアームを動作させる際には、ロボットの制御方法や、ロボット機構を熟知したエンジニア（専門家）によって、各作業モーションにおけるロボットアームの目標位置姿勢を細かく教示することが必要であった。すなわち、一つの作業モーションにおける最終的な目標位置姿勢だけでなく、最終的な目標位置姿勢に至るまでの途中の位置姿勢（経路）も教示する必要がある。
【００２７】
また、現在のロボットのエンドポイントの位置姿勢が異なる場合には、目標位置姿勢に至るまでの経路も変わってしまう。人間は同じ作業内容であっても状況が違えば、臨機応変に動きを変えて作業を完遂することができるが、ロボットは状況が違っても毎回決められた動作をするだけである。よって、人間へ作業内容を指示する場合と異なり、ロボットへの教示作業は、指示した作業の前後のロボットの状態を考慮した上で行う必要がある。
【００２８】
そのため、この作業は膨大であり、ロボットを用いる作業者にとって大きな負担となっている。
【００２９】
ここで、前述した特許文献１では、撮像装置と、各モーションにおけるロボットアームの位置及び姿勢を決定付けるための専用補助具を用いて、ロボットアームの動作シーケンス教示作業を軽減させる発明が開示されている。
【００３０】
このように、ロボットの専門知識を有するエンジニアによる教示作業の負担軽減を目的とした発明は、特許文献１の他にも開示されているが、これらの発明はエンジニアの介在が前提であり、ロボットに関する専門知識を有さないノンエキスパートが教示作業を行うことは困難であった。
【００３１】
そこで、本実施形態では、ノンエキスパートでも教示作業を行えるように、ロボットの教示作業の簡易化を図る。具体的に本実施形態では、ワークの把持動作又は解放動作を行う際に、目標の位置及び姿勢の情報に基づいて、ロボットの準備モーション及び完了モーションを自動的に算出して、ロボットを動作させる。詳しくは後述する。
【００３２】
これにより、作業者がロボット機構等を熟知していない場合であっても、作業者がワークの把持時又は解放時のロボットのエンドポイントの位置及び姿勢を教示するだけで、ロボットが所望の動作を遂行するための教示作業を行うことが可能となる。
【００３３】
２．システム構成例
次に、図１に本実施形態のロボット制御システム１００、ロボット機構２００及びこれらを含むロボットの構成例を示す。
【００３４】
ロボット制御システム１００は、経路決定部１１０と、ロボット制御部１３０と、入力受付部１５０と、を含む。また、ロボット機構２００は、アーム２１０と、エンドエフェクター２２０と、を含む。なお、ロボット制御システム１００、ロボット機構２００及びこれらを含むロボットは、図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加したりするなどの種々の変形実施が可能である。
【００３５】
例えば、図２に他の実施形態におけるロボット３００と、経路作成装置４００の構成例を示す。ロボット３００は、ロボット制御部１３０と、ロボット機構２００と、を含む。そして、経路作成装置４００は、経路決定部１１０と、入力受付部１５０と、を含む。
【００３６】
次に各部で行われる処理について説明する。
【００３７】
まず、経路決定部１１０は、ロボットの経路の決定処理を行う。
【００３８】
次に、ロボット制御部１３０は、決定されたロボットの経路に基づいて、ロボットを制御する。なお、経路決定部１１０及びロボット制御部１３０の機能は、各種プロセッサー（ＣＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００３９】
そして、入力受付部１５０は、目標位置姿勢の入力を受け付ける。入力受付部１５０は、作業者からの入力等を受け付ける場合には、スイッチやボタン、キーボード、マウス或いはタッチパネル等により構成されていてもよいし、有線又は無線の少なくとも一方を含むネットワークを介して通信を行う通信部（Ｉ／Ｆ部）であってもよい。
【００４０】
ロボット機構２００は、例えば後述する図３（Ａ）及び図３（Ｂ）に示すようなアーム２１０及びエンドエフェクター２２０を有し、ロボット制御部１３０から取得されるロボット制御コマンドに従って動作する。
【００４１】
ここで、アーム２１０とは、ロボット機構２００のパーツであって、一つ以上の関節を含む可動パーツのことをいう。
【００４２】
また、アーム２１０のエンドポイントとは、アーム２１０の先端部分のポイントであって、ロボット機構２００のエンドエフェクター２２０以外の他の部分と接続されていない部分のことをいう。
【００４３】
さらに、エンドエフェクター２２０とは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着させたり、ワークに加工を施したりするためにアーム２１０のエンドポイントに取り付ける部品のことをいう。エンドエフェクター２２０は、例えばハンド（把持部）であってもよいし、フックであってもよいし、吸盤等であってもよい。なお、アームのエンドポイントの位置は、エンドエフェクターの位置としてもよい。さらに、１本のアームに対して、複数のエンドエフェクターを設けても良い。
【００４４】
次に、本実施形態の具体例を図３（Ａ）及び図３（Ｂ）に示す。図３（Ａ）は、前述した図２に示す実施形態の具体例である。例えば図３（Ａ）のロボットは、ロボット機構２００とロボット制御部１３０が一体に構成されており、ロボット機構２００（及びロボット制御部１３０）と経路作成装置４００とが別体に構成されている。図３（Ａ）の例では、経路作成装置４００はＰＣ（Personal Computer）であり、ロボット制御部１３０と通信により接続されている。
【００４５】
具体的には、図３（Ａ）のロボットは、ロボット機構２００及びロボット機構２００を支えるベースユニット部を有し、当該ベースユニット部にロボット制御部１３０が格納される。そして、ロボット機構２００は、アーム２１０及びエンドエフェクター２２０を有する。また、図３（Ａ）のロボットには、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図３（Ａ）のロボットは双腕型の例であるが、ロボットは単腕型や多腕型であってもよい。また、ロボットは、人手により移動させられるものであってもよいし、車輪を駆動するモーターを設け、当該モーターをロボット制御部１３０により制御することにより、移動させられるものであってもよい。また、ロボット制御部１３０は、図３（Ａ）のようにロボット機構２００の下に設けられたベースユニット部に設けられるとは限らない。
【００４６】
一方で、図３（Ｂ）は、前述した図１に示す実施形態の具体例である。図３（Ｂ）のロボットは、ロボット機構２００と、ロボット制御システム１００（ロボット制御部１３０と経路作成装置４００を含む）とが別体に構成されており、経路作成装置４００とロボット制御部１３０とが同一の装置により実現されている。ただし、本実施形態のロボットは図３（Ａ）及び図３（Ｂ）の構成に限定されない。
【００４７】
さらに、本実施形態で用いる７自由度のアーム一本の一例を図４に示す。
【００４８】
まず、アームの付け根位置ＰＳにある接地面ＳＡに肩部ＳＨが接続されており、肩部ＳＨには第１の関節部（第１の肩関節）ＪＯ１が設けられている。
【００４９】
そして、第１の関節部ＪＯ１から伸びるリンクは、第１の位置Ｐ１で直角に曲がり、第２の関節部（第２の肩関節）ＪＯ２に接続されている。
【００５０】
さらに、第２の関節部ＪＯ２から伸びるリンクも直角に曲がり、第３の関節部（上腕節）ＪＯ３に接続されている。そして、第３の関節部ＪＯ３から伸びるリンクは第４の関節部（肘関節）ＪＯ４に接続されている。以下では、第１の位置Ｐ１から第４の関節部ＪＯ４までを上腕節ＵＡと呼ぶ。
【００５１】
また、リンクにより、第４の関節部ＪＯ４は第５の関節部ＪＯ５に接続されており、第５の関節部ＪＯ５は第６の関節部ＪＯ６に接続されている。以下では、第３の位置Ｐ３から第２の位置Ｐ２までを前腕部ＢＡと呼ぶ。
【００５２】
そして、リンクにより、第６の関節部ＪＯ６は第７の関節部ＪＯ７に接続されており、第７の関節部ＪＯ７はハンドＨＤに接続されている。また、ベクトルＴＰは、ロボットのハンド（エンドポイント）の目標位置姿勢を表している。なお、第１の関節部ＪＯ１〜第７の関節部ＪＯ７までの各関節部は、矢印に示す方向にそれぞれ回動するものとする。
【００５３】
３．処理の詳細
次に、本実施形態の手法について説明する。
【００５４】
以上の本実施形態のロボットは、ロボットの経路の決定処理を行う経路決定部１１０と、決定されたロボットの経路に基づいて、ロボットを制御するロボット制御部１３０と、を含む。そして、経路決定部１１０は、ロボットの目標位置姿勢を取得し、目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、ロボットのエンドポイントが中継位置姿勢から目標位置姿勢まで移動する経路の決定処理を行う。
【００５５】
本実施形態では、まずロボットの目標位置姿勢を取得する。そして、目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道で、ロボットのエンドポイントが中継位置姿勢から目標位置姿勢まで移動する経路の決定処理を行う。さらに、決定されたロボットの経路に基づいて、ロボットを制御する。
【００５６】
ここで、ロボットの経路は、位置移動だけでなく、姿勢移動も表すものとする。一般的に、単に、第１の位置姿勢（始点）から第２の位置姿勢（終点）への経路と言った場合には、最短経路だけなく、冗長な経路も含まれる。そのため、始点と終点を指定しただけでは、経路は複数求められてしまい、さらに複数求められた経路の中から、どの経路を選択すればよいかを決める必要もある。また、考えられる経路を全て演算により求めるため、計算量も多くなる。本実施形態の手法は、この点についても解決するものである。
【００５７】
また、目標位置姿勢とは、ロボットのエンドポイントの移動先（経路の終点）となる位置及び姿勢のことをいう。一方で、中継位置姿勢とは、ロボットのエンドポイントの移動元（経路の始点）となる位置及び姿勢のことをいう。中継位置姿勢は、必ずしも現在のロボットのエンドポイントの位置姿勢とは一致しないが、現在のエンドポイントの位置姿勢と同じ位置及び姿勢であってもよい。
【００５８】
そして、ワークの把持方向とは、例えば図５（Ａ）に示すように、目標位置姿勢ＴＰにおいてハンドＨＤ（エンドエフェクター）がワークＷＫを把持する時に、ハンドＨＤがワークＷＫに力を加える（近付く）方向（ＤＲ１又はＤＲ２）のことを言う。
【００５９】
一方で、ワークの解放方向とは、例えば図５（Ｂ）に示すように、目標位置姿勢ＴＰにおいてハンドＨＤがワークＷＫを解放する時に、ハンドＨＤがワークＷＫから離れる方向（ＤＲ３又はＤＲ４）のことをいう。
【００６０】
そして、例えば図５（Ａ）及び図５（Ｂ）の例では、ワークの把持方向又は解放方向に直交する平面は、平面ＰＬのことを指す。なお、図５（Ａ）及び図５（Ｂ）では図示の都合上、平面を点線の円により表す。
【００６１】
ここで、図６に、把持方向（又は解放方向）に直交する平面内の円弧軌道で、中継位置姿勢ＲＰから目標位置姿勢ＴＰまでロボットのエンドポイントを移動させる具体例を示す。本例では、図６に示すように、中継位置姿勢ＲＰから目標位置姿勢ＴＰまでの円弧軌道ＯＢ１を、ロボットのエンドポイントの経路として決定する。この円弧軌道ＯＢ１は、第４の関節部ＪＯ４を矢印ＭＶのように回動させることにより実現される。
【００６２】
このように、求める経路を、目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道と限定することにより、中継位置姿勢から目標位置姿勢までの他の経路を演算する必要がなくなる。これにより、ロボットのエンドポイントの経路の決定処理における計算量を削減すること等が可能になる。
【００６３】
また、ワークの把持方向又は解放方向に直交する平面内の円弧軌道でロボットのエンドポイントを移動させることにより、ロボットのエンドポイントが目標位置姿勢に到達する際に、ロボットのエンドエフェクター等がワークに衝突する頻度を抑制することが可能になる。
【００６４】
さらに、本例では、中継位置姿勢から目標位置姿勢までの経路上の各点における位置姿勢などを、作業者が教示する必要はない。
【００６５】
これにより、ロボットへの教示作業をより簡単にすることが可能となる。
【００６６】
逆に、図６の例では求める経路を、目標位置姿勢におけるワークの把持方向又は解放方向に直交する平面内の円弧軌道に限定していたが、この制約条件を外すと、他にもロボットのエンドポイントが目標位置姿勢に到達可能な経路は複数考えられる。
【００６７】
例えば、図７に示す例では、第４の関節部ＪＯ４の関節角を矢印ＭＶ１のように変化させ、第５の関節部ＪＯ５の関節角を矢印ＭＶ２のように変化させ、第６の関節部ＪＯ６の関節角を矢印ＭＶ３のように変化させ、さらに第７の関節部ＪＯ７の関節角を矢印ＭＶ４のように変化させて、軌道ＮＧＯＢを経路として算出している。しかし、図７の例で算出した経路ＮＧＯＢは、複数の関節角を変化させなければいけないにも関わらず、中継位置姿勢から目標位置姿勢までの道のりが図６に示す経路ＯＢ１よりも長く、わざわざ図７の経路ＮＧＯＢを求めるメリットがない。すなわち、経路ＮＧＯＢを演算により求めること自体が無駄である。このように、より少ない動作や、より短い道のりでワークを把持可能な経路がある場合には、必ずしも冗長な経路を演算により求める必要はない。
【００６８】
そこで、経路決定部１１０は、ロボットのアームの第１の関節角〜第ｋ（ｋは１＜ｋ＜Ｎの整数で、ＮはＮ≧３の整数）の関節角の少なくとも一つの関節角を変化させ、第ｋの関節よりもエンドポイント側に設けられた関節の関節角を固定して、経路の決定処理を行ってもよい。
【００６９】
これにより、ロボットのエンドポイントが目標位置姿勢に到達する経路として複数の経路が考えられる場合に、制約条件を加えて、目標位置姿勢に到達可能な複数の経路の中から求める経路を絞り込むこと等が可能になる。
【００７０】
また、本実施形態では、７自由度を有する冗長自由度ロボットを用いてもよい。
【００７１】
すなわち、本実施形態のロボットは、第１の関節角〜第７の関節角を有していてもよい。そして、経路決定部１１０は、ロボットのアームの第１の関節角〜第７の関節角のうち、第１の関節角〜第４の関節角の少なくとも一つの関節角を変化させ、第４の関節よりもエンドポイント側に設けられた第５の関節〜第７の関節の関節角を固定して、経路の決定処理を行ってもよい。
【００７２】
これにより、図６に示すように、肘関節ＪＯ４と、肘関節から見てアームの付け根側（上側）に設けられた関節（ＪＯ１〜ＪＯ３）のうち、いずれかの関節のみを動かして目標位置姿勢に到達可能な経路を決定すること等が可能になる。また、７自由度を有する冗長自由度ロボットを用いることにより、人間の腕と同じように、例えば狭い場所でも周囲の障害物を避けながら作業をすること等もできるようになる。
【００７３】
また、経路決定部１１０は、第１の関節角〜第ｋの関節角のうち、第ｉ（ｉは、２≦ｉ≦ｋの整数）の関節角を第１の優先度で変化させ、第（ｉ−１）の関節角を第１の優先度よりも低い第２の優先度で変化させて、経路の決定処理を行ってもよい。
【００７４】
これにより、第ｋの関節を最優先に動かし、第ｋの関節から見てアームの付け根側にある関節を、第ｋの関節からの距離順に優先度を付けて動かす経路を決定すること等が可能になる。
【００７５】
より具体的には、図８の表に示す優先度に基づいて、経路の決定処理を行っても良い。図８の表では、０がその関節を動かさないことを表し、１がその関節を動かすことを表す。例えば、第４の関節部ＪＯ４のみを動かすことの優先度は１５となり、第４の関節部ＪＯ４と第３の関節部ＪＯ３のみを動かすことの優先度は１１となる。そして、優先度が高い順に、その関節のみを用いて目標位置姿勢に到達する経路があるか否かを判定し、目標位置姿勢に到達する経路がない場合には、一つ優先度を下げて同様の判定を行い、目標位置姿勢に到達する経路が見つかるまで処理を繰り返す。
【００７６】
例えば、図８の表において優先度が１１である、第４の関節部ＪＯ４と第３の関節部ＪＯ３を動かす場合には、ロボットのエンドポイントの経路は図９のようになる。図９では、中継位置姿勢がＲＰ１であり、この状態で矢印ＭＶ１のように第３の関節部ＪＯ３を回動させると、ロボットのエンドポイントの姿勢はＲＰ２になる。さらに、この状態から、矢印ＭＶ２のように第４の関節部ＪＯ４を回動させると、ロボットのエンドポイントの姿勢は目標位置姿勢ＴＰになる。関節を二つ動かす場合には、このように中継位置姿勢ＲＰ１から目標位置姿勢ＴＰまでの経路ＯＢ２が求められる。この経路ＯＢ２も、目標位置姿勢ＴＰにおけるワークＷＫの把持方向（ＤＲ１又はＤＲ２）に直交する平面内の円弧軌道である。
【００７７】
また、経路決定部１１０は、教示される目標位置姿勢に基づいて、中継位置姿勢を求め、現在位置姿勢から中継位置姿勢までの経路と、中継位置姿勢から目標位置姿勢までの経路の決定処理を行ってもよい。なお、現在位置姿勢から中継位置姿勢までの経路の決定処理は、任意の手法により行ってよい。
【００７８】
これにより、現在のロボットのエンドポイントの位置姿勢に関わらず、中継位置姿勢から目標位置姿勢まで同じ経路で、ロボットのエンドポイントを移動させること等が可能になる。
【００７９】
また、本実施形態のロボットは、目標位置姿勢の入力を受け付ける入力受付部１５０を含んでもよい。
【００８０】
これにより、目標位置姿勢の入力をロボットへの教示作業として行うこと等が可能になる。
【００８１】
以下では、図１０のフローチャートを用いて、本実施形態の処理の流れについて説明する。
【００８２】
まず、ロボットのエンドポイントの目標位置姿勢を取得する（Ｓ１０１）。次に、取得した目標位置姿勢に基づいて、中継位置姿勢を特定する（Ｓ１０２）。中継位置姿勢を特定する際には、エンドエフェクターの指長や、ワークのサイズなどを参考値として考慮する。また、中継位置姿勢は、中継位置姿勢から目標位置姿勢への経路に沿って、ロボットのエンドエフェクターを移動させた際に、作業環境周辺の障害物やジグ等とエンドエフェクターが接触しないように配慮して決定する。さらに、中継位置姿勢は、目標位置姿勢からできるだけ近い位置姿勢であることが望ましい。
【００８３】
そして、現在のエンドポイントの位置姿勢から中継位置姿勢までの経路を決定する（Ｓ１０３）。次に、中継位置姿勢から目標位置姿勢への経路を決定する（Ｓ１０４）。ステップＳ１０４における経路決定処理は、図４〜図９を用いて前述した方法により行う。
【００８４】
最後に、特定した経路に基づいて、ロボットのエンドポイントを、現在の位置姿勢から中継位置姿勢へと移動させ（Ｓ１０５）、続いて目標位置姿勢へと移動させて（Ｓ１０６）、処理を終了する。
【００８５】
次に、図１１のフローチャートを用いて、目標位置姿勢候補が複数ある場合の処理の流れについて説明する。ここでは、ワークＡ〜ワークＣの３つのワークが置かれており、それらのワークを一つずつ把持して、集積場所に運ぶ作業を例にとって説明する。本作業において、ワークＡ〜ワークＣを把持して運ぶ順番は問わないものとする。
【００８６】
まず、目標位置姿勢候補を取得する（Ｓ２０１）。本例では、目標位置姿勢候補は、ワークＡ〜ワークＣの各ワークを把持可能な３つの位置姿勢であるものとする。具体的には、ワークＡを把持可能な目標位置姿勢候補と、ワークＢを把持可能な目標位置姿勢候補と、ワークＣを把持可能な目標位置姿勢候補の３つの目標位置姿勢候補を特定する。
【００８７】
次に、各目標位置姿勢候補に対応する中継位置姿勢を特定する（Ｓ２０２）。本例では、３つの目標位置姿勢候補のそれぞれに対応する中継位置姿勢を特定する。
【００８８】
そして、複数の目標位置姿勢候補のうち、どの目標位置姿勢候補を今回の目標位置姿勢にするかを選択する（Ｓ２０３）。具体的には、各目標位置姿勢候補について、対応する中継位置姿勢からの経路を算出し、図８を用いて説明したように、各経路についての優先度を算出する。そして、算出した優先度が最大である経路を特定し、その経路に対応する目標位置姿勢候補を、今回の目標位置姿勢として選択する。例えば、ワークＢについての経路の優先度が最大である場合には、ワークＢについての目標位置姿勢候補を今回の目標位置姿勢として選択する。なお、優先度が最大となる経路が複数ある場合には、現在のエンドポイントの位置姿勢に最も近い中継位置姿勢の経路を選択する。
【００８９】
そして、これ以降は図１０のフローチャートの例と同様に、現在のエンドポイントの位置姿勢から中継位置姿勢までの経路を特定し（Ｓ２０４）、特定した経路に基づいて、ロボットのエンドポイントを、現在の位置姿勢から中継位置姿勢へと移動させ（Ｓ２０５）、さらに目標位置姿勢へと移動させて（Ｓ２０６）、処理を終了する。なお、本例では、この後にワークＢを把持して、ワークＢを集積場所に移動させる。そしてその後に、ワークＡ及びワークＣを移動させるために前述した処理を繰り返す。以上が目標位置姿勢候補が複数ある場合の処理の流れである。
【００９０】
なお、本実施形態のロボット及び経路作成装置４００等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態のロボット及び経路作成装置４００等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【００９１】
以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ロボット、プログラム及び経路作成装置の構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【００９２】
１００  ロボット制御システム、１１０  経路決定部、１３０  ロボット制御部、
１５０  入力受付部、２００  ロボット機構、２１０  アーム、
２２０  エンドエフェクター、３００  ロボット、４００  経路作成装置
【図１】
2015037818.tif 000003
【図２】
2015037818.tif 000004
【図３】
2015037818.tif 000005
【図４】
2015037818.tif 000006
【図５】
2015037818.tif 000007
【図６】
2015037818.tif 000008
【図７】
2015037818.tif 000009
【図８】
2015037818.tif 000010
【図９】
2015037818.tif 000011
【図１０】
2015037818.tif 000012
【図１１】
2015037818.tif 000013