(57)【要約】【課題】ロボットの動作中における位置精度を高めること。【解決手段】実施形態に係るロボットシステムは、ロボットアームと、補助アームとを備える。ロボットアームは、複数の関節部を有する。補助アームは、複数のリンクが関節を介して接続され、関節の回転角を検出するセンサを有する。また、補助アームは、ロボットアームにおける基端側から先端側にかけて複数の関節部を含む位置に一端が取り付けられ、ロボットアームに従動する。【選択図】図１
2017007082.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節部を有するロボットアームと、
複数のリンクが関節を介して接続され、前記関節の回転角を検出するセンサを有する補助アームと
を備え、
前記補助アームは、
前記ロボットアームにおける基端側から先端側にかけて複数の前記関節部を含む位置に一端が取り付けられ、前記ロボットアームに従動すること
を特徴とするロボットシステム。
【請求項２】
前記補助アームにおける前記センサの検出値に基づいて前記ロボットアームの動作を補正する動作補正部
を備えることを特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記補助アームは、
前記ロボットアームにおける前記基端側から前記先端側にかけてすべての前記関節部を含む位置に前記一端が取り付けられること
を特徴とする請求項１または２に記載のロボットシステム。
【請求項４】
前記補助アームは、
該補助アームの先端軸と前記ロボットアームの先端軸とがオフセットする位置関係で前記ロボットアームに取り付けられること
を特徴とする請求項３に記載のロボットシステム。
【請求項５】
前記補助アームは、
該補助アームの先端軸と前記ロボットアームの先端軸とが同軸となる位置関係で前記ロボットアームに取り付けられること
を特徴とする請求項３に記載のロボットシステム。
【請求項６】
前記補助アームは、
該補助アームの基端軸と前記ロボットアームの基端軸とが同軸となる位置関係であること
を特徴とする請求項１、２または３に記載のロボットシステム。
【請求項７】
前記補助アームにおける前記センサは、
前記ロボットアームの軸数に関わらず少なくとも３つ設けられること
を特徴とする請求項１〜６のいずれか一つに記載のロボットシステム。
【請求項８】
前記補助アームにおける前記関節は、
前記ロボットアームの軸数に関わらず６つ以下であること
を特徴とする請求項１〜７のいずれか一つに記載のロボットシステム。
【請求項９】
前記補助アームは、
前記関節を１つ以上含んだ金属製のジョイント部と、
前記ジョイント部の間に配置される樹脂製のアーム部と
を備えることを特徴とする請求項１〜８のいずれか一つに記載のロボットシステム。
【請求項１０】
前記補助アームの特異点を回避するように前記ロボットアームの動作を制限する動作制限部
を備えることを特徴とする請求項１〜９のいずれか一つに記載のロボットシステム。
【請求項１１】
複数の関節部を有するロボットアームと、
複数のリンクが関節を介して接続され、前記関節の回転角を検出するセンサを有する補助アームと
を備え、
前記補助アームは、
前記ロボットアームにおける基端側から先端側にかけて複数の前記関節部を含む位置に一端が取り付けられ、前記ロボットアームに従動するとともに、該補助アームの基端軸と前記ロボットアームの基端軸とがオフセットする位置関係であること
を特徴とするロボットシステム。
【請求項１２】
複数の関節部を有するロボットアームに取り付けられ、当該ロボットアームに従動する補助アームの位置を取得する取得工程と、
前記取得工程によって取得された前記補助アームの位置に基づいて前記ロボットアームの動作を補正する補正工程と
を含むことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシステムおよびロボット制御方法に関する。
【背景技術】
【０００２】
従来、複数の関節部がそれぞれ駆動されることで動作するロボットが知られている。かかるロボットの先端には、溶接や把持といった用途にあわせたエンドエフェクタが取り付けられ、ワークの加工や移動といった様々な作業が行われる。
【０００３】
かかるロボットの位置精度を高めるために、ロボットへティーチングを行う段階で、ロボットを模擬したティーチング作業用アームを用いることがある（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１８４２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来技術のようにティーチング段階で位置精度を高めた教示を行った場合であっても、ロボットが実際に動作するとティーチングされた位置から実際の位置がずれてしまうことがある。これは、外力の付加などによってアームがたわむなどの影響があるためである。
【０００６】
実施形態の一態様は、上記に鑑みてなされたものであって、ロボットの動作中における位置精度を高めることができるロボットシステムおよびロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一態様に係るロボットシステムは、ロボットアームと、補助アームとを備える。ロボットアームは、複数の関節部を有する。補助アームは、複数のリンクが関節を介して接続され、前記関節の回転角を検出するセンサを有する。また、補助アームは、前記ロボットアームにおける基端側から先端側にかけて複数の前記関節部を含む位置に一端が取り付けられ、前記ロボットアームに従動する。
【発明の効果】
【０００８】
実施形態の一態様によれば、ロボットの動作中における位置精度を高めることが可能なロボットシステムおよびロボット制御方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、ロボットシステムの概要を示す図である。
【図２】図２は、ロボットシステムの構成を示すブロック図である。
【図３】図３は、補助アームにおける各ジョイント部の構成を示す図である。
【図４Ａ】図４Ａは、補助アームのアーム部を示す斜視図である。
【図４Ｂ】図４Ｂは、補助アームの第１ジョイント部を示す斜視図である。
【図４Ｃ】図４Ｃは、補助アームの第２ジョイント部を示す斜視図である。
【図４Ｄ】図４Ｄは、補助アームの第３ジョイント部を示す斜視図である。
【図５】図５は、補助アームの先端側を取り付ける位置の別例を示す図である。
【図６】図６は、補助アームの基端側を取り付ける位置とロボットアームの作業範囲との関係を示す図である。
【図７】図７は、ロボット制御装置が実行する処理手順を示すフローチャートである。
【図８】図８は、補助アームの先端側を取り付ける位置の別例を示す図である。
【図９】図９は、補助アームの配置例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示するロボットシステムおよびロボット制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下では、６軸のロボットであるロボットアームに、６つの回転自由度をもつ補助アームを取り付ける場合について主に説明するが、ロボットの軸数や補助アームの回転自由度の数を限定するものではない。
【００１１】
まず、実施形態に係るロボットシステムの概要について図１を用いて説明する。図１は、ロボットシステム１の概要を示す図である。なお、図１には、説明をわかりやすくするために、鉛直上向きが正方向であるＺ軸を含む３次元の直交座標系を図示している。かかる直交座標系は、以下の説明で用いる他の図面においても示す場合がある。
【００１２】
図１に示すように、実施形態に係るロボットシステム１は、ロボットアーム１０と、補助アーム２０と、ロボット制御装置１００とを備える。ロボット制御装置１００は、ロボットアーム１０および補助アーム２０にそれぞれ接続されており、ロボットアーム１０の制御および補助アーム２０からのデータ取得を行う。なお、ロボット制御装置１００の詳細については図２を用いて後述する。
【００１３】
まず、補助アーム２０について説明する。図１に示すように、補助アーム２０は、ジョイント部２２で複数のアーム部２３を回動可能に接続したリンク構造体である。かかる補助アーム２０は駆動源をもっておらず、ロボットアーム１０の姿勢変化に従動して自己の姿勢を変化させる。
【００１４】
ここで、「姿勢」とは、各関節における回転量の組み合わせのことを指す。すなわち、「姿勢」は、見た目の外形のみを指すのではなく、たとえ外形が変わらなくても隣接するリンク同士が回転していれば、「姿勢を変更した」ということとする。なお、図１には、３つのジョイント部２２で２つのアーム部２３を接続した補助アーム２０を例示しているが、ジョイント部２２やアーム部２３の個数を限定するものではない。
【００１５】
ジョイント部２２は、１つ以上の回転自由度をもっており、各ジョイント部２２の回転自由度を合計すると、補助アーム２０全体で最大で６つの回転自由度をもつように構成される。ここで、回転自由度が最大で６つであるのは、物体の位置および姿勢は、一般的に、図１に示すＸ軸、Ｙ軸およびＺ軸についての３つの位置と、Ｘ軸、Ｙ軸およびＺ軸についての３つの回転とで計６つの自由度をもっているためである。
【００１６】
すなわち、ロボットアーム１０に取り付けられる補助アーム２０が６つの自由度をもっていれば、ロボットアーム１０の様々な動きにあわせて自己の姿勢が一意に定まる。したがって、補助アーム２０は、ロボットアーム１０に対して滑らかに従動することができる。なお、補助アーム２０に７つ以上の自由度をもたせると、自己の姿勢が定まらず暴れる可能性があるので好ましくない。
【００１７】
補助アーム２０は、一端（先端側）が、取付部材２００を介してロボットアーム１０に取り付けられる。図１に示した場合では、補助アーム２０の先端軸（後述する図４Ｄの回転中心２１ｆ１）と、ロボットアーム１０の先端軸である第６軸Ｔとがオフセットしている。このように、２つの先端軸をオフセットさせることで、ロボットアーム１０に対する補助アーム２０の取り付けが容易となる。
【００１８】
補助アーム２０の他端（基端側）は、取付台３１に取り付けられる。ここで、取付台３１は、ロボットアーム１０とともに、共通の取付土台である共通ベース３０上に固定される。共通ベース３０は、たとえば、設置スペースの床面に固定される。なお、取付台３１を省略し、補助アーム２０の他端（基端側）を直接、共通ベース３０上に固定することとしてもよい。
【００１９】
かかる共通ベース３０を用いることで、ロボットアーム１０と、補助アーム２０との位置関係、すなわち、両者の基端側同士の相対位置を正確に定めることができる。なお、図１では、補助アーム２０の先端に取付部材２００が接続される場合を示したが、取付部材２００を一体化した補助アーム２０としてもよい。
【００２０】
次に、ロボットアーム１０について説明する。ロボットアーム１０は、基端側から先端側へ向けて、基台１０ａ、旋回ベース１０ｂ、第１アーム１０ｃ、第２アーム１０ｄ、第３アーム１０ｅ、第４アーム１０ｆおよび第５アーム１０ｇを備える。
【００２１】
基台１０ａは、共通ベース３０上に固定される。旋回ベース１０ｂは、鉛直向きの第１軸Ｓまわりに回転可能に基台１０ａに支持される。第１アーム１０ｃは、水平向きの第２軸Ｌまわりに旋回可能に旋回ベース１０ｂに支持される。第２アーム１０ｄは、第２軸Ｌと平行な第３軸Ｕまわりに旋回可能に第１アーム１０ｃに支持される。
【００２２】
第３アーム１０ｅは、第３軸Ｕと垂直な第４軸Ｒまわりに回転可能に第２アーム１０ｄに支持される。４アーム１０ｆは、第２軸Ｌおよび第３軸Ｕと平行な第５軸Ｂまわりに旋回可能に第３アーム１０ｅに支持される。
【００２３】
そして、第５アーム１０ｇは、第５軸Ｂと垂直な第６軸Ｔまわりに回転可能に第４アーム１０ｆに支持される。なお、ロボットアーム１０の先端のアームである第５アーム１０ｇには、溶接や把持といった様々な用途ごとに用意されるエンドエフェクタ（図示せず）を着脱可能である。
【００２４】
ここで、ロボットアーム１０は、第１軸Ｓ、第２軸Ｌ、第３軸Ｕ、第４軸Ｒ、第５軸Ｂおよび第６軸Ｔにそれぞれ対応する関節部を有しており、各関節部を駆動するアクチュエータであるモータ１１（図２参照）によって各アームを旋回または回転させることで姿勢を変更する。
【００２５】
なお、第２軸Ｌ、第３軸Ｕおよび第５軸Ｂのように、隣り合うアームのなす角度を変化させる軸をもつ関節を「旋回関節」、第１軸Ｓ、第４軸Ｒ、第６軸Ｔのように、隣り合うアームのなす角度を変化させずに相対的に回転させる軸をもつ関節を「回転関節」と呼ぶこととする。
【００２６】
ところで、ロボットアーム１０に作業を行わせる場合には、エンドエフェクタの絶対位置が正確であることが好ましい。このため、ロボットへティーチングを行う段階で位置精度を上げる試みが行われてきた。しかし、たとえ精密なティーチングを行ったとしても、ロボットアーム１０の各アームが、ワーク（図示せず）からの外力でたわんだり、温度変化で伸縮したりしてしまうため、教示された位置からエンドエフェクタの位置がずれてしまうことがある。
【００２７】
そこで、実施形態に係るロボットシステム１では、ロボットアーム１０に従動する補助アーム２０の位置を取得し、取得した補助アーム２０の位置に基づいてロボットアーム１０の位置を算出することとした。さらに、算出したロボットアーム１０の位置に基づいてロボットアーム１０の位置を補正することとした。
【００２８】
このように、ロボットアーム１０に従動する補助アーム２０を用いることとすれば、たとえロボットアーム１０へ外力が作用したとしても、かかる外力の影響は補助アーム２０には及ばない。これは、補助アーム２０は、外力を受けたロボットアーム１０にならって姿勢を自由に変更することができるからである。
【００２９】
このように、補助アーム２０には、外力が作用しにくいので、ロボットアーム１０のような強度も不要である。このため、補助アーム２０を、ロボットアーム１０の各アームに比べて細く、軽くしても、補助アーム２０自体の変形を十分に小さく抑えることができる。なお、補助アーム２０の構成の詳細については図４Ａ等を用いて後述する。
【００３０】
ここで、ロボットアーム１０の変形を抑えるためにロボットアーム１０を高剛性材料で構成することも考えられるが、高剛性材料は高価であるのでコストが高くなる。一方、上記した補助アーム２０を用いることとすれば、高価な高剛性材料を用いてロボットアーム１０の剛性を上げる必要はない。したがって、補助アーム２０を用いることで、コストを抑えつつ、ロボットアーム１０を高い精度で動作させることが可能になる。
【００３１】
次に、実施形態に係るロボットシステム１の構成について図２を用いて説明する。図２は、ロボットシステム１の構成を示すブロック図である。なお、図２では、ロボットシステム１の説明に用いる構成要素のみを示しており、一般的な構成要素についての記載を省略している。
【００３２】
図２に示すように、ロボットシステム１は、ロボットアーム１０と、補助アーム２０と、ロボット制御装置１００とを備える。また、ロボットアーム１０および補助アーム２０は、それぞれロボット制御装置１００に接続されている。
【００３３】
ロボットアーム１０は、ロボット制御装置１００からの指示に従って所定の作業を行うロボットである。また、ロボットアーム１０は、複数のアームを関節部で接続したロボットであり、各関節部にモータ１１を備える。上記したように、本実施形態で例示するロボットアーム１０は６軸ロボットであるので、モータ１１の個数は６つである。
【００３４】
モータ１１としては、回転角を検出するエンコーダを含んだサーボモータを用いることができる。ロボット制御装置１００は、モータ１１におけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボットアーム１０に所望の姿勢をとらせる。なお、ロボットアーム１０の具体的な構成については、図１を用いて既に説明したのでここでの説明は省略する。
【００３５】
補助アーム２０は、ロボットアーム１０の位置を検出するために用いられるリンク構造体である。補助アーム２０は、６つの関節を有しており、各関節の回転角を検出するセンサ２１を関節ごとに計６つ備えている。すなわち、６つのセンサ２１によってそれぞれ検出された６つの回転角と、補助アーム２０に含まれるリンクの長さとを用いることで、補助アーム２０の先端軸の３次元の位置（図１のＸ軸、Ｙ軸およびＺ軸の座標の組み合わせ）および３次元の姿勢（図１のＸ軸、Ｙ軸およびＺ軸まわりの回転角）を導出することが可能となる。
【００３６】
なお、本実施形態では、かかるセンサ２１としてエンコーダ付きモータを用いた場合について説明する。ただし、エンコーダ付きモータをモータとしては駆動させずに、モータシャフトの回転角をエンコーダで検出する用途で用いる。なお、エンコーダとしては、ロボットアーム１０におけるモータ１１のエンコーダと同精度かより高精度のものを用いることが好ましい。また、センサ２１として、ポテンショメータなどの回転角を検出可能な各種検出器を用いることとしてもよい。
【００３７】
ここで、補助アーム２０の具体的な構成について、図３、図４Ａ、図４Ｂ、図４Ｃおよび図４Ｄを用いて説明しておく。図３は、補助アーム２０における各ジョイント部２２の構成を示す図である。
【００３８】
また、図４Ａは、補助アーム２０のアーム部２３を示す斜視図である。図４Ｂは、補助アーム２０の第１ジョイント部２２ａを示す斜視図である。図４Ｃは、補助アーム２０の第２ジョイント部２２ｂを示す斜視図である。図４Ｄは、補助アーム２０の第３ジョイント部２２ｃを示す斜視図である。なお、図４Ａ〜図４Ｄに示したアーム部２３やジョイント部２２の形状は一例であり、センサ２１の大きさやアーム部２３の太さや長さに応じて適宜変更することができる。
【００３９】
また、各ジョイント部２２のうち最も基端側にある第１ジョイント部２２ａは、自己の重量によってアーム部２３を変形させることはないので、他のジョイント部２２よりも重量が大きくても構わない。このため、第１ジョイント部２２ａに対応する軸構成を有する既存の機構、たとえば、ロボットの一部を流用して第１ジョイント部２２ａとすることとしてもよい。このようにすることで、新規設計に関するコストを抑制することができる。
【００４０】
図３に示すように、補助アーム２０は、第１ジョイント部２２ａと、第２ジョイント部２２ｂと、第３ジョイント部２２ｃとの３つのジョイント部２２を備える。なお、同図では、ロボットアーム１０および補助アーム２０の関節をシンボル化して示しており、菱形で上記した回転関節３１０を、円で上記した旋回関節３２０をあらわしている。
【００４１】
ここで、回転関節３１０に対応する菱形のシンボルの対角線を結ぶ線は、関節の回転面に対応しており、かかる線と垂直な回転軸まわりに関節は回転する。また、旋回関節３２０に対応する円の中心に付した点は回転軸に対応しており、かかる回転軸まわりに関節は回転する。
【００４２】
なお、図の煩雑化を防ぐために、回転関節３１０および旋回関節３２０の符号はそれぞれ図内で一箇所ずつにとどめている。すなわち、図内の菱型のシンボルはすべて回転関節３１０であり、円形のシンボルはすべて旋回関節３２０である。
【００４３】
図３に示すように、ロボットアーム１０および補助アーム２０は、それぞれの基端側が共通ベース３０に固定されており、それぞれの先端側は、取付部材２００で結合されている。なお、同図では、図１に示した取付台３１を省略している。
【００４４】
ロボットアーム１０は、共通ベース３０側（基端側）から、回転関節３１０、旋回関節３２０、旋回関節３２０、回転関節３１０、旋回関節３２０および回転関節３１０をこれらの順序で備える。一方、補助アーム２０についても、回転関節３１０および旋回関節３２０の並び順はロボットアーム１０と同様であるが、各関節を１つのジョイント部２２に対応させるのではなく、３つのジョイント部２２である第１ジョイント部２２ａ、第２ジョイント部２２ｂおよび第３ジョイント部２２ｃに振分けて配置している。
【００４５】
具体的には、最も基端側の第１ジョイント部２２ａには２つ、第２ジョイント部２２ｂには１つ、最も先端側の第３ジョイント部２２ｃには３つの関節をそれぞれ配置している。そして、これらのジョイント部２２間を２つのアーム部２３でそれぞれ結んでいる。なお、アーム部２３は、たとえば、前屈みで作業するロボットアーム１０を上方から見下ろす位置および姿勢をとることができるように長さが調整される。
【００４６】
ここで、第１ジョイント部２２ａに含まれる関節の回転軸間の距離は、ロボットアーム１０に対応する関節部の回転軸である第１軸Ｓおよび第２軸Ｌ間の距離よりも小さい。また、第３ジョイント部２２ｃに含まれる関節の隣接する回転軸の各軸間距離についても、ロボットアーム１０において対応する関節部の回転軸である第４軸Ｒ、第５軸Ｂおよび第６軸Ｔの各軸間距離よりも小さい。
【００４７】
このように、ジョイント部２２における関節の軸間距離を、ロボットアーム１０における実際の軸間距離よりも小さくすることで、ジョイント部２２をコンパクト化することができる。また、ジョイント部２２をコンパクト化することで、補助アーム２０と、ロボットアーム１０とが干渉する可能性を低減することができる。
【００４８】
図３に示すように、第１ジョイント部２２ａには、基端側に回転関節３１０に相当するセンサ２１ａと、先端側に旋回関節３２０に相当するセンサ２１ｂとがそれぞれ含まれる。そして、基端側には外部軸２２ａ１が、先端側には外部軸２２ａ２が、それぞれ設けられている。なお、外部軸２２ａ１は、図１に示した取付台３１に固定され、外部軸２２ａ２は、第１ジョイント部２２ａと第２ジョイント部２２ｂとを結ぶアーム部２３に固定される。
【００４９】
また、第２ジョイント部２２ｂには、旋回関節３２０に相当するセンサ２１ｃが含まれる。そして、基端側には外部軸２２ｂ１が、先端側には外部軸２２ｂ２が、それぞれ設けられている。なお、外部軸２２ｂ１は、第１ジョイント部２２ａと第２ジョイント部２２ｂとを結ぶアーム部２３に固定され、外部軸２２ｂ２は、第２ジョイント部２２ｂと第３ジョイント部２２ｃとを結ぶアーム部２３に固定される。
【００５０】
また、第３ジョイント部２２ｃには、回転関節３１０に相当するセンサ２１ｄと、旋回関節３２０に相当するセンサ２１ｅと、回転関節３１０に相当するセンサ２１ｆとが含まれる。そして、基端側には外部軸２２ｃ１が、先端側には外部軸２２ｃ２が、それぞれ設けられている。なお、外部軸２２ｃ１は、第２ジョイント部２２ｂと第３ジョイント部２２ｃとを結ぶアーム部２３に固定され、外部軸２２ｃ２は、上記した取付部材２００に固定される。
【００５１】
上記した各ジョイント部２２に対する関節の配置や、アーム部２３の長さ調整によって、ロボットアーム１０と、補助アーム２０とを干渉しにくくすることができる。なお、ジョイント部２２の個数については、ロボットアーム１０のサイズや可動範囲の大小に応じて適宜変更することができる。
【００５２】
次に、補助アーム２０のアーム部２３について説明する。図４Ａに示すように、アーム部２３は、リンク部２３ａと、リンク部２３ａの両端にそれぞれ設けられる取付部２３ｂとを備える。リンク部２３ａは、たとえば、ＣＦＲＰ（Carbon  Fiber  Reinforced  Plastic）などの樹脂製のパイプである。なお、リンク部２３ａを中実の部材で構成することとしてもよい。
【００５３】
このように、リンク部２３ａは、ロボットアーム１０を構成する材料に比べて剛性が高く、かつ、熱膨張が少ない樹脂で構成する。かかる樹脂としては、軽量性を備えたＣＦＲＰなどの材料が好適である。このような材料を用いることで、ロボットアーム１０に比べてたわみや熱膨張による影響が極めて少なく高い位置精度をもった補助アーム２０を得ることができる。
【００５４】
取付部２３ｂは、たとえば、アルミニウム合金などの金属製であり、リンク部２３ａの外径に合わせた取付穴（図示せず）へリンク部２３ａを挿入して接着することで、リンク部２３ａへ固定される。また、取付部２３ｂは、周面の先端側が平面となるように加工されており、かかる平面に取付穴２３ｂａが、端面に取付穴２３ｂｂがそれぞれ設けられている。
【００５５】
また、取付穴２３ｂａおよび取付穴２３ｂｂには、各ジョイント部２２が固定される。なお、対応するジョイント部２２に応じて取付穴２３ｂａおよび取付穴２３ｂｂのうちいずれか一方または双方を省略することとしてもよい。
【００５６】
次に、補助アーム２０の第１ジョイント部２２ａについて説明する。図４Ｂに示すように、第１ジョイント部２２ａは、お互いに垂直な取付面を有するように、平板をクランク状に折り曲げたフレーム２２ａａと、各取付面に固定されるセンサ２１ａ（図３参照）およびセンサ２１ｂ（図３参照）とを備える。
【００５７】
フレーム２２ａａは、たとえば、アルミニウム合金などの金属製である。センサ２１ａは、本体部２１ａａと、本体部２１ａａから突出する回転シャフト２１ａｂとを備える。なお、センサ２１ｂ等の他のセンサ２１も同様であるので、以下ではセンサ２１に含まれる構成要素の説明を省略する。
【００５８】
フレーム２２ａａにおける上記した取付面には回転シャフト２１ａｂを貫通させる穴が設けられており、本体部２１ａａを配置する側とは反対側の面から回転シャフト２１ａｂが突出する。ここで、回転シャフト２１ａｂの回転中心２１ａ１と、センサ２１ｂの回転シャフトの回転中心２１ｂ１とは直交する。
【００５９】
なお、回転シャフト２１ａｂは、取付台３１（図１参照）に固定され、センサ２１ｂの回転シャフトは、アーム部２３における取付部２３ｂの取付穴２３ｂａ（図４Ａ参照）に固定される。
【００６０】
次に、補助アーム２０の第２ジョイント部２２ｂについて説明する。図４Ｃに示すように、第２ジョイント部２２ｂは、矩形状の平板であるフレーム２２ｂａと、センサ２１ｃ（図３参照）とを備える。フレーム２２ｂａは、たとえば、アルミニウム合金などの金属製である。
【００６１】
また、フレーム２２ｂａには、貫通した取付穴２２ｂｂが設けられている。センサ２１ｃの回転シャフトは、第１ジョイント部２２ａと第２ジョイント部２２ｂとを結ぶアーム部２３における取付部２３ｂの取付穴２３ｂａ（図４Ａ参照）に固定され、センサ２１ｃの回転シャフトの回転中心２１ｃ１と、図４Ｂに示した回転中心２１ｂ１とは平行となる。
【００６２】
なお、第２ジョイント部２２ｂと第３ジョイント部２２ｃとを結ぶアーム部２３における取付部２３ｂは、図４Ｃに示した取付穴２２ｂｂに挿入したボルトなどの締結具によって第２ジョイント部２２ｂへ固定される。
【００６３】
次に、補助アーム２０の第３ジョイント部２２ｃについて説明する。図４Ｄに示すように、第３ジョイント部２２ｃは、第１ジョイント部２２ａと同様の構成であるフレーム２２ｃａ、センサ２１ｄおよびセンサ２１ｅに対し、連結部材２２ｃｂを介して平板をクランク状に折り曲げたフレーム２２ｃｃおよびセンサ２１ｆを連結したものである。なお、フレーム２２ｃａ、連結部材２２ｃｂおよびフレーム２２ｃｃは、たとえば、アルミニウム合金などの金属製である。また、フレーム２２ｃｃには、取付部材２００（図１参照）が取り付けられる。
【００６４】
センサ２１ｄの回転シャフトは、第２ジョイント部２２ｂと第３ジョイント部２２ｃとを結ぶアーム部２３の取付部２３ｂにおける取付穴２３ｂｂ（図４Ａ参照）に固定される。また、センサ２１ｅの回転シャフトと、センサ２１ｆの回転シャフトとは、上記した連結部材２２ｃｂによって、お互いに垂直となるように固定される。
【００６５】
これらのことから、センサ２１ｄの回転シャフトの回転中心２２ｄ１と、センサ２１ｅの回転シャフトの回転中心２１ｅ１と、センサ２１ｆの回転シャフトの回転中心２１ｆ１とはお互いに直交する。ここで、回転中心２１ｆ１が、補助アーム２０の先端軸に相当する。
【００６６】
図２の説明に戻り、ロボット制御装置１００について説明する。ロボット制御装置１００は、制御部１１０と、記憶部１２０とを備える。制御部１１０は、取得部１１１と、アーム位置算出部１１２と、ロボット位置算出部１１３と、動作補正部１１４と、動作制御部１１５と、動作制限部１１６とを備える。記憶部１２０は、補助アーム情報１２１と、相対位置情報１２２と、教示情報１２３とを記憶する。
【００６７】
ここで、ロボット制御装置１００は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００６８】
コンピュータのＣＰＵは、たとえば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部１１０の取得部１１１、アーム位置算出部１１２、ロボット位置算出部１１３、動作補正部１１４、動作制御部１１５および動作制限部１１６として機能する。
【００６９】
また、取得部１１１、アーム位置算出部１１２、ロボット位置算出部１１３、動作補正部１１４、動作制御部１１５および動作制限部１１６の少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００７０】
また、記憶部１２０は、たとえば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、補助アーム情報１２１、相対位置情報１２２および教示情報１２３を記憶することができる。なお、ロボット制御装置１００は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【００７１】
制御部１１０は、ロボットアーム１０の動作制御を行うとともに、補助アーム２０のセンサ２１から取得した検出結果に基づいてロボットアーム１０の動作を補正する。
【００７２】
取得部１１１は、補助アーム２０のセンサ２１が検出した各関節の回転角を取得する。ここで、補助アーム２０は、６つの関節それぞれにセンサ２１を有しているので、６つのセンサ２１が検出した回転角の組を取得することになる。ここで、回転角とは、基準回転角からのずれ量を指す。なお、取得部１１１は、取得工程および取得手段に対応する。
【００７３】
なお、取得部１１１がセンサ２１の検出結果を取得するタイミングと、後述する動作制御部１１５がロボットアーム１０のモータ１１からエンコーダ値を取得するタイミングとを同期させることとしてもよい。
【００７４】
この場合、双方のタイミングを同じにしてもよいし、両者のタイミングの最大ずれを同一の周期内にとどめる、すなわち、あらかじめ定めた時間内に収めることとしてもよい。かかる同期処理は、たとえば、上記したＣＰＵが備えるクロック機能を用いて実現することができる。
【００７５】
アーム位置算出部１１２は、取得部１１１から受け取った検出結果と、記憶部１２０の補助アーム情報１２１とに基づいて補助アーム２０の位置を算出する。ここで、補助アーム２０の「位置」とは、補助アーム２０の「先端位置」であり、たとえば、図４Ｄに示したフレーム２２ｃｃ上に設定した基準点（図示せず）の位置である。なお、補助アーム２０の「基端位置」は、たとえば、図４Ｂに示したフレーム２２ａａにおける回転シャフト２１ａｂが突出する面と、回転シャフト２１ａｂの回転中心２１ａ１とが交差する点の位置である。
【００７６】
補助アーム情報１２１は、補助アーム２０における各関節のサイズや回転軸の向き、関節と関節とをつなぐリンクの長さといったデータを含んでいる。したがって、アーム位置算出部１１２は、補助アーム情報１２１と、６つのセンサ２１が検出した回転角とから、補助アーム２０の先端位置、更に詳しくは、基端位置に対する先端位置の相対位置を算出することができる。
【００７７】
なお、上記した補助アーム情報１２１は、補助アーム２０の特異点に関する情報を含むが、この点については、後述する動作制限部１１６の説明とあわせて説明することとする。また、アーム位置算出部１１２は、上記した先端位置を算出する際に、補助アーム２０に含まれる各リンクの姿勢についてもあわせて算出する。
【００７８】
ロボット位置算出部１１３は、アーム位置算出部１１２から受け取った補助アーム２０の位置と、記憶部１２０の相対位置情報１２２とに基づいてロボットアーム１０の位置を算出する。ここで、ロボットアーム１０の「位置」とは、たとえば、ロボットアーム１０の第５アーム１０ｇ上に設定した基準点（図示せず）の位置である。なお、ロボットアーム１０の「基端位置」とは、たとえば、図１に示した第１軸Ｓと、共通ベース３０の上面とが交差する点の位置である。
【００７９】
相対位置情報１２２は、ロボットアーム１０の基端位置および補助アーム２０の基端位置の相対位置と、ロボットアーム１０の先端位置および補助アーム２０の先端位置の相対位置とを含んだ情報である。したがって、ロボット位置算出部１１３は、補助アーム２０の先端位置からロボットアーム１０の先端位置を求めることができる。
【００８０】
動作補正部１１４は、ロボット位置算出部１１３から受け取ったロボットアーム１０の位置と、記憶部１２０の教示情報１２３とに基づき、ロボットアーム１０の位置を、教示情報１２３における教示位置に近づける補正指示を動作制御部１１５へ通知する。ここで、動作補正部１１４は、１回の補正指示で教示位置からのずれを解消することとしてもよいし、複数回の補正指示で教示位置からのずれを徐々に解消することとしてもよい。なお、動作補正部１１４は、補正工程および補正手段に対応する。
【００８１】
教示情報１２３は、ロボットアーム１０へ動作を教示するティーチング段階で作成され、ロボットアーム１０の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
【００８２】
動作制御部１１５は、教示情報１２３に基づいてモータ１１に指示することでロボットアーム１０に所望の姿勢をとらせる。また、動作制御部１１５は、モータ１１におけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボットアーム１０の動作精度を向上させる。さらに、動作制御部１１５は、動作補正部１１４からの補正指示に基づき、教示情報１２３からのずれを解消する動作をロボットアーム１０へ指示する。
【００８３】
動作制限部１１６は、補助アーム２０が特異点となる姿勢をとらないように、ロボットアーム１０の動作を制限する。ここで、補助アーム２０が特異点となる姿勢とは、図３におけるセンサ２１ａ、センサ２１ｄおよびセンサ２１ｆの回転軸の２つ以上が同一直線上に重なる姿勢を指す。このように、補助アーム２０が特異点となる姿勢をとると、補助アーム２０の姿勢が定まらずに暴れる可能性がある。
【００８４】
このため、動作制限部１１６は、補助アーム情報１２１に含まれる条件、たとえば、センサ２１ａ、センサ２１ｄおよびセンサ２１ｆの回転軸が「相互に所定の度数以下の傾きであること」といった条件に、アーム位置算出部１１２が生成する補助アーム２０の姿勢が合致するか否かを判定する。そして、条件に合致した場合には、該当する回転軸同士の傾きが大きくなる動作をロボットアーム１０に行わせるように動作制御部１１５へ指示する。
【００８５】
次に、補助アーム２０の先端側を取り付ける位置のその他の例について図５を用いて説明する。図５は、補助アーム２０の先端側を取り付ける位置の別例を示す図である。なお、図５には、図１に示したロボットアーム１０の第４アーム１０ｆおよび第５アーム１０ｇがともに中空アームである場合について示している。なお、第４アーム１０ｆは、第５軸Ｂまわりに旋回し、第５アーム１０ｇは、第６軸Ｔまわりに回転する。
【００８６】
図５に示すように、第４アーム１０ｆおよび第５アーム１０ｇがともに中空アームである場合、補助アーム２０の先端軸である回転中心２１ｆ１（図４Ｄ参照）と、ロボットアーム１０の先端軸である第６軸Ｔとを同軸に配置することができる。
【００８７】
この場合、補助アーム２０と、ロボットアーム１０とを結ぶ取付部材２００ａを、上記した中空部分を通る程度に細くして中空部分へ挿入し、第５アーム１０ｇの内壁あるいは先端面に固定すればよい。
【００８８】
なお、図５では、第４アーム１０ｆおよび第５アーム１０ｇがともに中空アームである場合について示したが、第４アーム１０ｆのみが中空アームで、第５アーム１０ｇが中空アームでない場合もある。
【００８９】
この場合には、第５アーム１０ｇにおける、第４アーム１０ｆの中空部分に隣接する面に取付部材２００ａを固定することとすればよい。このようにしても、補助アーム２０の先端軸である回転中心２１ｆ１（図４Ｄ参照）と、ロボットアーム１０の先端軸である第６軸Ｔとを同軸に配置することができる。
【００９０】
次に、補助アーム２０の基端側を取り付ける位置とロボットアーム１０の作業範囲との関係について図６を用いて説明する。図６は、補助アーム２０の基端側を取り付ける位置とロボットアーム１０の作業範囲との関係を示す図である。なお、図６は、図１に示したロボットアーム１０および補助アーム２０を上面視した模式図に相当する。
【００９１】
図６に示すように、ロボットアーム１０の第１軸Ｓを中心とした円３５内がロボットアーム１０の到達範囲となる。一方、補助アーム２０の最も基端側にある回転軸Ａ（図４Ｂの回転中心２１ａ１）は、第１軸Ｓから離して配置される。
【００９２】
ここで、第１軸Ｓと回転軸Ａとを結ぶ線を直線３５ａとし、第１軸Ｓを通って直線３５ａと垂直な線を直線３５ｂとする。そして、これらの直線３５ａ，３５ｂで区切られる４つの領域を、領域３６ａ，３６ｂ，３６ｃ，３６ｄとする。
【００９３】
この場合、ロボットアーム１０の作業範囲は、領域３６ｂや領域３６ｃ内よりも、領域３６ａや領域３６ｄ内にすることが好ましい。なぜなら、ロボットアーム１０が回転軸Ａから遠い領域である領域３６ｂや領域３６ｃで作業すると、補助アーム２０とロボットアーム１０とのクリアランスが小さくなるためである。
【００９４】
したがって、ロボットアーム１０の作業範囲が、上面視で６０度、９０度や１２０度などの限られた範囲にある場合には、かかる作業範囲を含む半円状の領域内に回転軸Ａを配置すればよい。この場合、回転軸Ａは、半円状の領域のうち作業範囲以外の部分に配置することが好ましい。
【００９５】
次に、ロボット制御装置１００が実行する処理手順について図７を用いて説明する。図７は、ロボット制御装置１００が実行する処理手順を示すフローチャートである。図７に示すように、取得部１１１は、補助アーム２０のセンサ２１からセンサ値を取得する（ステップＳ１０１）。
【００９６】
つづいて、アーム位置算出部１１２は、ステップＳ１０１で取得したセンサ値と、記憶部１２０の補助アーム情報１２１とに基づいて補助アーム２０の位置を算出する（ステップＳ１０２）。
【００９７】
ここで、動作制限部１１６は、補助アーム情報１２１に含まれる特異点情報と、アーム位置算出部１１２が生成した補助アーム２０の姿勢に基づいて補助アーム２０の姿勢が特異点に近いか否かを判定する（ステップＳ１０３）。
【００９８】
そして、動作制限部１１６が、特異点に近くないと判定した場合には（ステップＳ１０３，Ｎｏ）、ロボットアーム１０の動作制限をＯＦＦにし（ステップＳ１０４）、ＯＦＦにした旨を動作制御部１１５へ通知する。
【００９９】
一方、特異点に近いと判定した場合には（ステップＳ１０３，Ｙｅｓ）、ロボットアーム１０の動作制限をＯＮにし（ステップＳ１０５）、ＯＮにした旨を動作制御部１１５へ通知する。
【０１００】
つづいて、ロボット位置算出部１１３は、ステップＳ１０２で算出された補助アーム２０の位置と、相対位置情報１２２とに基づいてロボットアーム１０の位置を算出する（ステップＳ１０６）。
【０１０１】
そして、動作補正部１１４は、ステップＳ１０６で算出されたロボットアーム１０の位置と、教示情報１２３とを対比し、ロボットアーム１０の位置が、あらかじめ教示された位置からずれているか否かを判定する（ステップＳ１０７）。そして、位置ずれがある場合には（ステップＳ１０７、Ｙｅｓ）、ロボットアーム１０の位置補正を行う旨を動作制御部１１５へ指示する（ステップＳ１０８）。
【０１０２】
一方、位置ずれがない場合には（ステップＳ１０７，Ｎｏ）、ステップＳ１０８の処理を実行せずに、ステップＳ１０９へ進む。つづいて、動作制御部１１５は、ロボットアーム１０へ動作指示を行い（ステップＳ１０９）、処理を終了する。
【０１０３】
次に、補助アーム２０の先端側を取り付ける位置のその他の例について図８を用いて説明する。図８は、補助アーム２０の先端側を取り付ける位置の別例を示す図である。なお、図８には、補助アーム２０の先端側を、図１に示したロボットアーム１０の第１アーム１０ｃへ取付部材２００ｂを介して取り付けた場合について示している。
【０１０４】
図８に示すように、本実施形態に係る補助アーム２０は、上述したようにロボットアーム１０の先端アーム（図１の第５アーム１０ｇ）のみではなく、ロボットアーム１０の基端側（共通ベース３０側）に２つ以上の関節があるアームに取り付けることができる。
【０１０５】
すなわち、補助アーム２０は、図１に示したロボットアーム１０の第１アーム１０ｃ、第２アーム１０ｄ、第３アーム１０ｅおよび第４アーム１０ｆのいずれのアームにも取り付けることができる。そして、取付先のアーム位置を補助アーム２０の位置から上記した手順と同様の手順で算出することができる。
【０１０６】
このように、補助アーム２０を取り付けた場合、取付先であるアームの自由度に応じてセンサ２１の数を少なくすることができる。たとえば、図８に示した場合では、第３ジョイント部２２ｃの３つのセンサを省略し、第１ジョイント部２２ａの２つのセンサと、第２ジョイント部２２ｂの１つのセンサの計３つのセンサとすることができる。
【０１０７】
なぜなら、補助アーム２０を第１アーム１０ｃに取り付けた位置の３次元の座標は、上記した３つのセンサで確定することができるためである。なお、補助アーム２０における関節の数は、ロボットアーム１０が冗長軸（図示せず）を含んだ７軸以上のロボットである場合であっても上記したように最大で６つ、すなわち、６つ以下である。
【０１０８】
上述してきたように、本実施形態に係るロボットシステム１は、ロボットアーム１０と、補助アーム２０とを備える。ロボットアーム１０は、複数の関節部を有する。補助アーム２０は、複数のリンクが関節を介して接続され、関節の回転角を検出するセンサ２１を有する。また、補助アーム２０は、ロボットアーム１０における基端側から先端側にかけて複数の関節部を含む位置に一端が取り付けられ、ロボットアーム１０に従動する。
【０１０９】
したがって、本実施形態に係るロボットシステム１によれば、ロボットアーム１０の位置や姿勢を、ロボットアーム１０に従動する補助アーム２０のセンサ２１による検出結果に基づいて算出することが可能となる。このため、ロボットアーム１０などのロボットの動作中における位置精度を高めることができる。
【０１１０】
ところで、図６では、補助アーム２０の最も基端側にある回転軸Ａ（図４Ｂの回転中心２１ａ１）が、ロボットアーム１０の第１軸Ｓから離して配置される場合を示した。しかしながら、これに限らず、回転軸Ａと、第１軸Ｓとを同一直線上、すなわち、同軸の位置関係となるように配置することとしてもよい。
【０１１１】
そこで、以下では、回転軸Ａと、第１軸Ｓとを、同軸となる位置関係とした場合について図９を用いて説明する。なお、回転軸Ａを、補助アーム２０の「基端軸」と、ロボットアームの第１軸Ｓを、ロボットアーム１０の「基端軸」と、それぞれ呼ぶこととする。
【０１１２】
図９は、補助アーム２０の配置例を示す図である。ここで、図９は、図１に示したロボットアーム１０の基台１０ａおよび旋回ベース１０ｂを中空構造とし、かかる中空部分に補助アーム２０の他端（基端側）を配置した場合を示す斜視模式図である。
【０１１３】
図９に示すように、基台１０ａおよび旋回ベース１０ｂには、旋回ベース１０ｂの上面側から基台１０ａの下面側へ連通する空間９１が設けられる。ここで、旋回ベース１０ｂを基台１０ａに対して第１軸Ｓまわりに回転させるモータ１１（図２参照）としては、いわゆる中空モータを用いることができる。
【０１１４】
上記した空間９１には、図１に示した取付台３１および補助アーム２０の他端（基端側）が配置される。ここで、取付台３１は、図１に示した共通ベース３０上に固定される。なお、図９に示した配置とする場合には、共通ベース３０は、ロボットアーム１０を載置する程度の面積があれば足りる。
【０１１５】
また、共通ベース３０を省略し、ロボットアーム１０および取付台３１を、設置スペースの床面に配置することとしてもよい。なお、図９には、図３等に示した、第１ジョイント部２２ａと、第１ジョイント部２２ａおよび第２ジョイント部２２ｂを結ぶアーム部２３とを参考のため示している。
【０１１６】
図９に示したように、補助アーム２０の最も基端側にある回転軸Ａと、ロボットアーム１０の第１軸Ｓとを同軸となる位置関係とすることで、ロボットアーム１０および補助アーム２０をコンパクトに配置することができる。
【０１１７】
なお、図９では、回転軸Ａと、第１軸Ｓとを同軸となる位置関係とする場合を示したが、取付台３１や補助アーム２０が、基台１０ａや旋回ベース１０ｂに干渉しない範囲内で、回転軸Ａと、第１軸Ｓとをオフセットさせることとしてもよい。
【０１１８】
また、図９では、基台１０ａおよび旋回ベース１０ｂの中空部分に取付台３１を配置する場合を示したが、回転軸Ａと第１軸Ｓとが同軸となる位置関係としつつ、旋回ベース１０ｂの上面に取付台３１を配置することとしてもよい。この場合においても、回転軸Ａと第１軸Ｓとをオフセットさせることとしてもよい。
【０１１９】
また、同様に、回転軸Ａが、第２軸Ｌや第３軸Ｕといった各軸と同軸となる位置関係となるように、第１アーム１０ｃや第２アーム１０ｄに取付台３１を配置することとしてもよい。この場合においても、回転軸Ａと、第２軸Ｌや第３軸Ｕといった各軸とをオフセットさせることとしてもよい。
【０１２０】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１２１】
１    ロボットシステム
１０    ロボットアーム
１０ａ  基台
１０ｂ  旋回ベース
１０ｃ  第１アーム
１０ｄ  第２アーム
１０ｅ  第３アーム
１０ｆ  第４アーム
１０ｇ  第５アーム
１１    モータ
２０    補助アーム
２１    センサ
２２    ジョイント部
２３    アーム部
２３ａ  リンク部
２３ｂ  取付部
３０    共通ベース
３１    取付台
１００    ロボット制御装置
１１０    制御部
１１１    取得部
１１２    アーム位置算出部
１１３    ロボット位置算出部
１１４    動作補正部
１１５    動作制御部
１１６    動作制限部
１２０    記憶部
１２１    補助アーム情報
１２２    相対位置情報
１２３    教示情報
２００、２００ａ、２００ｂ  取付部材
３１０    回転関節
３２０    旋回関節
Ｓ    第１軸
Ｌ    第２軸
Ｕ    第３軸
Ｒ    第４軸
Ｂ    第５軸
Ｔ    第６軸
【図１】
2017007082.tif 000003
【図２】
2017007082.tif 000004
【図３】
2017007082.tif 000005
【図４Ａ】
2017007082.tif 000006
【図４Ｂ】
2017007082.tif 000007
【図４Ｃ】
2017007082.tif 000008
【図４Ｄ】
2017007082.tif 000009
【図５】
2017007082.tif 000010
【図６】
2017007082.tif 000011
【図７】
2017007082.tif 000012
【図８】
2017007082.tif 000013
【図９】
2017007082.tif 000014