(57)【要約】  ロボットシステムは、ロボット（１０）と、動作制御部とを備える。ロボット（１０）は、基部と、旋回ベース（１２）と、第１アーム（１３）と、第２アーム（１５）と、第３アーム（１６）とを備える。第１アーム（１３）は、水平向きの第２軸まわりに旋回可能に、基端側が旋回ベースで支持される。冗長アーム（１４）は、第２軸と平行な冗長軸まわりに旋回可能に、基端側が第１アーム（１３）の先端側で支持される。第２アーム（１５）は、第２軸と平行な第３軸まわりに旋回可能に、基端側が冗長アーム（１４）の先端側で支持される。第３アーム（１６）は、第３軸と垂直な第４軸まわりに回転可能に、基端側が第２アーム（１５）の先端側で支持される。動作制御部（１１１）は、第４軸の向きを維持したまま第４軸上に設けられる制御点が直線的に移動するように、冗長アームを動作させる。
2017002208.tif 000002
【特許請求の範囲】
【請求項１】
設置面に固定される基部と、  鉛直向きの第１軸まわりに回転可能に、前記基部に支持される旋回ベースと、  水平向きの第２軸まわりに旋回可能に、基端側が前記旋回ベースで支持される第１アームと、  前記第２軸と平行な冗長軸まわりに旋回可能に、基端側が前記第１アームの先端側で支持される冗長アームと、  前記第２軸と平行な第３軸まわりに旋回可能に、基端側が前記冗長アームの先端側で支持される第２アームと、  前記第３軸と垂直な第４軸まわりに回転可能に、基端側が前記第２アームの先端側で支持される第３アームと  を備えるロボットと、  前記第４軸の向きを維持したまま前記第４軸上に設けられる制御点が直線的に移動するように、前記冗長アームを動作させる動作制御部と  を備えることを特徴とするロボットシステム。
【請求項２】
前記動作制御部は、  前記第４軸の向きと平行な向きに前記制御点を直線的に移動させること  を特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記動作制御部は、  前記第４軸の向きと垂直な向きに前記制御点を直線的に移動させること  を特徴とする請求項１に記載のロボットシステム。
【請求項４】
前記第３アームは、  前記第４軸に直交する第５軸と、前記第５軸に直交する第６軸と  を備え、  前記第６軸の向きが拘束されている場合に、前記第４軸と前記第６軸とが同一直線上にならないように、前記冗長アームを動作させる回避動作部  を備えること  を特徴とする請求項１に記載のロボットシステム。
【請求項５】
前記第３アームの先端側に前記冗長軸が突出した状態で前記第１アームおよび前記冗長アームを屈曲させる第１姿勢と、前記先端側とは反対側に前記冗長軸が突出した状態で前記第１アームおよび前記冗長アームを屈曲させる第２姿勢とのいずれをとるかを、障害物情報に基づいて決定する姿勢決定部  を備えることを特徴とする請求項１〜４のいずれか一つに記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】  開示の実施形態は、ロボットシステムに関する。
【背景技術】
【０００２】  従来、複数の関節部がそれぞれ駆動されることで動作するロボットが知られている。かかるロボットの先端には、溶接や把持といった用途にあわせたエンドエフェクタが取り付けられ、ワークの加工や移動といった様々な作業が行われる。【０００３】  かかるロボットとしては、いわゆる６軸の垂直多関節ロボットが広く用いられている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９６７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】  しかしながら、上記した従来の６軸ロボットを用いた場合、ロボットアーム（以下、単に「アーム」という）がロボット以外の設備やロボット本体と干渉し、ロボットの動作範囲が実質的に狭まることがある。たとえば、開口部が狭く奥まった場所へロボット先端を侵入させる場合などに、開口部とアームとの干渉を回避できないことがある。【０００６】  実施形態の一態様は、上記に鑑みてなされたものであって、アームの干渉を低減することができるロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】  実施形態の一態様に係るロボットシステムは、基部と、旋回ベースと、第１アームと、冗長アームと、第２アームと、第３アームとを備えるロボットと、動作制御部とを備える。基部は、設置面に固定される。旋回ベースは、鉛直向きの第１軸まわりに回転可能に、前記基部に支持される。第１アームは、水平向きの第２軸まわりに旋回可能に、基端側が前記旋回ベースで支持される。冗長アームは、前記第２軸と平行な冗長軸まわりに旋回可能に、基端側が前記第１アームの先端側で支持される。第２アームは、前記第２軸と平行な第３軸まわりに旋回可能に、基端側が前記冗長アームの先端側で支持される。第３アームは、前記第３軸と垂直な第４軸まわりに回転可能に、基端側が前記第２アームの先端側で支持される。動作制御部は、前記第４軸の向きを維持したまま前記第４軸上に設けられる制御点が直線的に移動するように、前記冗長アームを動作させる。
【発明の効果】
【０００８】  実施形態の一態様によれば、アームの干渉を低減することが可能となるロボットシステムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るロボットの概要を示す模式図である。
【図２】図２は、ロボットの側面図である。
【図３】図３は、ロボットシステムの構成を示すブロック図である。
【図４Ａ】図４Ａは、第４軸の向きを維持したまま制御点を直線的に移動させる動作を示す模式図（その１）である。
【図４Ｂ】図４Ｂは、第４軸の向きを維持したまま制御点を直線的に移動させる動作を示す模式図（その２）である。
【図４Ｃ】図４Ｃは、第４軸の向きを維持したまま制御点を直線的に移動させる動作を示す模式図（その３）である。
【図５Ａ】図５Ａは、冗長軸を第３アーム側へ突出させた場合の動作を示す模式図（その１）である。
【図５Ｂ】図５Ｂは、冗長軸を第３アーム側へ突出させた場合の動作を示す模式図（その２）である。
【図５Ｃ】図５Ｃは、冗長軸を第３アーム側へ突出させた場合の動作を示す模式図（その３）である。
【図６Ａ】図６Ａは、第４軸と垂直な向きに制御点を移動させる動作を示す模式図（その１）である。
【図６Ｂ】図６Ｂは、第４軸と垂直な向きに制御点を移動させる動作を示す模式図（その２）である。
【図６Ｃ】図６Ｃは、第４軸と垂直な向きに制御点を移動させる動作を示す模式図（その３）である。
【図７Ａ】図７Ａは、鉛直向きにした第４軸に沿って制御点を移動させる動作を示す模式図（その１）である。
【図７Ｂ】図７Ｂは、鉛直向きにした第４軸に沿って制御点を移動させる動作を示す模式図（その２）である。
【図７Ｃ】図７Ｃは、鉛直向きにした第４軸に沿って制御点を移動させる動作を示す模式図（その３）である。
【図８】図８は、第３アームの特異点回避を説明する図である。
【図９】図９は、ロボット制御装置が実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】  以下、添付図面を参照して、本願の開示するロボットシステムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１１】  まず、実施形態に係るロボット１０の概要について図１を用いて説明する。図１は、ロボット１０の概要を示す模式図である。なお、図１では、ロボット１０の一部の構成のみを示すこととし、詳細については、図２を用いて後述することとする。また、図１には、説明をわかりやすくするために、鉛直上向きが正方向であるＺ軸を含む３次元の直交座標系を図示している。かかる直交座標系は、以下の説明で用いる他の図面においても示す場合がある。
【００１２】  図１に示すように、ロボット１０は、第１軸Ｓ、第２軸Ｌ、冗長軸Ｅ、第３軸Ｕ、第４軸Ｒ、第５軸Ｂおよび第６軸Ｔにそれぞれ対応する関節部を有している。そして、ロボット１０は、各関節部を駆動するアクチュエータであるモータ１０ａ（図３参照）によって各アームを旋回または回転させることで姿勢を変更する。このように、ロボット１０は、冗長軸Ｅを有する７軸ロボットである。
【００１３】  なお、以下では、各関節部の回転軸である「第１軸Ｓ」、「第２軸Ｌ」、「冗長軸Ｅ」、「第３軸Ｕ」、「第４軸Ｒ」、「第５軸Ｂ」および「第６軸Ｔ」を、対応する関節部の名称として用いる場合もある。
【００１４】  図１に示すように、第２軸Ｌ、冗長軸Ｅ、第３軸Ｕおよび第５軸Ｂのように、隣り合うアームのなす角度を変化させる回転軸をもつ関節を「旋回関節」、第１軸Ｓ、第４軸Ｒ、第６軸Ｔのように、隣り合うアームのなす角度を変化させずに相対的に回転させる回転軸をもつ関節を「回転関節」と呼ぶこととする。なお、第２軸Ｌ、冗長軸Ｅおよび第３軸Ｕは、途中に回転関節を含んでいないので、お互いに常に平行である。
【００１５】  なお、同図では、ロボット１０の各関節部をシンボル化して示しており、菱形で上記した「回転関節」を、円で上記した「旋回関節」をそれぞれあらわしている。「回転関節」に対応する菱形のシンボルの対角線を結ぶ線は、関節の回転面に対応しており、かかる線と垂直な回転軸まわりに関節は回転する。また、「旋回関節」に対応する円の中心に付した点は回転軸に対応しており、かかる回転軸まわりに関節は回転する。
【００１６】  ロボット１０は、第２軸Ｌまわりに旋回する第１アーム１３と、冗長軸Ｅまわりに旋回する冗長アーム１４と、第３軸Ｕまわりに旋回する第２アーム１５とを備える。そして、第２アーム１５の先端側には第４軸Ｒ、第５軸Ｂおよび第６軸Ｔを有する第３アーム１６を備える。ここで、第４軸Ｒ上に制御点２０が設定される。制御点２０とは、ロボット１０の制御を行う際に基準となる点のことを指す。
【００１７】  なお、図１では、第４軸Ｒに対応する関節部と、第５軸Ｂに対応する関節部との間に制御点２０を示しているが、第４軸Ｒ上であれば任意の位置に制御点２０を設定することができる。たとえば、第４軸Ｒと第５軸Ｂとの交点に制御点２０を設定することができる。
【００１８】  従来、上記した冗長軸Ｅおよび冗長アーム１４を有しない６軸ロボットが広く用いられてきた。かかる６軸ロボットを用いた場合、第１アーム１３の先端側に第３軸Ｕが配置され、第３軸Ｕまわりに第２アーム１５が旋回することになる。
【００１９】  しかしながら、かかる６軸ロボットでは、第２軸Ｌを中心とする円に沿って第３軸Ｕが移動することになるので、同図のＸ軸と平行な向き（水平向き）や、Ｚ軸と平行な向き（鉛直向き）に沿って第３軸Ｕを移動させることはできない。
【００２０】  つまり、Ｙ軸と平行な第２軸Ｌを中心とする円上を移動する第３軸Ｕは、Ｘ座標と、Ｚ座標とが同時に変化するので、Ｘ座標を変化させずにＺ座標を変化させたり、Ｚ座標を変化させずにＸ座標を変化させたりすることはできない。このため、第４軸Ｒの向きを維持したまま、第４軸Ｒ上に設けられる制御点２０を直線的に移動させることはできない。
【００２１】  そこで、本実施形態に係るロボット１０では、上記した冗長軸Ｅおよび冗長アーム１４を備える７軸ロボットとすることで、第３軸Ｕを水平向きや、鉛直向きに移動可能とした。したがって、ロボット１０によれば、第３軸Ｕよりも先端側にある第４軸Ｒの向きを維持したまま、第４軸Ｒ上に設けられる制御点２０を直線的に移動させることができる。
【００２２】  具体的には、第１アーム１３の先端側にある冗長軸Ｅは、図１に円で示した軌跡ＥＬ上を移動可能である。ここで、軌跡ＥＬは、図１では円として示したが、第１軸Ｓまわりの回転が含まれるので実際には球状となる。また、冗長アーム１４の先端側にある第３軸Ｕは、図１に示した位置に冗長軸Ｅがある場合、円で示した軌跡ＵＬ上を移動可能である。
【００２３】  そして、冗長軸Ｅを軌跡ＥＬ上で移動させた場合、軌跡ＵＬが通過する範囲は、同図に示した可動範囲ＵＮ内の全領域となる。すなわち、第３軸Ｕは、可動範囲ＵＮ内の任意の位置に移動することができる。なお、可動範囲ＵＮは、図１では円として示したが、第１軸Ｓまわりの回転が含まれるので実際には球状となる。なお、上記した説明では、説明をわかりやすくするために、ロボット１０のアーム同士の干渉や、接地面３０との干渉を無視している。
【００２４】  これらのことから、ロボット１０によれば、可動範囲ＵＮの任意の位置に、第２アーム１５の基端側（冗長アーム１４の先端側）にある第３軸Ｕを移動させることができる。したがって、可動範囲ＵＮ内の任意の直線に沿って第３軸Ｕを移動させることができる。さらに、第２アーム１５は、第３軸Ｕまわりに旋回自在であるので、第２アーム１５の先端側に取り付けられた第３アーム１６における第４軸Ｒの向きを自在に変更可能である。
【００２５】  このように、球状である可動範囲ＵＮ内において第３軸Ｕを直線的に移動させることとすれば、第４軸Ｒの向きを維持したまま、第４軸Ｒ上に設けられる制御点２０を直線的に移動させることが可能となる。なお、制御点２０を直線的に移動させるロボット１０の具体的な動作の詳細については、図４Ａ〜Ｃ、図５Ａ〜Ｃ、図６Ａ〜Ｃ、図７Ａ〜Ｃを用いて後述することとする。
【００２６】  次に、ロボット１０の具体的な構成について図２を用いて説明する。図２は、ロボット１０の側面図である。同図に示すように、ロボット１０は、基端側から先端側へ向けて、基台１１、旋回ベース１２、第１アーム１３、冗長アーム１４、第２アーム１５および第３アーム１６を備える。また、第３アーム１６は、基端側から先端側へ向けて、回転アーム１６ａ、旋回アーム１６ｂおよび回転アーム１６ｃを備える。
【００２７】  基台１１は、床などの設置面３０に固定される。旋回ベース１２は、鉛直向きの第１軸Ｓまわりに回転可能に基台１１に支持される。第１アーム１３は、基端側が水平向きの第２軸Ｌまわりに旋回可能に旋回ベース１２に支持される。冗長アーム１４は、基端側が第２軸Ｌと平行な冗長軸Ｅまわりに旋回可能に第１アーム１３の先端側に支持される。
【００２８】  したがって、ロボット１０は、第１アーム１３と冗長アーム１４とを屈曲させた姿勢とした場合に、冗長アーム１４の回転軸である冗長軸Ｅを、図１の姿勢におけるＸ軸正方向に突出させる姿勢と、Ｘ軸負方向に突出させる姿勢とをとることができる。なお、これらの姿勢のいずれをとるかの決定は、ロボット制御装置１００の姿勢決定部１１３（図３参照）が行うが、この点の詳細については後述することとする。
【００２９】  第２アーム１５は、基端側が第２軸Ｌおよび冗長軸Ｅと平行な第３軸Ｕまわりに旋回可能に冗長アーム１４の先端側に支持される。第３アーム１６は、基端側が第２軸Ｌ、冗長軸Ｅおよび第３軸Ｕと垂直な第４軸Ｒまわりに回転可能に第２アーム１５の先端側に支持される。
【００３０】  具体的には、第３アーム１６の回転アーム１６ａは、基端側が上記した第４軸Ｒまわりに回転可能に第２アーム１５の先端側に支持され、旋回アーム１６ｂは、基端側が第４軸Ｒと直交する第５軸Ｂまわりに旋回可能に回転アーム１６ａの先端側に支持される。
【００３１】  そして、回転アーム１６ｃは、基端側が第５軸Ｂと直交する第６軸Ｔまわりに回転可能に旋回アーム１６ｂの先端側に支持される。なお、ロボット１０における先端のアームである回転アーム１６ｃには、溶接や把持といった様々な用途ごとに用意されるエンドエフェクタ（図示せず）を着脱可能である。
【００３２】  このように、第４軸Ｒと第５軸Ｂとは直交し、第５軸Ｂと第６軸Ｔとは直交する。このため、第４軸Ｒと第６軸Ｔとはお互いに交差する関係となる。したがって、第４軸Ｒと第６軸Ｔとが一直線上となる姿勢を第３アーム１６が仮にとってしまうと、特異点の問題が生じる。そこで、本実施形態に係るロボット制御装置１００は、かかる特異点を回避するために、冗長軸Ｅを活用した動作をロボット１０に行わせるが、この点については図８を用いて後述することとする。
【００３３】  また、ロボット１０の旋回ベース１２は、旋回ベース１２を第１軸Ｓまわりに回転させるモータ１０ａＳをたとえば上面に備える。かかる位置にモータ１０ａＳを配置する場合、各アームとモータ１０ａＳとが干渉しないようにロボット１０を動作させる必要がある。そこで、本実施形態に係るロボット制御装置１００は、かかる干渉を回避するために、冗長軸Ｅを活用した動作をロボット１０に行わせるが、この点については図５Ａ〜Ｃ、図６Ａ〜Ｃを用いて後述することとする。
【００３４】  また、図１に示した姿勢において、ロボット１０の旋回ベース１２は、第２軸Ｌを第１軸ＳよりもＸ軸正方向へオフセットさせている。また、図１に示した姿勢において、ロボット１０の第２アーム１５は、第４軸Ｒを第３軸ＵよりもＺ軸の正方向へオフセットさせている。なお、これらのオフセット量については、ロボット１０の作業内容等にあわせて適宜定めることができる。
【００３５】  次に、本実施形態に係るロボットシステム１について図３を用いて説明する。図３は、ロボットシステム１の構成を示すブロック図である。図３に示すように、ロボットシステム１は、ロボット１０と、ロボット制御装置１００とを備える。また、ロボット１０は、ロボット制御装置１００に接続されている。
【００３６】  ロボット１０は、ロボット制御装置１００からの指示に従って所定の作業を行うロボットである。ロボット１０は、図２を用いて既に説明したように、複数のアームを関節部で接続したロボットであり、各関節部にモータ１０ａを備える。上記したように、本実施形態に係るロボット１０は、７軸ロボットであるので、モータ１０ａの個数は７つである。
【００３７】  モータ１０ａとしては、回転角を検出するエンコーダを含んだサーボモータを用いることができる。ロボット制御装置１００は、モータ１０ａにおけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボット１０に所望の姿勢をとらせる。なお、ロボット１０の具体的な構成については、図２を用いて既に説明したのでここでの説明は省略する。
【００３８】  ここで、「姿勢」とは、各関節部における回転量の組み合わせのことを指す。すなわち、「姿勢」は、見た目の外形のみを指すのではなく、たとえ外形が変わらなくても隣接するアーム同士が回転していれば、「姿勢を変更した」ということとする。
【００３９】  ロボット制御装置１００は、制御部１１０と、記憶部１２０とを備える。制御部１１０は、動作制御部１１１と、回避動作部１１２と、姿勢決定部１１３とを備える。記憶部１２０は、教示情報１２１と、特異点情報１２２と、障害物情報１２３とを記憶する。
【００４０】  ここで、ロボット制御装置１００は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００４１】  コンピュータのＣＰＵは、たとえば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部１１０の動作制御部１１１、回避動作部１１２および姿勢決定部１１３として機能する。
【００４２】  また、動作制御部１１１、回避動作部１１２および姿勢決定部１１３の少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００４３】  また、記憶部１２０は、たとえば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、教示情報１２１、特異点情報１２２および障害物情報１２３を記憶することができる。なお、ロボット制御装置１００は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【００４４】  制御部１１０は、ロボット１０の動作制御を行う。動作制御部１１１は、教示情報１２１に基づいてモータ１０ａに指示することでロボット１０に所望の姿勢をとらせる。また、動作制御部１１１は、モータ１０ａにおけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボット１０の動作精度を向上させる。
【００４５】  ここで、教示情報１２１は、ロボット１０へ動作を教示するティーチング段階で作成され、ロボット１０の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
【００４６】  また、動作制御部１１１は、回避動作部１１２や姿勢決定部１１３から後述する指示を通知された場合に、かかる指示に応じてロボット１０に取らせるべき姿勢を決定する。そして、動作制御部１１１は、たとえば、上記した第４軸Ｒ（図２参照）の向きを維持したまま、第４軸Ｒ上に設けられる制御点２０（図１参照）が直線的に移動するように、冗長アーム１４（図２参照）を旋回させつつロボット１０を動作させる。
【００４７】  なお、動作制御部１１１が、ロボット１０の制御点２０を直線的に移動させる具体的な内容については、図４Ａ〜Ｃ、図５Ａ〜Ｃ、図６Ａ〜Ｃ、図７Ａ〜Ｃを用いて後述することとする。
【００４８】  回避動作部１１２は、上記した第３アーム１６（図２参照）が特異点となる姿勢をとらないように、ロボット１０に回避動作をとらせる指示を動作制御部１１１へ通知する。ここで、第３アーム１６が特異点となる姿勢とは、第４軸Ｒと第６軸Ｔとが一直線上となる姿勢である（図１参照）。
【００４９】  回避動作部１１２は、かかる特異点を回避するために、冗長軸Ｅを、第２軸Ｌなどと協調動作させることで、冗長アーム１４の先端側にある第３軸Ｕの位置を調整する。これにより、第４軸Ｒの向きに自由度が生じるので、たとえば、第３アーム１６の第６軸Ｔの向きがワーク（図示せず）などとの関係によって拘束されている場合であっても、第３アーム１６が特異点となる姿勢をとることを回避することができる。なお、この点の詳細については図８を用いて後述することとする。
【００５０】  ここで、特異点情報１２２は、たとえば、第４軸Ｒと第６軸Ｔとが「相互に所定の度数以下の傾きであること」といった条件を含んだ情報である。回避動作部１１２は、モータ１０ａにおけるエンコーダ値に基づいて生成したロボット１０の現在の姿勢もしくは予想される姿勢が、かかる条件に合致するか否かを判定する。
【００５１】  そして、条件に合致した場合には、該当する回転軸同士の傾きが上記した条件に合致しないように、第３軸Ｕの位置や軌跡を動作制御部１１１へ指示する。なお、回避動作部１１２が、特異点を回避するために行う冗長軸Ｅを活用した具体的な内容については図８を用いて後述することとする。
【００５２】  姿勢決定部１１３は、冗長アーム１４の回転軸である冗長軸Ｅを、図１のように第３アーム１３の先端側、すなわち、Ｘ軸正方向に突出させる「第１姿勢」と、かかる先端側とは反対側、すなわち、Ｘ軸負方向に突出させる「第２姿勢」とのいずれかを選択する。
【００５３】  具体的には、姿勢決定部１１３は、障害物情報１２３に基づき、第１姿勢と、第２姿勢とのうちとることが可能な姿勢を決定する。なお、双方の姿勢をとることが可能な場合には、あらかじめ定めておいた優先順位に基づき、優先順位の高い姿勢をとることとすればよい。
【００５４】  ここで、障害物情報１２３は、ロボット１０のまわりに配置される各種装置の存在範囲を３次元であらわした情報である。また、障害物情報１２３には、ロボット１０が侵入してはいけない空間（たとえば、加工装置における入口扉の開閉領域など）を３次元であらわした情報を含めることができる。さらに、障害物情報１２３には、ロボット１０上に配置される部材、たとえば、図２に示したモータ１０ａＳの存在範囲を含めることができる。
【００５５】  姿勢決定部１１３は、かかる障害物情報１２３に基づき、上記した第１姿勢と、第２姿勢との中からいずれの姿勢をとるかを決定し、ロボット１０に決定した姿勢をとらせる指示を動作制御部１１１へ通知する。
【００５６】  次に、ロボット１０の動作の具体例について図４Ａ〜Ｃ、図５Ａ〜Ｃを用いて説明する。図４Ａ〜Ｃは、第４軸Ｒの向きを維持したまま制御点２０を直線的に移動させる動作を示す模式図（その１〜３）である。また、図５Ａ〜Ｃは、冗長軸Ｅを第３アーム１６側へ突出させた場合の動作を示す模式図（その１〜３）である。なお、図４Ａに示した姿勢が上記した「第２姿勢」に対応し、図５Ａに示した姿勢が上記した「第１姿勢」に対応する。
【００５７】  図４Ａ〜Ｃには、上記した障害物情報１２３に対応する障害物２０１と、一対の障害物２０２とを示している。障害物２０１は、たとえば、筐体型の装置である。また、障害物２０２は、たとえば、上壁および下壁であり、狭い通路の奥にある領域にアクセスする必要がある加工装置などの装置を模式的にあらわしている。
【００５８】  また、図４Ａ〜Ｃには、上記した第４軸Ｒ（図２参照）を延長した軸４０と、第４軸Ｒ上に設けられる制御点２０とを示している。すなわち、第４軸Ｒと、軸４０とは同軸であり、制御点２０は、軸４０上を移動することになる。また、図４Ａ〜Ｃには、参考のため、図１に示した冗長軸Ｅの軌跡ＥＬと、図４Ａ〜Ｃの各図に示した位置に冗長軸Ｅがある場合に第３軸Ｕが移動可能な位置をあらわす軌跡ＵＬとを示している。
【００５９】  図４Ａでは、ロボット１０（図１参照）よりもＸ軸正方向には障害物２０１がある。この場合、冗長軸Ｅを障害物２０１側には突出させにくい。そこで、姿勢決定部１１３（図３参照）は、冗長軸Ｅを障害物２０１側とは反対側（Ｘ軸負方向）へ突出させる姿勢を選択する。そして、図４Ａに示した姿勢において、第２軸Ｌを時計回りに回転させるとともに、第２軸Ｌと協調するように冗長軸Ｅを回転させることで、制御点２０を軸４０に沿ってＸ軸正方向へ移動させることができる。
【００６０】  図４Ｂには、一対の障害物２０２間へ侵入したロボット１０の姿勢を示している。さらに、図４Ｂには、参考のため、図４Ａに示した冗長軸Ｅおよび第３軸Ｕの位置を破線で示している。
【００６１】  図４Ｂに示した姿勢からさらに第２軸Ｌを時計回りに回転させ、第２軸Ｌの回転と協調するように冗長軸Ｅを回転させることで、制御点２０を軸４０に沿ってさらにＸ軸正方向へ移動させることができる。
【００６２】  図４Ｃには、第１アーム１３と、冗長アーム１４とが伸びきった状態のロボット１０の姿勢を示している。なお、図４Ｃには、参考のため、図４Ｂに示した冗長軸Ｅおよび第３軸Ｕの位置を破線で示している。
【００６３】  図５Ａ〜Ｃは、障害物２０１の位置が図４Ａ〜Ｃとは異なる。すなわち、図５Ａ〜Ｃでは、障害物２０１が、ロボット１０よりもＸ軸負方向にある。図５Ａに示すように、ロボット１０よりもＸ軸負方向に障害物２０１があると、冗長軸Ｅを障害物２０１側には突出させにくい。
【００６４】  そこで、姿勢決定部１１３（図３参照）は、冗長軸Ｅを障害物２０１とは反対側（Ｘ軸正方向）へ突出させる姿勢を選択する。そして、図５Ａに示した姿勢において、第２軸Ｌを時計回りに回転させるとともに、第２軸Ｌと協調するように冗長軸Ｅを回転させることで、制御点２０を軸４０に沿ってＸ軸正方向へ移動させることができる。
【００６５】  図５Ｂには、一対の障害物２０２間へ侵入したロボット１０の姿勢を示している。さらに、図５Ｂには、参考のため、図５Ａに示した冗長軸Ｅおよび第３軸Ｕの位置を破線で示している。
【００６６】  図５Ｂに示した姿勢からさらに第２軸Ｌを反時計回りに回転させ、第２軸Ｌの回転と協調するように冗長軸Ｅを回転させることで、制御点２０を軸４０に沿ってさらにＸ軸正方向へ移動させることができる。
【００６７】  図５Ｃには、第１アーム１３（図１参照）と、冗長アーム１４（図１参照）とが伸びきった状態のロボット１０の姿勢を示している。なお、図５Ｃには、参考のため、図５Ｂに示した冗長軸Ｅおよび第３軸Ｕの位置を破線で示している。
【００６８】  図４Ａ〜Ｃに示したように、冗長軸Ｅがロボット１０の先端側とは反対側に突出した姿勢をとった場合であっても、図５Ａ〜Ｃに示したように、冗長軸Ｅがロボット１０の先端側に突出した姿勢をとった場合であっても、第４軸Ｒの向きを維持したまま、第４軸Ｒ上に設けられた制御点２０を直線的に移動させることができる。
【００６９】  なお、図４Ａ〜Ｃおよび図５Ａ〜Ｃでは、制御点２０をＸ軸正方向へ直線的に移動させる場合を示したが、逆の手順で動作させることで、制御点２０をＸ軸負方向へ直線的に移動させることもできる点は自明である。
【００７０】  次に、第４軸Ｒの向きを維持したまま、第４軸Ｒ上に設けられた制御点２０を第４軸Ｒと垂直な向きに直線的に移動させる動作について図６Ａ〜Ｃを用いて説明する。図６Ａ〜Ｃは、第４軸Ｒと垂直な向きに制御点２０を移動させる動作を示す模式図（その１〜３）である。
【００７１】  図６Ａ〜Ｃには、上記した第４軸Ｒ（図２参照）と制御点２０の位置で直交する軸６０を示している。また、図６Ａ〜Ｃには、参考のため、図１に示した冗長軸Ｅの軌跡ＥＬと、図６Ａ〜Ｃの各図に示した位置に冗長軸Ｅがある場合に第３軸Ｕが移動可能な位置をあらわす軌跡ＵＬとを示している。なお、図６Ａ〜Ｃでは、図４Ａ〜Ｃ等に示した障害物２０１や障害物２０２の記載を省略している。
【００７２】  図６Ａに示した姿勢から、第２軸Ｌを反時計回りに回転させるとともに、第２軸Ｌと協調するように冗長軸Ｅを回転させることで、制御点２０を軸６０に沿ってＺ軸負方向へ移動させることができる。
【００７３】  図６Ｂには、参考のため、図６Ａに示した各関節の位置を破線で示している。図６Ｂに示した姿勢からさらに第２軸Ｌを反時計回りに回転させ、第２軸Ｌの回転と協調するように冗長軸Ｅを回転させることで、制御点２０を軸６０に沿ってさらにＺ軸負方向へ移動させることができる。
【００７４】  かかるロボット１０の姿勢を図６Ｃに示す。なお、図６Ｃには、参考のため、図６Ｂに示した各関節の位置を破線で示している。このように、ロボット１０は、第４軸Ｒの向きを維持したまま、制御点２０を第４軸Ｒと垂直な向きに直線的に移動させることができる。
【００７５】  なお、図６Ａ〜Ｃでは、制御点２０をＺ軸負方向へ直線的に移動させる場合を示したが、逆の手順で動作させることで、制御点２０をＺ軸正方向へ直線的に移動させることもできる点は自明である。
【００７６】  次に、第４軸Ｒ（図２参照）を鉛直向きに維持したまま、第４軸Ｒ上に設けられた制御点２０を鉛直方向に移動させる動作について図７Ａ〜Ｃを用いて説明する。図７Ａ〜Ｃは、鉛直向きにした第４軸Ｒに沿って制御点２０を移動させる動作を示す模式図（その１〜３）である。
【００７７】  なお、図７Ａ〜Ｃには、鉛直向きとした第４軸Ｒ（図２参照）を延長した軸７０と、第４軸Ｒ上に設けられる制御点２０とを示している。すなわち、第４軸Ｒと、軸７０とは同軸であり、制御点２０は、軸７０上を移動することになる。また、図７Ａ〜Ｃには、参考のため、図１に示した冗長軸Ｅの軌跡ＥＬと、図７Ａ〜Ｃの各図に示した位置に冗長軸Ｅがある場合に第３軸Ｕが移動可能な位置をあらわす軌跡ＵＬとを示している。なお、図７Ａ〜Ｃでは、図４Ａ〜Ｃ等に示した障害物２０１や障害物２０２の記載を省略している。
【００７８】  図７Ａに示した姿勢から、第２軸Ｌを時計回りに回転させるとともに、第２軸Ｌと協調するように冗長軸Ｅを回転させることで、制御点２０を軸７０に沿ってＺ軸負方向へ移動させることができる。
【００７９】  図７Ｂには、参考のため、図７Ａに示した冗長軸Ｅおよび第３軸Ｕの位置を破線で示している。図７Ｂに示した姿勢からさらに第２軸Ｌを時計回りに回転させ、第２軸Ｌの回転と協調するように冗長軸Ｅを回転させることで、制御点２０を軸７０に沿ってさらにＺ軸負方向へ移動させることができる。
【００８０】  かかるロボット１０の姿勢を図７Ｃに示す。なお、図７Ｃには、参考のため、図７Ｂに示した冗長軸Ｅおよび第３軸Ｕの位置を破線で示している。このように、ロボット１０は、第４軸Ｒの向きを鉛直向きに維持したまま、制御点２０を第４軸Ｒと同軸の軸７０に沿って直線的に移動させることができる。
【００８１】  なお、図７Ａ〜Ｃでは、制御点２０をＺ軸負方向へ移動させる場合を示したが、逆の手順で動作させることで、制御点２０をＺ軸正方向へ直線的に移動させることもできる点は自明である。さらに、図７Ａ〜Ｃでは、ロボット１０の先端側をＺ軸負方向へ向けた場合を示したが、ロボット１０の先端側をＺ軸正方向へ向けた場合についても同様の動作で、制御点２０をＺ軸正負方向へ直線的に移動させることができる点も自明である。
【００８２】  このように、図７Ａ〜Ｃに示した場合では、図２に示した第２アーム１５および第３アーム１６の姿勢を変更することなく、制御点２０を直線的に移動させることができる。なお、図７Ａ〜Ｃでは、同図に示すＺ軸に沿って制御点２０を直線的に移動させる場合を示したが、制御点２０をＹ軸に沿って直線的に移動させることもできる。
【００８３】  制御点２０をＹ軸に沿って直線的に移動させる場合、第１軸Ｓ（図１参照）、第２軸Ｌおよび冗長軸Ｅを協調動作させることになる。この場合、第３軸Ｕが第１軸Ｓを中心に旋回することになるので、第３軸Ｕの向きは変化することになる。しかしながら、第３軸Ｕの向きの変化を打ち消す向きに第４軸Ｒを協調動作させることで、第３アーム１６の姿勢を変更することなく、制御点２０をＹ軸正負方向へ直線的に移動させることができる。
【００８４】  次に、第３アーム１６（図２参照）の特異点回避について図８を用いて説明する。図８は、第３アーム１６の特異点回避を説明する図である。なお、図８には、第３アーム１６に含まれる第４軸Ｒ、第５軸Ｂおよび第６軸Ｔと、第４軸Ｒを延長した軸Ｒ０と、軸Ｒ０上に設けられる制御点２０とを示している。
【００８５】  また、図８には、第６軸Ｔを延長した軸Ｔ０と、軸Ｔ０と上記した軸Ｒ０とのなす角である角度α０を併せて示している。なお、矢印８０は、軸Ｔ０が拘束されている向きを示している。なお、図８では、軸Ｒ０が水平向きで、軸Ｔ０が斜め下向きである場合を例示しているが、軸Ｔ０が水平向きや垂直向きに拘束されていてもよい。すなわち、図８では、軸Ｔ０と、軸Ｒ０とが所定の角度をなしていることを示しているにすぎない。
【００８６】  図３を用いてすでに説明したように、回避動作部１１２は、第３アーム１６の第６軸Ｔの向きがワーク（図示せず）などとの関係によって拘束されている場合であっても、第３アーム１６が特異点となる姿勢をとることを回避する。
【００８７】  図８に示した場合、特異点情報１２２（図３参照）には、たとえば、第４軸Ｒと第６軸Ｔとが「相互にα０度以下の傾きであること」という条件が含まれる。かかる条件は、第４軸Ｒと第６軸Ｔとの関係が特異点に近い旨をあらわす条件である。回避動作部１１２は、特異点情報１２２のかかる条件に基づき、第４軸Ｒ（図８の軸Ｒ０）と第６軸Ｔ（図８の軸Ｔ０）とのなす角がα０度よりも大きくなるように、第４軸Ｒの向きを調整する。
【００８８】  これにより、第３アーム１６の特異点を回避しつつ、図４Ａ〜Ｃ、図５Ａ〜Ｃ、図６Ａ〜Ｃおよび図７Ａ〜Ｃに示した動作をロボット１０に行わせることができる。すなわち、第３アーム１６の特異点を回避しつつ、第４軸Ｒの向きを維持したまま制御点２０を直線的に移動させることができる。
【００８９】  次に、ロボット制御装置１００が実行する処理手順について図９を用いて説明する。図９は、ロボット制御装置１００が実行する処理手順を示すフローチャートである。図９に示すように、姿勢決定部１１３は、障害物情報１２３を読み込み（ステップＳ１０１）、第１アーム１３および冗長アーム１４の屈曲向きを決定する（ステップＳ１０２）。
【００９０】  動作制御部１１１は、各モータ１０ａの回転角を取得し（ステップＳ１０３）、ロボット１０の姿勢を算出する（ステップＳ１０４）。つづいて、回避動作部１１２は、第３アーム１６の姿勢が特異点に近いか否かを判定する（ステップＳ１０５）。
【００９１】  そして、第３アーム１６の姿勢が特異点に近い場合には（ステップＳ１０５，Ｙｅｓ）、回避動作部１１２は、冗長軸Ｅを用いた回避動作を、動作制御部１１１を介してロボット１０へ指示する（ステップＳ１０６）。なお、第３アーム１６の姿勢が特異点に近くない場合には（ステップＳ１０５，Ｎｏ）、ステップＳ１０６の処理を実行せずにステップＳ１０７へ進む。
【００９２】  つづいて、動作制御部１１１は、第４軸Ｒの向きを維持しつつ制御点２０を直線的に移動させ（ステップＳ１０７）、処理を終了する。
【００９３】  さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００９４】      １    ロボットシステム    １０    ロボット    １０ａ、１０ａＳ  モータ    １１    基台    １２    旋回ベース    １３    第１アーム    １４    冗長アーム    １５    第２アーム    １６    第３アーム    １６ａ  回転アーム    １６ｂ  旋回アーム    １６ｃ  回転アーム    ２０    制御点    ３０    接地面  １００    ロボット制御装置  １１０    制御部  １１１    動作制御部  １１２    回避動作部  １１３    姿勢決定部  １２０    記憶部  １２１    教示情報  １２２    特異点情報  １２３    障害物情報      Ｓ    第１軸      Ｌ    第２軸      Ｅ    冗長軸      Ｕ    第３軸      Ｒ    第４軸      Ｂ    第５軸      Ｔ    第６軸
【図１】
2017002208.tif 000003
【図２】
2017002208.tif 000004
【図３】
2017002208.tif 000005
【図４Ａ】
2017002208.tif 000006
【図４Ｂ】
2017002208.tif 000007
【図４Ｃ】
2017002208.tif 000008
【図５Ａ】
2017002208.tif 000009
【図５Ｂ】
2017002208.tif 000010
【図５Ｃ】
2017002208.tif 000011
【図６Ａ】
2017002208.tif 000012
【図６Ｂ】
2017002208.tif 000013
【図６Ｃ】
2017002208.tif 000014
【図７Ａ】
2017002208.tif 000015
【図７Ｂ】
2017002208.tif 000016
【図７Ｃ】
2017002208.tif 000017
【図８】
2017002208.tif 000018
【図９】
2017002208.tif 000019
【国際調査報告】
2017002208.tif 000020
2017002208.tif 000021
2017002208.tif 000022
2017002208.tif 000023