(57)【要約】【課題】経路演算処理を高速化することが可能なロボット制御システム、ロボット、経路作成装置、経路作成方法及び経路作成プログラム等を提供すること。【解決手段】ロボット制御システム１０は、ロボット３０のアーム３２０のエンドポイントの移動経路を演算する移動経路演算部１１２と、ロボット制御部１２０と、を含む。移動経路演算部１１２は、エンドポイントの現在位置及び現在姿勢である現在点ＣＰと、エンドポイントの目標位置及び目標姿勢である目標点ＴＰと、現在点ＣＰから目標点ＴＰまでの経路を中継するエンドポイントの位置及び姿勢である中継点ＲＰｉの許容範囲（ＲＧｉ）と、を取得する。そして、移動経路演算部１１２は、その許容範囲（ＲＧｉ）に中継点ＲＰｉが位置するように、アーム３２０の関節の関節角を求める経路決定処理を行う。【選択図】      図４
2015016536.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、
前記移動経路の情報に基づいて前記ロボットを制御するロボット制御部と、
を含み、
前記移動経路演算部は、
前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行うことを特徴とするロボット制御システム。
【請求項２】
請求項１において、
前記移動経路演算部は、
第１〜第Ｎの前記許容範囲を取得し、前記第１〜第Ｎの前記許容範囲（ＮはＮ≦２の自然数）の各許容範囲に前記中継点が位置するように、前記関節角を求める前記経路決定処理を行うことを特徴とするロボット制御システム。
【請求項３】
請求項２において、
前記移動経路演算部は、
前記現在点側から前記中継点を決定する前記経路決定処理と、前記目標点側から前記中継点を決定する前記経路決定処理と、を並列に実行することを特徴とするロボット制御システム。
【請求項４】
請求項３において、
前記移動経路演算部は、
前記第１〜第Ｎの前記許容範囲の第ｋの前記許容範囲（ｋはｋ≦Ｎの自然数）において、前記現在点側及び前記目標点側から決定した前記中継点が存在する場合に、前記現在点側及び前記目標点側から決定した前記中継点を連結処理することを特徴とするロボット制御システム。
【請求項５】
請求項４において、
前記移動経路演算部は、
前記現在点側及び前記目標点側から決定した前記中継点の一方を最終の中継点に決定する処理、又は前記現在点側及び前記目標点側から決定した前記中継点の平均値を前記最終の中継点に決定する処理を、前記連結処理として行うことを特徴とするロボット制御システム。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記移動経路演算部は、
前記関節角が存在する前記中継点を前記各許容範囲において決定することを特徴とするロボット制御システム。
【請求項７】
請求項６において、
前記移動経路演算部は、
前記第１〜第Ｎの前記許容範囲の前記中継点を第１〜第Ｎの中継点とし、前記第１〜第Ｎの中継点の第ｉの中継点（ｉはｉ≦Ｎ−１の自然数）が決定されている場合に、
前記第１〜第Ｎの中継点の第ｉ＋１の中継点の候補点を、前記第１〜第Ｎの前記許容範囲の第ｉ＋１の前記許容範囲から選択し、
前記第ｉの中継点から前記候補点への移動に対応する前記関節角の変化が存在すると判定した場合には、前記候補点を前記第ｉ＋１の中継点に決定し、
前記関節角の変化が存在しないと判定した場合には、次の前記候補点を前記第ｉ＋１の前記許容範囲から選択することを特徴とするロボット制御システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記許容範囲を設定する設定画面を表示する表示部を含むことを特徴とするロボット制御システム。
【請求項９】
請求項１乃至７のいずれかにおいて、
前記許容範囲を表示する表示部を含むことを特徴とするロボット制御システム。
【請求項１０】
関節を有するアームと、
前記アームのエンドポイントの移動経路を演算する移動経路演算部と、
前記移動経路の情報に基づいて前記アームを制御するロボット制御部と、
を含み、
前記移動経路演算部は、
前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、
前記許容範囲に前記中継点が位置するように、前記アームの前記関節の関節角を求める経路決定処理を行うことを特徴とするロボット。
【請求項１１】
ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、
前記移動経路の情報を出力する出力部と、
を含み、
前記移動経路演算部は、
前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行うことを特徴とする経路作成装置。
【請求項１２】
請求項１１において、
前記許容範囲を設定する設定画面を表示する表示部を含むことを特徴とする経路作成装置。
【請求項１３】
請求項１１において、
前記許容範囲を表示する表示部を含むことを特徴とする経路作成装置。
【請求項１４】
ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、
前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、
ことを特徴とする経路作成方法。
【請求項１５】
ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、
前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、
前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、
ステップをコンピューターに実行させる経路作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システム、ロボット、経路作成装置、経路作成方法及び経路作成プログラム等に関する。
【背景技術】
【０００２】
リンク・ジョイント機構で構成されるロボットアームを用いて、製品製造ラインで行われている組立加工作業や検査計測作業の自動化が行われている。このようなロボットにおいて、実現したいアーム先端の目標位置・目標姿勢（目標点）と、アーム先端の現在位置・現在姿勢（現在点）と、それらを中継する中継位置・中継姿勢（中継点）とを教示点として設定する。そして、その教示点を実現できるようなアームのジョイント角度を算出する。各教示点でのアームのジョイント角度は、出来るだけ短時間で計算できることが望ましい。
【０００３】
アーム先端の経路を作成する手法として、例えば特許文献１に開示される手法がある。この手法では、予め設定した初期位置と最終位置との間に中間点の候補を生成し、その中間点の候補から中間点を決定し、その決定した中間点から候補経路を作成する。そして、この処理を繰り返して複数の候補経路を作成し、その各候補経路についてロボットの移動部の移動量を評価し、最も移動効率のよい候補経路を移動経路として選定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６９０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現在点と目標点との間に中継点を生成する際、その中継点を実現するジョイント角度が存在することが必要である。このような中継点を一意的に生成することは、処理負荷を増大させるという課題がある。
【０００６】
例えば、特許文献１の手法では、特に中間点を作業空間で生成する場合において、作業空間中でジョイント角度が存在する中間点を一意的に生成する（位置に関する３自由度と姿勢に関する３自由度を決定する）ことは煩雑である。即ち、中間点を決定する際に、その中間点を実現するジョイント角度が存在するか否かを計算する必要があり、その計算を多くの候補経路について繰り返し行う必要がある。このような処理により、処理時間や計算量の大きくなるケースが発生する。
【０００７】
本発明の幾つかの態様によれば、経路演算処理を高速化することが可能なロボット制御システム、ロボット、経路作成装置、経路作成方法及び経路作成プログラム等を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、前記移動経路の情報に基づいて前記ロボットを制御するロボット制御部と、を含み、前記移動経路演算部は、前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行うロボット制御システムに関係する。
【０００９】
本発明の一態様によれば、中継点の許容範囲が取得され、その許容範囲に中継点が位置するようにロボットのアームの関節角が求められる。これにより、経路演算処理を高速化することが可能になる。
【００１０】
また本発明の一態様では、前記移動経路演算部は、第１〜第Ｎの前記許容範囲（ＮはＮ≦２の自然数）を取得し、前記第１〜第Ｎの前記許容範囲の各許容範囲に前記中継点が位置するように、前記関節角を求める前記経路決定処理を行ってもよい。
【００１１】
このようにすれば、第１〜第Ｎの許容範囲の各許容範囲に中継点を決定できるので、現在点と目標点の間に複数の中継点を決定し、アームのエンドポイントの移動経路を演算できる。
【００１２】
また本発明の一態様では、前記移動経路演算部は、前記現在点側から前記中継点を決定する前記経路決定処理と、前記目標点側から前記中継点を決定する前記経路決定処理と、を並列に実行してもよい。
【００１３】
このようにすれば、中継点の決定処理を、現在点側と目標点側の両側から並列処理できるので、一方の側から中継点の決定処理を行う場合に比べて処理時間を短縮することが可能になる。
【００１４】
また本発明の一態様では、前記移動経路演算部は、前記第１〜第Ｎの前記許容範囲の第ｋの前記許容範囲（ｋはｋ≦Ｎの自然数）において、前記現在点側及び前記目標点側から決定した前記中継点が存在する場合に、前記現在点側及び前記目標点側から決定した前記中継点を連結処理してもよい。
【００１５】
このようにすれば、現在点側と目標点側から並列処理で決定した２つの中継点を、その２つの中継点が求められた許容範囲内において連結し、現在点側と目標点側から求めた経路を１つの経路に連結できる。
【００１６】
また本発明の一態様では、前記移動経路演算部は、前記現在点側及び前記目標点側から決定した前記中継点の一方を最終の中継点に決定する処理、又は前記現在点側及び前記目標点側から決定した前記中継点の平均値を前記最終の中継点に決定する処理を、前記連結処理として行ってもよい。
【００１７】
このようにすれば、現在点側及び目標点側から決定した中継点が許容範囲内に存在する場合に、その２つの中継点を許容範囲内で連結し、その許容範囲の最終的な中継点を決定できる。
【００１８】
また本発明の一態様では、前記移動経路演算部は、前記関節角が存在する前記中継点を前記各許容範囲において決定してもよい。
【００１９】
このようにすれば、ジョイント角度が存在する中継点を許容範囲内で決定することにより、各許容範囲に中継点が位置するようにジョイント角度を求めることができ、アームの移動経路を決定できる。
【００２０】
また本発明の一態様では、前記移動経路演算部は、前記第１〜第Ｎの前記許容範囲の前記中継点を第１〜第Ｎの中継点とし、前記第１〜第Ｎの中継点の第ｉの中継点（ｉはｉ≦Ｎ−１の自然数）が決定されている場合に、前記第１〜第Ｎの中継点の第ｉ＋１の中継点の候補点を、前記第１〜第Ｎの前記許容範囲の第ｉ＋１の前記許容範囲から選択し、前記第ｉの中継点から前記候補点への移動に対応する前記関節角の変化が存在すると判定した場合には、前記候補点を前記第ｉ＋１の中継点に決定し、前記関節角の変化が存在しないと判定した場合には、次の前記候補点を前記第ｉ＋１の前記許容範囲から選択してもよい。
【００２１】
このようにすれば、許容範囲内の点を順次、中継点の候補点に設定し、その候補点を実現するジョイント角度変化が存在するか否かを判断することにより、ジョイント角度が存在する中継点を各許容範囲において決定できる。
【００２２】
また本発明の一態様では、前記許容範囲を設定する設定画面を表示する表示部を含んでもよい。
【００２３】
このようにすれば、例えばアームの経路をユーザーが教示する場合などに、設定画面を介してユーザーが許容範囲を設定することが可能となる。
【００２４】
また本発明の一態様では、前記許容範囲を表示する表示部を含んでもよい。
【００２５】
このようにすれば、例えばロボット制御システムが許容範囲を生成する場合などに、その生成した許容範囲をユーザーが確認することができる。
【００２６】
また本発明の他の態様は、関節を有するアームと、前記アームのエンドポイントの移動経路を演算する移動経路演算部と、前記移動経路の情報に基づいて前記アームを制御するロボット制御部と、を含み、前記移動経路演算部は、前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、前記許容範囲に前記中継点が位置するように、前記アームの前記関節の関節角を求める経路決定処理を行うロボットに関係する。
【００２７】
また本発明の更に他の態様は、ロボットのアームのエンドポイントの移動経路を演算する移動経路演算部と、前記移動経路の情報を出力する出力部と、を含み、前記移動経路演算部は、前記エンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得し、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行う経路作成装置に関係する。
【００２８】
また本発明の更に他の態様では、前記許容範囲を設定する設定画面を表示する表示部を含んでもよい。
【００２９】
また本発明の更に他の態様では、前記許容範囲を表示する表示部を含んでもよい。
【００３０】
また本発明の更に他の態様は、ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、経路作成方法に関係する。
【００３１】
また本発明の更に他の態様は、ロボットのアームのエンドポイントの現在位置及び現在姿勢である現在点と、前記エンドポイントの目標位置及び目標姿勢である目標点と、前記現在点から前記目標点までの経路を中継する前記エンドポイントの位置及び姿勢である中継点の許容範囲と、を取得する処理を行い、前記許容範囲に前記中継点が位置するように、前記アームの関節の関節角を求める経路決定処理を行い、前記経路決定処理により求めた移動経路の情報に基づいて前記ロボットを制御する処理を行う、ステップをコンピューターに実行させる経路作成プログラムに関係する。
【図面の簡単な説明】
【００３２】
【図１】ロボットシステムの第１構成例。
【図２】ロボットシステムの第２構成例。
【図３】ロボット制御システム、ロボットシステムの詳細な構成例。
【図４】中継点範囲についての説明図。
【図５】中継点範囲についての説明図。
【図６】中継点の決定処理のフローチャート。
【図７】中継点の決定処理についての説明図。
【図８】中継点の探索処理のフローチャート。
【図９】ジョイント角度の算出処理のフローチャート。
【図１０】第１の連結処理のフローチャート。
【図１１】第２の連結処理のフローチャート。
【図１２】第３の連結処理のフローチャート。
【発明を実施するための形態】
【００３３】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３４】
１．ロボットシステム
図１に、本実施形態の経路演算処理を行うロボットシステムの構成例を示す。ロボットシステムは、ロボット制御システム１０（情報処理装置）と、ロボット３０とを含む。
【００３５】
ロボット制御システム１０は、制御信号を生成し、その制御信号に基づいてロボット３０を制御する。ロボット制御システム１０の詳細は後述する。ロボット制御システム１０の一部又は全部の機能は、例えばＰＣ等の情報処理装置などにより実現される。なお、ロボット制御システム１０の一部又は全部の機能を、ロボット３０により実現したり、情報処理装置とは異なる電子機器により実現してもよい。また、本実施形態のロボット制御システム１０の一部又は全部の機能は、情報処理装置もしくはロボット３０と通信により接続されたサーバにより実現されてもよい。
【００３６】
ロボット３０は、アーム３２０及びエンドエフェクター３３０（例えばハンド）を有し、ロボット制御システム１０からの制御信号に従い処理を行う。ロボット３０は、ロボット３０における加工対象物であるワーク４０に対して、例えば把持や加工などの処理を行う。
【００３７】
ここで、アーム３２０とは、ロボット３０の一部の領域であって、一つ以上の関節を含む可動領域のことをいう。また、アーム３２０のエンドポイントとは、アーム３２０の先端部分の領域であって、ロボット３０のエンドエフェクター３３０以外の他の領域と接続されていない領域のことをいう。さらに、エンドエフェクター３３０とは、ワーク４０を把持したり、ワーク４０に加工を施すためにアーム３２０のエンドポイントに取り付ける部品のことをいう。なお、アームのエンドポイントの位置は、エンドエフェクター３３０の位置としてもよい。
【００３８】
以上の図１はロボット３０とロボット制御システム１０とが別体として存在するロボットシステムの例であるが、本実施形態では、ロボット制御システム１０がロボット３０に内蔵されてもよい。
【００３９】
図２に、そのようなロボットシステムの構成例を示す。このロボットシステムは、ロボット本体３０（アーム３２０及びエンドエフェクター３３０を有する）と、ロボット本体３０を支えるベースユニット部と、を含み、そのベースユニット部にロボット制御システム１０が格納される。図２のロボットシステムでは、ベースユニット部に車輪等が設けられ、ロボット全体が移動可能な構成となっている。なお、図１は単腕型の例であるが、ロボットは図２に示すように双腕型等の多腕型のロボットであってもよい。
【００４０】
２．ロボット制御システム
図３に、ロボット制御システム１０及びこれを含むロボットシステムの詳細な構成例を示す。ロボット制御システム１０は、処理部１１０と、ロボット制御部１２０と、記憶部１３０と、Ｉ／Ｆ部１４０（入力部）と、を含む。
【００４１】
処理部１１０は、記憶部１３０からのデータや、Ｉ／Ｆ部１４０において受信したロボット３０からの情報等に基づいて種々の処理を行う。この処理部１１０の機能は、各種プロセッサー（例えばＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムなどにより実現できる。
【００４２】
処理部１１０は、アーム３２０の移動経路を演算する移動経路演算部１１２を含む。移動経路演算部１１２は、現在点と目標点の間に設定される中継点範囲内において、アーム３２０のジョイント角度を実現できる中継点を決定する。即ち、現在点から中継点を通って目標点に至る経路を決定する。中継点範囲は、中継点におけるアーム３２０のエンドポイントの位置及び姿勢に許容される範囲である。この経路決定処理の詳細については後述する。
【００４３】
ロボット制御部１２０は、処理部１１０から出力された制御信号に基づいて、ロボット３０を制御する。例えば、移動経路演算部１１２は、現在点と目標点と中継点におけるエンドポイントの位置及び姿勢を出力する。或は、現在点と目標点と中継点におけるジョイント角度を出力する。ロボット制御部１２０は、この情報に基づいて、現在点から中継点を通って目標点に至るアーム３２０の動作を制御する信号を出力する。
【００４４】
記憶部１３０は、データベースを記憶したり、処理部１１０等のワーク領域となるもので、その機能はＲＡＭ等のメモリーやＨＤＤ（ハードディスクドライブ）などにより実現できる。
【００４５】
Ｉ／Ｆ部１４０は、ロボット制御システム１０に対するユーザーからの入力等を行ったり、ロボット３０からの情報を受け付けるためのインターフェースである。ユーザーからの入力等に関しては、スイッチやボタン、キーボード或いはマウス等から構成されてもよい。
【００４６】
ロボット３０は、アーム３２０及びエンドエフェクター３３０の他に制御部３１０を含む。制御部３１０は、ロボット制御システム１０からの情報を受け付け、ロボット３０の各部（アーム３２０及びエンドエフェクター３３０等）の制御を行う。
【００４７】
３．経路決定処理
３．１．中継点範囲
次に、経路決定処理の詳細について説明する。なお以下では、２次元平面（ＸＹ平面）内を移動する自由度３（ジョイント数３つ）のロボットアームを例に説明する。
【００４８】
まず、中継点範囲について説明する。図４に示すように、アームのエンドポイントが現在点ＣＰから目標点ＴＰまで移動する経路上に中継点範囲ＲＧｉを設定する。この中継点範囲ＲＧｉは、教示により与えられてもよいし、或は移動経路演算部１１２が生成してもよい。現在点ＣＰと目標点ＴＰは、エンドポイントの位置及び姿勢により表される。位置はＸＹ座標（Ｘ，Ｙ）であり、姿勢は、例えばＸ軸を基準に時計回りの角度Θでエンドポイントの方向を表したものである。エンドポイントは中継点ＲＰｉを経由して現在点ＣＰから目標点ＴＰまで移動するが、その中継点ＲＰｉを決定する際に許容される範囲が中継点範囲ＲＧｉである。中継点ＲＰｉは、位置（座標（Ｘ，Ｙ））及び姿勢（角度Θ）で表され、中継点範囲ＲＧｉは、位置の許容範囲（位置範囲）及び姿勢の許容範囲（姿勢範囲）で表される。位置範囲は、座標（Ｘｉ，Ｙｉ）と、Ｘ軸方向及びＹ軸方向の範囲（Ｗｉ，Ｈｉ）とで指定される。座標（Ｘｉ，Ｙｉ）は、例えば位置範囲の中心の座標である。姿勢範囲は、エンドポイントの方向（角度）の範囲Θｉｍｉｎ≦Θｉ≦Θｉｍａｘである。
【００４９】
図４には１つの中継点範囲ＲＧｉを図示しているが、図５に示すように本実施形態では複数の中継点範囲ＲＧ１〜ＲＧＮを設定する。即ちＮは２以上の自然数であり、ｉはＮ以下の自然数である。図５には、Ｎ＝５である場合を例に図示している。
【００５０】
エンドポイントの位置及び姿勢は、ジョイントＪＴ１〜ＪＴ３（関節）のジョイント角度θ１〜θ３（関節角）により決まる。逆にエンドポイントの位置及び姿勢を指定した場合、その位置及び姿勢を実現するジョイント角度θ１〜θ３が必ずしも存在するとは限らない。本実施形態では、中継点ＲＰｉの許容範囲として中継点範囲ＲＧｉを設定することにより、その中継点範囲ＲＧｉ内においてジョイント角度θ１〜θ３が存在する中継点ＲＰｉを決定可能にしている。また、経路の探索範囲を中継点範囲ＲＧｉで制限することによって、作業空間内において任意の経路の中から最適な経路を決定する場合に比べて処理負荷を低減できる。例えば、アームの移動経路がおおよそ決まっているような場合には、その移動経路に中継点範囲ＲＧｉを予め教示しておくことで、ジョイント角度θ１〜θ３を実現する中継点ＲＰｉを決定できる。
【００５１】
３．２．中継点の決定処理
次に、中継点範囲ＲＧｉ内で中継点ＲＰｉを決定する処理について説明する。図６に、処理のフローチャートを示し、図７に、処理の説明図を示す。
【００５２】
処理を開始すると、現在点ＣＰの位置及び姿勢を取得する（ステップＳ１）。次に、目標点ＴＰの位置及び姿勢を取得する（ステップＳ２）。次に、中継点範囲ＲＧ１〜ＲＧ５の位置範囲及び姿勢範囲を取得する（ステップＳ３）。次に、中継点ＲＰ１〜ＲＰ５を決定するが、このとき現在点ＣＰ側から決めていくステップＳ４〜Ｓ１１と目標点ＴＰ側から決めていくステップＳ１２〜Ｓ１９とを並列に処理する。
【００５３】
まず、現在点ＣＰ側から中継点を決める処理を説明する。現在点ＣＰを最新点に設定する（ステップＳ４）。ここで、「最新点（現在点側）」等の表記は、その点が現在点ＣＰ側から決められていることを表す。次に、ｉ＝１を設定する（ステップＳ５）。次に、ｉ＜Ｎである場合には（ステップＳ６）、中継点範囲ＲＧｉを取得する（ステップＳ７）。次に、最新点を基準として、中継点範囲ＲＧｉにおいて中継点ＲＰｉを求める（ステップＳ８）。例えば、ｉ＝１の場合には、アームのエンドポイントを現在点ＣＰから中継点ＲＰ１へ移動させる場合の中継点ＲＰ１を求め、ｉ＝２の場合には、その求めた中継点ＲＰ１から中継点ＲＰ２へ移動させる場合の中継点ＲＰ２を求める。即ち、現在点ＣＰ側から順次、中継点ＲＰ１、ＲＰ２、・・・と求めていく。このとき、２点間における位置及び姿勢の変化（ΔＸ，ΔＹ，ΔΘ）に対して、ジョイント角度の変化（Δθ１、Δθ２、Δθ３）を実現できる中継点ＲＰｉを、中継点範囲ＲＧｉ内から探索する。この探索処理の詳細については後述する。
【００５４】
次に、中継点ＲＰｉが目標点ＴＰ側から求められているか否かを判定する（ステップＳ９）。例えば図７に示す中継点ＲＰ１、ＲＰ２（ｉ＝１、２）のように、目標点ＴＰ側から中継点が求められていない場合には、中継点ＲＰｉを最新点に設定し（ステップＳ１０）、ｉ＝ｉ＋１とし（ステップＳ１１）、ステップＳ６に戻る。一方、図７に示す中継点ＲＰ３’、ＲＰ３”（ｉ＝３）のように、目標点ＴＰ側からも中継点ＲＰ３”が求められている場合には、ステップＳ２０に進む。
【００５５】
次に、目標点ＴＰ側から中継点を決める処理を説明する。まず、目標点ＴＰを最新点に設定する（ステップＳ１２）。ここで、「最新点（目標点側）」等の表記は、その点が目標点ＴＰ側から決められていることを表す。次に、ｊ＝Ｎ−１を設定する（ステップＳ１３）。次に、ｊ≧１である場合には（ステップＳ１４）、中継点範囲ＲＧｊを取得する（ステップＳ１５）。次に、最新点を基準として、中継点範囲ＲＧｊにおいて中継点ＲＰｊを求める（ステップＳ１６）。即ち、目標点ＴＰ側から順次、中継点ＲＰ５、ＲＰ４、・・・と求めていく。現在点ＣＰ側から求める場合と同様に、ジョイント角度の変化（Δθ１、Δθ２、Δθ３）を実現できる中継点ＲＰｊを求める。
【００５６】
次に、中継点ＲＰｊが現在点ＣＰ側から求められているか否かを判定する（ステップＳ１７）。例えば図７に示す中継点ＲＰ５、ＲＰ４（ｉ＝５、４）のように、現在点ＣＰ側から中継点が求められていない場合には、中継点ＲＰｊを最新点に設定し（ステップＳ１８）、ｊ＝ｊ−１とし（ステップＳ１９）、ステップＳ１４に戻る。一方、図７に示す中継点ＲＰ３’、ＲＰ３”（ｊ＝３）のように、現在点ＣＰ側からも中継点ＲＰ３’が求められている場合には、ステップＳ２０に進む。
【００５７】
ステップＳ２０では、中継点範囲ＲＧ１〜ＲＧ５の中から、現在点ＣＰ側及び目標点ＴＰ側の双方から中継点が求められている中継点範囲ＲＧｋを選択する。次に、中継点範囲ＲＧｋにおいて、現在点ＣＰ側及び目標点ＴＰ側から求めた中継点を連結する（ステップＳ２１）。図７の例では、中継点範囲ＲＧ３（ｋ＝３）を選択し、現在点ＣＰ側及び目標点ＴＰ側から求めた中継点ＲＰ３’、ＲＰ３”を連結し、最終的な中継点ＲＰ３を決定する。連結処理の詳細については後述する。
【００５８】
以上の実施形態では、ロボット制御システム１０は、ロボット３０のアーム３２０のエンドポイントの移動経路を演算する移動経路演算部１１２と、その移動経路の情報に基づいてロボット３０を制御するロボット制御部１２０と、を含む。移動経路演算部１１２は、エンドポイントの現在位置及び現在姿勢である現在点ＣＰと、エンドポイントの目標位置及び目標姿勢である目標点ＴＰと、現在点ＣＰから目標点ＴＰまでの経路を中継するエンドポイントの位置及び姿勢である中継点ＲＰｉの許容範囲（中継点範囲ＲＧｉ）と、を取得する。そして、移動経路演算部１１２は、その許容範囲に中継点ＲＰｉが位置するように、アーム３２０の関節の関節角（ジョイント角度θ１〜θ３）を求める経路決定処理を行う。
【００５９】
このようにすれば、ロボットアームの経路を決定する処理の処理時間や計算量を低減することができる。例えば、各中継点を１点で指定して経路の候補を作成した場合には、その各中継点を実現するジョイント角度を求められない場合がある。このような場合、新たに経路の候補を生成し、ジョイント角度の存在を確かめる必要があるが、経路に制限のない作業空間内でこれを行うと、無数の経路の候補があるため処理量が増加する可能性がある。この点、本実施形態によれば、中継点範囲ＲＧ１〜ＲＧＮによって中継点ＲＰ１〜ＲＰＮの許容範囲が決まっているため、経路の範囲をある程度制限することが可能であり、処理量を低減できる。また、１点でなく許容範囲（中継点範囲ＲＧｉ）内で中継点ＲＰｉを決めることにより、ジョイント角度を実現できる中継点ＲＰｉを設定することが可能である。
【００６０】
ここで、中継点ＲＰｉ及び許容範囲（中継点範囲ＲＧｉ）は、ロボット３０のアーム３２０が動作する空間（又は、それに対応する仮想空間）に設定される。上記の実施形態では２次元空間である場合を説明したが、一般的には３次元空間である。即ち、中継点ＲＰｉは、位置の３自由度（例えばＸＹＺ座標）と姿勢の３自由度（例えばロール角、ピッチ角、ヨー角）を有する。また、許容範囲（中継点範囲ＲＧｉ）は、中継点ＲＰｉの６自由度それぞれについて範囲が設定される。３次元空間は、例えばロボット制御システム１０が作業空間に対応して設定するワールド座標系である。或は、ロボット３０の動作をシミュレーションする場合、ロボット３０のモデルを設置する仮想の３次元空間である。
【００６１】
また本実施形態では、移動経路演算部１１２は、第１〜第Ｎの許容範囲（第１〜第Ｎの中継点範囲ＲＧ１〜ＲＧＮ）を取得し、第１〜第Ｎの許容範囲（ＮはＮ≦２の自然数）の各許容範囲（ＲＧｉ）に中継点ＲＰｉが位置するように、関節角を求める経路決定処理を行う。
【００６２】
このようにすれば、第１〜第Ｎの許容範囲の各許容範囲（ＲＧｉ）に中継点ＲＰｉを決定できるので、現在点ＣＰと目標点ＴＰの間に複数の中継点ＲＰ１〜ＲＰＮを決定し、アームのエンドポイントの移動経路を演算できる。
【００６３】
また本実施形態では、移動経路演算部１１２は、現在点ＣＰ側から中継点ＲＰｉを決定する経路決定処理（図６のステップＳ４〜Ｓ１１）と、目標点ＴＰ側から中継点ＲＰｉを決定する経路決定処理（ステップＳ１２〜Ｓ１９）と、を並列に実行する。
【００６４】
このようにすれば、中継点ＲＰ１〜ＲＰＮを現在点ＣＰ側と目標点ＴＰ側の両側から決定することにより、処理時間を短縮することが可能になる。例えば、後述のように最新点から次の中継点までのジョイント角度変化を求めることにより、１点ずつ順に中継点を決める手法が考えられる。このような手法では、並列処理で両側から順に中継点を求めていき、両側から中継点が求まる中継点範囲（図７のＲＧ３）まで演算を行えばよいので、一方の側から中継点を決めていく場合に比べて処理時間を短縮できる。
【００６５】
また本実施形態では、移動経路演算部１１２は、第１〜第Ｎの許容範囲の第ｋの許容範囲（中継点範囲ＲＧｋ）において、現在点ＣＰ側及び目標点ＴＰ側から決定した中継点（図７のＲＰ３’、ＲＰ３”）が存在する場合に、現在点ＣＰ側及び目標点ＴＰ側から決定した中継点を連結処理する（図６のステップＳ２１）。
【００６６】
このようにすれば、現在点ＣＰ側と目標点ＴＰ側から並列処理で決定した経路を連結することが可能となる。即ち、図６のステップＳ９、Ｓ１７に示すように、１つの許容範囲（ＲＧｋ）に両側から求めた中継点（即ち、それを実現するジョイント角度）が存在するに至った場合に、それらの中継点を許容範囲内で連結することにより、１つの経路を生成することができる。
【００６７】
また本実施形態では、ロボット制御システム１０は、許容範囲（ＲＧｉ）を設定する設定画面を表示する表示部を含んでもよい。例えば、図４で説明した各中継点範囲ＲＧｉの基準位置（Ｘｉ，Ｙｉ）、位置範囲（Ｈｉ，Ｗｉ）、姿勢範囲の最大値及び最小値（Θｉｍｉｎ，Θｉｍａｘ）を設定する画面を表示する。
【００６８】
このようにすれば、例えばアームの経路をユーザーが教示する場合などに、設定画面を介してユーザーが許容範囲（ＲＧ１〜ＲＧＮ）を設定することが可能となる。表示部は、例えば図１のようなロボット３０と別体のロボット制御システム１０（情報処理装置）に設けられてもよいし、図２のようなロボット３０と一体のロボット制御システム１０に設けられてもよい。
【００６９】
また本実施形態では、ロボット制御システム１０は、許容範囲ＲＧｉを表示する表示部を含んでもよい。
【００７０】
このようにすれば、例えばロボット制御システム１０が許容範囲（ＲＧ１〜ＲＧＮ）を生成する場合などに、その生成した許容範囲をユーザーが確認することができる。
【００７１】
なお、以上の実施形態では、経路決定処理をロボット制御システム１０が行う場合を例に説明したが、本実施形態はこれに限定されない。例えば経路決定処理を、ロボット３０と別体の経路作成装置（例えばＰＣ等の情報処理装置など）が行ってもよい。
【００７２】
経路作成装置は、移動経路演算部１１２と、移動経路演算部１１２が求めた移動経路の情報を出力する出力部と、を含む。移動経路の情報は、例えば現在点・中継点・目標点の位置及び姿勢、或はそれらの点におけるジョイント角度、或はそれらのジョイント角度をロボットに指示する制御信号などである。出力部は、例えばＵＳＢ等の通信インターフェースや、メモリーカード等の外部記憶装置のインターフェース等などにより実現できる。
【００７３】
３．３．中継点の探索処理
次に、図６のステップＳ８、Ｓ１６の処理、即ちジョイント角度（θ１、θ２、θ３）を実現できる中継点ＲＰｉを求める処理について説明する。図８に、その処理のフローチャートを示す。
【００７４】
処理を開始すると、中継点を求める中継点範囲の情報を取得する（ステップＳ３１）。取得する情報は、基準位置のＸＹ座標（Ｘ，Ｙ）、Ｘ軸方向の幅Ｗ、Ｙ軸方向の幅Ｈ、姿勢を表す角度の最大値Θｍａｘと最小値Θｍｉｎである。なお、ここでは、基準位置のＸＹ座標（Ｘ，Ｙ）を中継点範囲の左下隅（座標値Ｘ、Ｙが最も小さい位置）とする。次に、最新点の情報を取得する（ステップＳ３２）。取得する情報は、最新点のＸＹ座標（Ｘｃ，Ｙｃ）、最新点の姿勢を表す角度Θｃである。
【００７５】
次に、中継点範囲から中継点の候補を選択し、その中継点の候補を実現できるジョイント角度を計算する。そして、ジョイント角度を計算できる中継点が見つかるまで候補を順次変えながら、処理を繰り返す。
【００７６】
具体的には、所定の自然数Ｍで中継点範囲を分割する（ステップＳ３３）。即ち、δｘ＝Ｗ／（Ｍ−１）、δｙ＝Ｈ／（Ｍ−１）、δθ＝（Θｍａｘ−Θｍｉｎ）／（Ｍ−１）を求める。次に、ｉ＝０を設定する（ステップＳ３４）。次に、ｉ＜Ｍであるか否かを判定する（ステップＳ３６）。ｉ＜Ｍである場合には、中継点範囲内の座標Ｘａ＝Ｘ＋δｘ×ｉを取得する（ステップＳ３７）。次に、ｊ＝０を設定する（ステップＳ３８）。次に、ｊ＜Ｍであるか否かを判定する（ステップＳ４０）。ｊ＜Ｍである場合には、中継点範囲内の座標Ｙａ＝Ｙ＋δｙ×ｊを取得する（ステップＳ４１）。次に、ｋ＝０を設定する（ステップＳ４２）。次に、ｋ＜Ｍであるか否かを判定する（ステップＳ４３）。ｋ＜Ｍである場合には、中継点範囲内の角度Θａ＝Θｍｉｎ＋δθ×ｋを取得する（ステップＳ４４）。
【００７７】
次に、中継点の候補（Ｘａ，Ｙａ，Θａ）を実現するジョイント角度（θ１，θ２，θ３）を求める（ステップＳ４５）。このステップＳ４５の処理の詳細については後述する。次に、ジョイント角度（θ１，θ２，θ３）が求められたか否かを判定する（ステップＳ４６）。ジョイント角度を求められなかった場合には、中継点の候補を変更して繰り返し演算を行う。即ち、ｋ＝ｋ＋１とし（ステップＳ４７）、ステップＳ４３に戻る。ｋ＜Ｍでなくなった場合には、ｊ＝ｊ＋１とし（ステップＳ３９）、ステップＳ４０に戻る。ｊ＜Ｍでなくなった場合には、ｉ＝ｉ＋１とし（ステップＳ３５）、ステップＳ３６に戻る。この繰り返し演算により、中継点の候補を実現するジョイント角度が求められた場合（ステップＳ４６）、その中継点の候補（Ｘａ，Ｙａ，Θａ）を中継点とし、その中継点を実現するジョイント角度（θ１，θ２，θ３）を保持し（ステップＳ４８）、処理を終了する。
【００７８】
なお、ステップＳ３６においてｉ＜Ｍでない場合には、中継点範囲に含まれる中継点を決定できなかった旨のエラー通知を行い（ステップＳ４９）、処理を終了する。
【００７９】
３．４．ジョイント角度の算出処理
次に、図８のステップＳ４５の処理、即ち中継点の候補Ｐａ＝（Ｘａ，Ｙａ，Θａ）を実現するジョイント角度θ＝（θ１，θ２，θ３）を求める処理について説明する。図９に、処理のフローチャートを示す。
【００８０】
この処理では、反復演算によりジョイント角度θ＝θｃ＋Δθを求める。例えば、図７の現在点ＣＰ側から中継点ＲＰ１を決める場合、θｃ＝（θ１ｃ、θ２ｃ、θ３ｃ）は、現在点ＣＰ（最新点）でのジョイント角度であり、中継点ＲＰ１でのジョイント角度θ＝（θ１，θ２，θ３）を求めることになる。Δθ＝（Δθ１，Δθ２，Δθ３）は、θとθｃの間のジョイント角度変化である。
【００８１】
図９の処理を開始すると、まず、ジョイント角度の初期値θ０＝（θ１＿０，θ２＿０，θ３＿０）を設定する（ステップＳ６１）。次に、ｎ＝０を設定する（ステップＳ６２）。次に、ｎ＜ｎｍａｘであるか否かを判定する（ステップＳ６３）。ｎｍａｘは反復回数の上限である。ｎ＜ｎｍａｘである場合には、ジョイント角度θｎ＝（θ１＿ｎ，θ２＿ｎ，θ３＿ｎ）におけるヤコビ行列［Ｊ］＿ｎを求める（ステップＳ６４）。次に、ヤコビ行列［Ｊ］＿ｎの逆行列［Ｊ−１］＿ｎを求める（ステップＳ６５）。
【００８２】
次に、△θｎ＝（△θ１＿ｎ，△θ２＿ｎ，△θ３＿ｎ）をΔθｎ＝［Ｊ−１］＿ｎ・ΔＰから求め、θｎ＋１＝θｎ＋Δθｎを求める（ステップＳ６６）。ここで、ΔＰ＝Ｐａ−Ｐｃ＝（Ｘａ−Ｘｃ，Ｙａ−Ｙｃ，Θａ−Θｃ）は、最新点Ｐｃから中継点の候補Ｐａまでの位置及び姿勢の変化である。Δθｎは、反復演算のｎ回目に求めたジョイント角度変化Δθである。初期値θ０は、一般には解とは異なるので、演算を繰り返すに従ってΔθｎは変化する。
【００８３】
次に、差分θｎ＋１−θｎを求める（ステップＳ６７）。次に、差分θｎ＋１−θｎが十分に小さい（例えば所定閾値より小さい）か否かを判定する（ステップＳ６８）。差分θｎ＋１−θｎが十分に小さくない場合には、ｎ＝ｎ＋１とし（ステップＳ６９）、ステップＳ６３に戻る。一方、差分θｎ＋１−θｎが十分に小さい場合には、θ＝θｎ＋１とする。即ち、中継点の候補Ｐａ＝（Ｘａ，Ｙａ，Θａ）を実現するジョイント角度θ＝（θ１，θ２，θ３）として、θｎ＋１＝（θ１＿ｎ＋１，θ２＿ｎ＋１，θ３＿ｎ＋１）を保持し（ステップＳ７０）、処理を終了する。
【００８４】
なお、ステップＳ６３においてｎが反復回数の上限ｎｍａｘに達した場合には、中継点範囲内において中継点の候補Ｐａを実現するジョイント角度θを求められなかった旨のエラー通知を行い、処理を終了する（ステップＳ７１）。
【００８５】
以上の実施形態では、移動経路演算部１１２は、関節角（ジョイント角度θ＝（θ１，θ２，θ３））が存在する中継点を各許容範囲（各中継点範囲）において決定する。
【００８６】
アームの移動経路が成立するためには、その経路を実現するジョイント角度が存在する必要がある。本実施形態では、ジョイント角度が存在する中継点を許容範囲内で決定することにより、各許容範囲に中継点が位置するようにジョイント角度を求め、アームの移動経路を生成できる。
【００８７】
また本実施形態では、移動経路演算部１１２は、第１〜第Ｎの中継点ＲＰ１〜ＲＰＮの第ｉの中継点ＲＰｉが決定されている場合に、第ｉ＋１の中継点ＲＰｉ＋１の候補点Ｐａ＝（Ｘａ，Ｙａ，Θａ）を、第ｉ＋１の許容範囲（中継点範囲ＲＧｉ＋１）から選択する（図８のステップＳ３４〜Ｓ４４）。そして、移動経路演算部１１２は、第ｉの中継点ＲＰｉから候補点Ｐａへの移動に対応する関節角の変化Δθ＝（Δθ１，Δθ２，Δθ３）が存在すると判定した場合には、その候補点Ｐａを第ｉ＋１の中継点ＲＰｉ＋１に決定する（図８のステップＳ４５〜Ｓ４８、図９のフロー）。一方、関節角の変化Δθが存在しないと判定した場合には、次の候補点を第ｉ＋１の許容範囲（ＲＧｉ＋１）から選択する（図８のステップＳ３５、Ｓ３９、Ｓ４７）。
【００８８】
このようにすれば、ジョイント角度θ＝（θ１，θ２，θ３）が存在する中継点を各許容範囲において決定できる。即ち、許容範囲内の点を順次、中継点の候補に設定し、その候補を実現するジョイント角度θが存在するか否かを判断することにより、中継点を決定できる。
【００８９】
例えば、図９で説明したように、ジョイント角度θを初期値θ０から始め、逆ヤコビ行列［ｊ−１］＿ｎを用いた繰り返し演算によりジョイント角度θｎを収束させ、ジョイント角度θを決定してもよい。
【００９０】
この手法によれば、繰り返し演算によるジョイント角度θｎが十分に小さくなった場合に、ジョイント角度θの解（中継点を実現する解）が存在すると判断できる。また、初期値θ０を、最新点（１つ前の中継点範囲で決定した中継点）のジョイント角度に基づいて設定できる。求める中継点のジョイント角度は、１つ前の中継点のジョイント角度に近しいと考えられるので、そのような初期値を設定することにより、ジョイント角度θｎを速く収束させ、反復演算の繰り返し回数を削減できる。
【００９１】
３．５．中継点の連結処理
次に、図６のステップＳ２１の処理、即ち同一の中継点範囲について現在点ＣＰ側及び目標点ＴＰ側から求めた中継点（例えば、図７の中継点ＲＰ３’、ＲＰ３”）を連結する処理について説明する。
【００９２】
図１０に、第１の連結処理を行う場合のフローチャートを示す。この処理では、現在点ＣＰ側から求めた中継点を採用する。即ち、処理を開始すると、現在点ＣＰ側及び目標点ＴＰ側から求めた中継点が求められている中継点範囲について、現在点ＣＰ側から求めた中継点を実現するジョイント角度を取得する（ステップＳ８１）。次に、取得したジョイント角度を、その中継点範囲でのジョイント角度として保持する（ステップＳ８２）。
【００９３】
図１１に、第２の連結処理を行う場合のフローチャートを示す。この処理では、目標点ＴＰ側から求めた中継点を採用する。即ち、処理を開始すると、現在点ＣＰ側及び目標点ＴＰ側から求めた中継点が求められている中継点範囲について、目標点ＴＰ側から求めた中継点を実現するジョイント角度を取得する（ステップＳ９１）。次に、取得したジョイント角度を、その中継点範囲でのジョイント角度として保持する（ステップＳ９２）。
【００９４】
図１２に、第３の連結処理を行う場合のフローチャートを示す。この処理では、現在点ＣＰ側及び目標点ＴＰ側から求めた中継点の平均を採用する。即ち、処理を開始すると、現在点ＣＰ側及び目標点ＴＰ側から求めた中継点が求められている中継点範囲について、現在点ＣＰ側から求めた中継点を実現するジョイント角度を取得する（ステップＳ１０１）。次に、その中継点範囲について、目標点ＴＰ側から求めた中継点を実現するジョイント角度を取得する（ステップＳ１０２）。次に、取得したジョイント角度の平均値を求め、その平均値を、その中継点範囲でのジョイント角度として保持する（ステップＳ１０３）。
【００９５】
以上の実施形態では、移動経路演算部１１２は、現在点ＣＰ側及び目標点ＴＰ側から決定した中継点（図７のＲＰ３’、ＲＰ３”）の一方を最終の中継点に決定する処理（図１０、図１１）、又は現在点ＣＰ側及び目標点ＴＰ側から決定した中継点の平均値を最終の中継点に決定する処理を、連結処理として行う。
【００９６】
このようにすれば、現在点ＣＰ側及び目標点ＴＰ側から決定した中継点が１つの許容範囲（中継点範囲）内に存在する場合に、その中継点を許容範囲内で連結し、その許容範囲の最終的な中継点を決定できる。なお、連結処理は上記手法に限定されず、種々の手法を採用できる。例えば、現在点ＣＰ側及び目標点ＴＰ側から決定した中継点を共に採用し、その２つの中継点の間のジョイント角度変化を求めてもよい。
【００９７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また、ロボット制御システム、ロボット、経路作成装置の構成・動作や、中継点の決定手法、ロボットの制御手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【００９８】
１０  ロボット制御システム、３０  ロボット（ロボット本体）、
４０  ワーク、１１０  処理部、１１２  移動経路演算部、
１２０  ロボット制御部、１３０  記憶部、１４０  Ｉ／Ｆ部、
３１０  制御部、３２０  アーム、３３０  エンドエフェクター、
Ｈ，Ｗ  位置範囲、ＪＴ１〜ＪＴ３  ジョイント、
ＲＧ１〜ＲＧ５  中継点範囲（許容範囲）、ＲＰ１〜ＲＰ５  中継点、
ＴＰ  目標点、Ｘ，Ｙ  座標（位置）、Θ  角度（姿勢）、
Θｉｍａｘ  姿勢範囲の最大値、Θｉｍｉｎ：姿勢範囲の最小値、
θ１〜θ３  ジョイント角度（関節角）
【図１】
2015016536.tif 000003
【図２】
2015016536.tif 000004
【図３】
2015016536.tif 000005
【図４】
2015016536.tif 000006
【図５】
2015016536.tif 000007
【図６】
2015016536.tif 000008
【図７】
2015016536.tif 000009
【図８】
2015016536.tif 000010
【図９】
2015016536.tif 000011
【図１０】
2015016536.tif 000012
【図１１】
2015016536.tif 000013
【図１２】
2015016536.tif 000014