(57)【要約】  ロボットシステム１は、多関節アームを有するロボット２と、ロボット２を制御するコントローラ９とを備える。コントローラ９は、ねじ部を有するボルト３を逆回転させながらボルト３を移動させるようにロボット２を制御することと、ボルト３がねじ穴４に到達するのに応じて、ボルト３を正回転させるようにロボット２を制御することと、を実行するように構成されている。
2017104027.tif 000002
【特許請求の範囲】
【請求項１】
多関節アームを有するロボットと、
ねじ部を有する締結部材を緩める方向に回転させながら前記締結部材を移動させるように前記ロボットを制御することと、前記締結部材がねじ締め開始位置に到達するのに応じて、前記締結部材を締める方向に回転させるように前記ロボットを制御することと、を実行するように構成されたコントローラと、を備えるロボットシステム。
【請求項２】
前記コントローラは、前記締結部材が被締結部材に接した状態にて、前記締結部材と前記被締結部材とが対向する方向における前記締結部材の位置に基づいて、前記締結部材が前記ねじ締め開始位置に到達したと判定するように構成されている、請求項１記載のロボットシステム。
【請求項３】
前記コントローラは、前記締結部材を介して前記ロボットに伝わる反力に基づき、前記締結部材と前記被締結部材とが接しているか否かを判定することを更に実行するように構成されている、請求項２記載のロボットシステム。
【請求項４】
前記ロボットは、少なくとも１つの駆動用のモータを有し、
前記コントローラは、前記モータのトルクに基づいて、前記反力を導出する、請求項３記載のロボットシステム。
【請求項５】
前記コントローラは、前記反力の上昇を抑制するように前記ロボットの姿勢を調節することを更に実行するように構成されている、請求項４記載のロボットシステム。
【請求項６】
前記締結部材を緩める方向に回転させながら前記締結部材を移動させるように前記ロボットを制御することは、
前記締結部材を前記被締結部材側へ向かう第１方向に沿って移動させ、前記被締結部材に到達させるように前記ロボットを制御する第１移動制御と、
前記第１移動制御にて、前記締結部材が前記ねじ締め開始位置とは異なる位置で前記被締結部材に到達した場合に、当該位置を囲む所定の範囲内の箇所をターゲットにして前記締結部材を移動させるように前記ロボットを制御する第２移動制御と、を含み、
前記コントローラは、
前記第１移動制御の実行中には、前記反力の上昇を抑制するように前記ロボットの姿勢を調節することを前記第１方向の反力に対して実行し、前記第１方向に交差する方向の反力に対しては実行しないように構成され、
前記第２移動制御の実行中には、前記反力の上昇を抑制するように前記ロボットの姿勢を調節することを前記第１方向の反力、及び前記第１方向に交差する方向の反力に対して実行するように構成されている、請求項５記載のロボットシステム。
【請求項７】
前記コントローラは、前記締結部材が前記ねじ締め開始位置に到達するまで前記第２移動制御を繰り返すように構成されている、請求項６記載のロボットシステム。
【請求項８】
前記ロボットは、旋回部と、前記旋回部に対して直列に接続された第１アーム及び第２アームと、前記旋回部を旋回させるための第１モータと、前記第１アームを揺動させるための第２モータと、前記第２アームを揺動させるための第３モータと、を有し、
前記コントローラは、前記反力の上昇を抑制するように前記ロボットの姿勢を調節することを、前記第１モータ、前記第２モータ、及び前記第３モータのトルク制御により実行するように構成されている、請求項５〜７のいずれか一項記載のロボットシステム。
【請求項９】
前記ロボットは、旋回部と、前記旋回部に対して直列に接続された第１アーム及び第２アームと、前記旋回部を旋回させるための第１モータと、前記第１アームを揺動させるための第２モータと、前記第２アームを揺動させるための第３モータと、を有し、
前記コントローラは、前記第１モータ、前記第２モータ、及び前記第３モータのトルクに基づいて、前記反力を導出する、請求項４〜８のいずれか一項記載のロボットシステム。
【請求項１０】
前記コントローラは、前記締結部材を締める方向に回転させる際に、前記締結部材のねじ込みが進行するのに応じて前記締結部材の回転速度を高くするように構成されている、請求項５〜８のいずれか一項記載のロボットシステム。
【請求項１１】
前記コントローラは、前記締結部材を締める方向に回転させる際に、前記締結部材のねじ込みが進行するのに応じて前記締結部材の回転速度を段階的に高くするように構成されている、請求項１０記載のロボットシステム。
【請求項１２】
前記ロボットは、前記ロボットの姿勢に対応して前記締結部材の位置が一義的に定まるように構成されている、請求項２〜１１のいずれか一項記載のロボットシステム。
【請求項１３】
前記ロボットは、前記締結部材を保持している状態において、前記多関節アームの最先端の関節から前記締結部材までの距離が一定となるように構成されている、請求項１２記載のロボットシステム。
【請求項１４】
前記ロボットは、前記多関節アームの先端部に装着可能なねじ締め機構を更に有し、
前記ねじ締め機構は、
前記先端部に着脱可能な基部と、前記基部に対して着脱可能であり、前記締結部材を保持する保持部と、当該締結部材を前記基部に対して回転させるモータとを有し、
前記基部から、前記保持部により保持された前記締結部材までの距離が一定となるように構成されている、請求項１３記載のロボットシステム。
【請求項１５】
多関節アームを有するロボットを用い、
ねじ部を有する締結部材を緩める方向に回転させながら前記締結部材を移動させるように前記ロボットを制御することと、
前記締結部材がねじ締め開始位置に到達するのに応じて、前記締結部材を締める方向に回転させるように前記ロボットを制御することと、を含む制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットシステム及び制御方法に関する。
【背景技術】
【０００２】
特許文献１には、アームの先端においてナットランナを把持し、該ナットランナを回転させることによりねじ締め作業を行うダブルアーム型ロボットが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６１−３８８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットを利用したねじ締め作業において、ねじ締め精度の更なる向上が望まれる場合がある。そこで本開示は、ねじ締め精度を向上させることができるロボットシステム及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本開示の一形態に係るロボットシステムは、多関節アームを有するロボットと、ねじ部を有する締結部材を緩める方向に回転させながら締結部材を移動させるようにロボットを制御することと、締結部材がねじ締め開始位置に到達するのに応じて、締結部材を締める方向に回転させるようにロボットを制御することと、を実行するように構成されたコントローラと、を備える。【０００６】
本開示の一形態に係る制御方法は、多関節アームを有するロボットを用い、ねじ部を有する締結部材を緩める方向に回転させながら締結部材を移動させるようにロボットを制御することと、締結部材がねじ締め開始位置に到達するのに応じて、締結部材を締める方向に回転させるようにロボットを制御することと、を含む。
【発明の効果】
【０００７】
本開示によれば、ねじ締め精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】ロボットシステムの全体構成を示す模式図である。
【図２】ナットランナを示す斜視図である。
【図３】ナットランナに含まれるビット部の断面図である。
【図４】コントローラのハードウェア構成図である。
【図５】逆回転制御及び正回転制御を説明するための図である。
【図６】第２移動制御の繰り返し処理を説明するための図である。
【図７】ねじ締め処理を示すフローチャートである。
【図８】第１移動制御を示すフローチャートである。
【図９】第２移動制御を示すフローチャートである。
【図１０】正回転制御を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【００１０】
［ロボットシステム］
本実施形態に係るロボットシステム１は、ワークＷ（被締結部材）に対してねじ締め作業を自動実行するものである。ねじとは、円筒又は円錐等の面に沿って螺旋状の溝を設けた固着具であり、外表面にねじ山が形成された雄ねじ、又は、内表面にねじ山が形成された雌ねじである。ねじ締め作業とは、少なくともいずれか一方にねじが形成された締結部材及び被締結部材を締結する作業である。本実施形態では、締結部材であるボルト３、及び、被締結部材であるワークＷのねじ穴４の双方にねじ部が形成されており、当該ボルト３とワークＷとを締結する例を、ねじ締め作業の一例として説明する。なお、ワークＷには必ずしもねじ穴４が形成されていなくてもよく、この場合、ボルト３がワークＷに穴を開けながら締結されてもよい。また、本実施形態では、締結部材がボルト３（雄ねじ）であり、被締結部材がワークＷ（雌ねじであるねじ穴４が形成されたもの）であるとして説明するが、例えば、締結部材が雌ねじ（ナット）であり、被締結部材がワーク（雄ねじ）であってもよい。
【００１１】
ねじ締め作業を自動実行するとは、ボルト３をワークＷのねじ穴４に締結する作業のうち、少なくとも、ねじ締めのためにボルト３を回転させる作業（詳細は後述）を自動で実行することをいう。ねじ締め作業は、例えば、ワークＷを含む物を組み立てる際の一工程として行われる。
【００１２】
図１に示すように、ロボットシステム１は、ロボット２と、ロボット２を制御するためのコントローラ９とを備える。
【００１３】
［ロボット］
（多関節アーム）
ロボット２は、多関節アーム１５を有するシリアルリンク型のロボットである。以下、多関節アーム１５の具体的な構成例を示す。多関節アーム１５は、基台１０と、旋回部２０と、多関節アーム１５を構成するアーム３０（第１アーム），４０（第２アーム）と、リスト７０と、エンド部８０と、モータ１００（第１モータ），２００（第２モータ），３００（第３モータ），４００，５００，６００とを有している。
【００１４】
基台１０は床面に固定され、ロボット２全体を支持する。以下、基台１０以外の各部の説明において、「基端」は基台１０側の端を意味し、「先端」は基台１０の逆側の端を意味する。
【００１５】
旋回部２０は基台１０上に設けられ、基台１０を通る鉛直な軸線Ａｘ１まわりに回転可能である。旋回部２０にはアーム３０の基端部が接続されている。
【００１６】
アーム３０は、旋回部２０とアーム３０との接続部を通る軸線Ａｘ２まわりに回転可能である。軸線Ａｘ２は軸線Ａｘ１に直交している。アーム３０の先端部にはアーム４０の基端部が接続されている。
【００１７】
アーム４０は、アーム３０とアーム４０との接続部を通る軸線Ａｘ３まわりに揺動可能である。軸線Ａｘ３は軸線Ａｘ２に平行である。アーム４０の先端部にはリスト７０の基端部が取り付けられている。アーム４０の先端部及びリスト７０は、アーム４０の中心軸線に沿う軸線Ａｘ４まわりに旋回可能である。
【００１８】
リスト７０は、アーム４０とリスト７０との接続部を通る軸線Ａｘ５まわりに揺動可能である。軸線Ａｘ５は、軸線Ａｘ４に直交している。リスト７０の先端部にはエンド部８０が設けられている。
【００１９】
エンド部８０は、リスト７０の先端部に中心軸線ＣＬ２に沿う軸線Ａｘ６まわりに旋回可能である。エンド部８０には、リスト７０の逆側からエンドエフェクタが装着可能とされている。エンドエフェクタは、エンド部８０に一体化されていてもよい。
【００２０】
モータ１００は、軸線Ａｘ１まわりに旋回部２０を旋回させるための動力を発生する。図１のモータ１００は旋回部２０に設けられているが、これに限られず、基台１０に設けられていてもよい。
【００２１】
モータ２００は、軸線Ａｘ２まわりにアーム３０を揺動させるための動力を発生する。図１のモータ２００はアーム３０の基端部に設けられているが、これに限られず、旋回部２０に設けられていてもよい。
【００２２】
モータ３００は、軸線Ａｘ３まわりにアーム４０を揺動させるための動力を発生する。図１のモータ３００はアーム４０の基端部に設けられているが、これに限られず、アーム３０の先端部に設けられていてもよい。
【００２３】
モータ４００は、軸線Ａｘ４まわりにアーム４０を旋回させるための動力を発生する。モータ４００は、例えばアーム４０の基端部に設けられていてもよい。
【００２４】
モータ５００は、軸線Ａｘ５まわりにリスト７０を揺動させるための動力を発生する。モータ５００は、例えばアーム４０に設けられていてもよい。
【００２５】
モータ６００は、軸線Ａｘ６まわりにエンド部８０を旋回させるための動力を発生する。モータ６００は、例えばアーム４０に設けられていてもよい。
【００２６】
（ナットランナ）
ロボット２は、上記エンドエフェクタの一例として、多関節アーム１５のエンド部８０に装着可能なナットランナ８１（ねじ締め機構）を更に有してもよい。ナットランナ８１は、エンド部８０に一体化されていてもよい。ナットランナ８１は、基部８２と、ビット部８３（保持部）と、モータ８４とを有している。図２及び図３も参照しながら、ナットランナ８１の詳細について説明する。
【００２７】
基部８２は、エンド部８０に着脱可能に設けられており、ビット部８３を保持する。基部８２がエンド部８０に装着された状態において、エンド部８０に対する基部８２の相対位置は不変となる。基部８２の先端部は、ビット部８３を着脱可能とされている（図２（ｃ）参照）。モータ８４は、ボルト３を回転させる（基部８２に対してボルト３を回転させる）ための動力を発生する。モータ８４は、ボルト３を保持するビット部８３に回転駆動を与えることにより、ボルト３を回転させる。モータ８４は、例えば基部８２に設けられていてもよい。
【００２８】
ビット部８３は、基部８２に対して着脱可能であり、ボルト３を保持する。図３に示すように、ビット部８３は、基端側から先端側に向かって、接続部８３ａと、回転伝達部８３ｂと、吸着部８３ｃと、チップ８３ｄとを有している。接続部８３ａは、基部８２に接続される部分である。回転伝達部８３ｂは、モータ８４からのトルクをチップ８３ｄに伝える部分である。吸着部８３ｃは、チップ８３ｄのまわりの空間を減圧することにより、ボルト３をチップ８３ｄ側に吸着する部分である。チップ８３ｄは、ボルト３の頭部に組み合うように構成されており、ボルト３と共に回転する。ボルト３がチップ８３ｄに組み合った状態において、チップ８３ｄに対するボルト３の相対位置は不変となる。
【００２９】
チップ８３ｄは、ボルト３の頭部に組み合った状態で、ボルト３にトルクを伝達可能であればどのようなものであってもよい。チップ８３ｄの具体例としていは、ボルト３の頭部の十字穴に挿入されるプラスビット、ボルト３の頭部のすりわり（マイナス穴）に挿入されるマイナスビット、ボルト３の頭部の六角穴に挿入される六角ビット、ボルト３の頭部を受け入れるソケット等が挙げられる。
【００３０】
ロボット２は、ロボット２の姿勢に対応してボルト３の位置が一義的に定まるように構成されている。具体的には、ロボット２は、ボルト３を保持している状態において、多関節アームの最先端の関節である、リスト７０とエンド部８０との接続部から、ボルト３までの距離が一定となるように構成されている。換言すると、ロボット２は、エンド部８０を基準とした座標系におけるボルト３の位置が一定となるように構成されている。
【００３１】
より具体的に、ナットランナ８１は、基部８２に対するチップ８３ｄの位置を変動させる緩衝機構を有していない。このため、基部８２に対するチップ８３ｄの位置は実質的に不変である。上述のように、エンド部８０に対する基部８２の相対位置は不変であり、チップ８３ｄに対するボルト３の相対位置も不変である。従って、基部８２に対するチップ８３ｄの位置が不変であることで、エンド部８０を基準とした座標系におけるボルト３の位置が一定となる。
【００３２】
［コントローラ］
コントローラ９は、ロボット２を制御する。具体的には、コントローラ９は、ワークＷに対してねじ締め作業が実行されるように、ロボット２を制御する。すなわち、コントローラ９は、ワークＷのねじ穴４にボルト３が締結されるように、ロボット２を制御する。
【００３３】
コントローラ９は、モータ１００〜６００の駆動を制御することにより、旋回部２０、アーム３０，４０、リスト７０、及びエンド部８０の、位置及び姿勢を設定する。また、コントローラ９は、モータ８４の駆動を制御することにより、ビット部８３に回転駆動を与え、ボルト３を回転させる。
【００３４】
コントローラ９は、ねじ部を有するボルト３を逆回転させながらボルト３を移動させるようにロボット２を制御することと、ボルト３がねじ締め開始位置であるねじ穴４に到達するのに応じて、ボルト３を正回転させるようにロボット２を制御することと、を実行するように構成されている。なお、ボルト３を逆回転させるとは、ボルト３をねじ締め作業における緩める方向に回転させることをいう。また、ボルト３を正回転させるとは、ボルト３をねじ締め作業における締める方向に回転させることをいう。
【００３５】
ロボットシステム１は、コントローラ９のユーザインターフェースとしてコンソール８を更に備えていてもよい。コンソール８は、コントローラ９に接続されており、ユーザからコントローラ９への入力情報を取得し、コントローラ９からユーザへの出力情報を表示する。コンソール８の具体例としては、キーボード、マウス及びモニタが挙げられる。コンソール８は表示部と入力部とが一体化したティーチングペンダントであってもよいし、タッチパネルディスプレイであってもよい。
【００３６】
以下、コントローラ９の具体的な構成例について説明する。コントローラ９は、機能モジュールとして、探索制御部９１と、締め込み制御部９２と、位置判定部９３と、姿勢調節部９４と、を有している。
【００３７】
探索制御部９１は、ボルト３を逆回転させながら移動させるように、ロボット２を制御する。探索制御部９１は、ボルト３を保持したロボットを制御する。探索制御部９１による制御は、ボルト３がねじ穴４に到達するまで継続的に行われる。探索制御部９１は、第１移動制御と、第２移動制御とを行う。
【００３８】
探索制御部９１は、最初に第１移動制御を行う。第１移動制御は、基準位置（詳細は後述）にセットされたボルト３を、ワークＷ側へ向かう第１方向に沿って移動させ、ワークＷに到達させるようにロボット２を制御する処理である。図５（ａ）は基準位置にセットされたボルト３を示している。本実施形態では、ワークＷの上面に形成されたねじ穴４にボルト３を締結する例を説明するため、上述したワークＷ側へ向かう第１方向とは下方向である。以下、第１移動制御においてボルト３を移動させる第１方向をＺ方向、当該Ｚ方向に交差する方向をＸ方向及びＹ方向として説明する場合がある。
【００３９】
探索制御部９１は、第１移動制御においてボルト３がねじ穴４とは異なる位置でワークＷに到達した場合（図５（ｄ）参照）に、第２移動制御を行う。第２移動制御は、上記異なる位置を囲む所定の範囲内の箇所をターゲットにして、ボルト３を移動させるようにロボット２を制御する処理である。探索制御部９１は、ボルト３がねじ穴４に到達するまで、第２移動制御を繰り返す。
【００４０】
締め込み制御部９２は、ボルト３がねじ穴４に到達するのに応じて、ボルト３を正回転させるようにロボット２を制御する。締め込み制御部９２は、ボルト３を正回転させると共に、ボルト３がねじ穴４の方向に押し込まれる（ねじ込まれる）ようにロボット２を制御する（図５（ｃ）参照）。締め込み制御部９２は、ボルト３を正回転させる際に、ボルト３のねじ込みが進行するのに応じてボルト３の回転速度を高く（例えば段階的に高く）してもよい。締め込み制御部９２は、ボルト３のねじ込み初期段階においては仮締め処理を行い、ねじ込みが所定位置まで進んだ段階で本締め処理を行ってもよい。本締め処理におけるボルト３の回転速度は、仮締め処理におけるボルト３の回転速度よりも高い。締め込み制御部９２は、ボルト３のねじ込みが進行するのに応じてボルト３の移動速度（下降速度）が高くなるようにロボット２を制御する。
【００４１】
位置判定部９３は、ボルト３がねじ穴４に到達したか否かを判定する。位置判定部９３は、ボルト３がワークＷに接した状態にて、ボルト３とワークＷとが対向する方向（すなわちＺ方向）におけるボルト３の位置（すなわち高さ）に基づいて、ボルト３がねじ穴４に到達したか否かを判定してもよい。
【００４２】
位置判定部９３は、ボルト３を介してロボット２に伝わる反力に基づき、ボルト３とワークＷとが接しているか否かを判定してもよい。位置判定部９３は、例えば、ロボット２における基端側のモータであるモータ１００，２００，３００のトルクに基づいて、上述した反力を導出してもよい。
【００４３】
姿勢調節部９４は、上述した反力の上昇を抑制するように、ロボット２の姿勢を調節する。姿勢調節部９４は、例えば反力が所定値よりも大きくならないように、ロボット２の姿勢を調節してもよい。姿勢調節部９４は、ロボット２の姿勢を調節することを、例えば、外力への追従を可能とするサーボフロート制御により実行する。サーボフロート機能は、例えば、モータ１００〜６００の少なくとも何れか（例えばモータ１００，２００，３００）のトルクにリミットを設けることで実現可能である。例えばモータに供給する電流にリミットを設けることで、当該モータのトルクにリミットを設けることができる。なお、「リミットを設ける」とは、当該リミットを超えないように制御することを意味する。
【００４４】
姿勢調節部９４は、上述した第１移動制御の実行中には、ロボット２の姿勢を調節することを、Ｚ方向の反力に対して実行し、Ｚ方向に交差するＸ方向及びＹ方向に対しては実行しなくてもよい。すなわち、姿勢調節部９４は、第１移動制御の実行中には、Ｚ方向の反力が所定値よりも大きくならないように、モータ１００，２００，３００のトルクを制御し、Ｚ方向のサーボフロート機能を有効化してもよい。
【００４５】
姿勢調節部９４は、上述した第２移動制御の実行中及び締め込み制御部９２による制御中には、ロボット２の姿勢を調節することをＺ方向の反力、並びに、Ｚ方向に交差するＸ方向及びＹ方向の反力に対して実行してもよい。すなわち、姿勢調節部９４は、第２移動制御の実行中及び締め込み制御部９２による制御中には、Ｚ方向、Ｘ方向、及びＹ方向の反力が所定値よりも大きくならないように、モータ１００，２００，３００のトルクを制御し、Ｚ方向、Ｘ方向、及びＹ方向のサーボフロート機能を有効化してもよい。
【００４６】
コントローラ９のハードウェアは、例えば一つ又は複数の制御用のコンピュータにより構成される。コントローラ９は、ハードウェア上の構成として、例えば図４に示す回路９００を有する。回路９００は、プロセッサ９０１と、メモリ９０２と、ストレージ９０３と、入出力ポート９０４と、ドライバ９０５とを有する。ドライバ９０５は、ロボット２の各種アクチュエータを駆動するための回路である。入出力ポート９０４は、外部信号の入出力を行うのに加え、ドライバ９０５に対する信号の入出力も行う。プロセッサ９０１は、メモリ９０２及びストレージ９０３の少なくとも一方と協議してプログラムを実行し、入出力ポート９０４を介した信号の入出力を実行することで、上述した機能モジュールを構成する。
【００４７】
なお、コントローラ９のハードウェア上の構成は、必ずしもプログラムの実行により機能モジュールを構成するものに限られない。例えばコントローラ９は、専用の論理回路により、又はこれを集積したＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によりこれらの機能モジュールを構成するものであってもよい。
【００４８】
［ねじ締め処理］
次に、ロボットシステム１によるねじ締め処理（制御方法）について、図７を参照して説明する。
【００４９】
図７に示すように、ねじ締め処理の手順は、ステップＳ１〜ステップＳ６を含む。コントローラ９は、まずステップＳ１を実行する。ステップＳ１では、コントローラ９が、ボルト３のピックアップ制御を行う。ピックアップ制御では、まず、制御開始指示を契機として、コントローラ９がロボット２の制御を開始する。制御開始指示は、上位のコントローラから送信されるものであってもよいし、コンソール８を介してオペレータにより入力されるものであってもよい。コントローラ９は、ナットランナ８１のビット部８３が、締結予定のボルト３の直上に移動するようにロボット２を制御し、ビット部８３の吸着部８３ｃを動作させるようにロボット２を制御する。これにより、ボルト３がチップ８３ｄ側に吸着され、チップ８３ｄがボルト３の頭部に組み合う。
【００５０】
続いて、コントローラ９は、ステップＳ２を実行する。ステップＳ２では、コントローラ９が、ボルト３を保持したビット部８３を移動させることにより、ボルト３を基準位置にセットする。基準位置とは、探索制御部９１による第１移動制御を開始する際のボルト３の位置である。基準位置は、Ｘ方向及びＹ方向における位置がワークＷのねじ穴４と一致している。そのため、第１移動制御によって基準位置からＺ方向（下方向）に移動したボルト３は、通常、ねじ穴４に到達することとなる。
【００５１】
続いて、コントローラ９は、ステップＳ３を実行する。ステップＳ３では、コントローラ９が第１移動制御を行う。続いて、コントローラ９は、ステップＳ４を実行する。ステップＳ４では、コントローラ９がねじ締め開始位置か否かの判定（位置判定）を行う。ステップＳ４においてねじ締め開始位置でないと判定された場合には、コントローラ９は、ステップＳ５を実行する。ステップＳ５では、コントローラ９が第２移動制御を行う。ステップＳ４においてねじ締め開始位置であると判定された場合には、コントローラ９は、ステップＳ６を実行する。ステップＳ６では、コントローラ９が正回転制御を行う。以下、上述したステップＳ３〜ステップＳ６の各処理の詳細について、図８〜図１０も参照しながら説明する。
【００５２】
（第１移動制御（ステップＳ３））
図８に示すように、第１移動制御の手順は、ステップＳ３１〜Ｓ３３を含む。ステップＳ３１では、姿勢調節部９４が、ボルト３を介してロボット２に伝わる反力の上昇を抑制するようにロボット２の姿勢を調節する。姿勢調節部９４は、例えば、Ｚ方向の反力が所定値よりも大きくならないように、モータ１００，２００，３００のトルクを制御して、Ｚ方向のサーボフロート機能を有効化する。この場合、姿勢調節部９４は、Ｘ方向及びＹ方向のサーボフロート機能については、有効化しない。姿勢調節部９４は、例えばモータに流れる電流を調節することにより、モータのトルクを調節してもよい。なお、姿勢調節部９４は、上記モータ１００，２００，３００に替えて（又は加えて）ロボット２の他のモータのトルクを制御することにより、ロボット２の姿勢を調節してもよい。コントローラ９は、当該ステップＳ３１を、上述したステップＳ１の後且つステップＳ２の前に実行してもよい。すなわち、コントローラ９は、ボルト３を基準位置にセットする前に、Ｚ方向のサーボフロート機能を有効化してもよい。
【００５３】
続いて、ステップＳ３２では、探索制御部９１が、ボルト３を逆回転させるようにロボット２を制御する。該逆回転は、ボルト３がねじ穴４に到達するまで継続的に行われる。そして、ステップＳ３３では、探索制御部９１が、基準位置にセットされたボルト３を、ワークＷ側へ向かうＺ方向（下方向）に下降させるようにロボット２を制御する。以上が、ステップＳ３の第１移動制御の詳細である。
【００５４】
（位置判定（ステップＳ４））
ステップＳ４の位置判定では、位置判定部９３が、ボルト３がねじ穴に到達したか（ねじ締め開始位置か）否かを判定する。位置判定部９３は、ボルト３がワークＷに接した状態にて、ボルト３とワークＷとが対向する方向（すなわちＺ方向）におけるボルト３の位置（すなわち高さ）に基づいて、ボルト３がねじ穴４に到達したか否かを判定してもよい。位置判定部９３は、例えば、ロボット２の関節部分に設けられた角位置センサの値などに基づき、ボルト３の高さを特定してもよい。当該角位置センサとしては、例えばロータリエンコーダなどを用いることができる。
【００５５】
図５（ｂ）に示すように、ボルト３がワークＷに接した際に、ボルト３がねじ穴４に到達していると、ボルト３がねじ穴４の先端部分に入り込む。これに対して、図５（ｄ）に示すように、ボルト３がねじ穴４に到達しておらずボルト３がワークＷにおけるねじ穴４以外に接した場合には、ボルト３がねじ穴４に入り込まない分だけ、ボルト３がねじ穴４に到達した場合よりもボルト３の高さが高くなる。このように、ボルト３がねじ穴４に到達しているか否かによって、ワークＷに接した際のボルト３の高さが異なるので、位置判定部９３は、ボルト３がねじ穴４に到達しているか否かを判定することができる。
【００５６】
位置判定部９３は、ボルト３を介してロボット２に伝わる反力に基づき、ボルト３とワークＷとが接しているか否かを判定してもよい。位置判定部９３は、例えば、ロボット２における基端側のモータであるモータ１００，２００，３００のトルクに基づいて、上述した反力を導出してもよい。ロボット２に伝わる反力が大きくなると、該反力に打ち勝ってロボット２を動かす必要が生じるため、モータ１００，２００，３００を制御するときのトルクも大きくなる。このため、モータ１００，２００，３００のトルクに基づいて、ロボット２に伝わる反力を検出することができる。なお、位置判定部９３は、上記モータ１００，２００，３００に替えて（又は加えて）ロボット２の他のモータのトルクに基づき反力を導出してもよい。位置判定部９３は、例えばモータに流れる電流から、モータのトルクを特定してもよい。以上が、ステップＳ４の位置判定処理の詳細である。
【００５７】
（第２移動制御（ステップＳ５））
図９に示すように、第２移動制御の手順は、ステップＳ５１〜Ｓ５５を含む。ステップＳ５１では、姿勢調節部９４が、サーボフロート機能を無効化する。なお、コントローラ９は、当該ステップＳ５１を実行しなくてもよい。すなわち、コントローラ９は、サーボフロート機能を無効化しなくてもよい。続いて、ステップＳ５２では、探索制御部９１がボルト３を保持したビット部８３を移動させることにより、ボルト３を基準位置にセットする。すなわち、探索制御部９１は、第１制御においてボルト３がワークＷに接した位置から、上方向にボルト３を移動させて基準位置にボルト３がセットされるように、ロボット２を制御する。
【００５８】
上述したように、基準位置は、ねじ穴４の直上となるように事前に設定された位置である。しかしながら、例えば、ビット部８３に吸着されたボルト３が何らかの理由で傾いた場合や、ねじ穴４が形成されたワークＷが何らかの理由で位置ずれした場合などにおいては、基準位置の直下がねじ穴４とならない場合がある。この場合、第１制御において基準位置からボルト３が下降すると、ボルト３はねじ穴４とは異なる位置でワークＷに到達することとなる。
【００５９】
第２移動制御では、基準位置の直下の位置を囲む、所定の範囲内の箇所をターゲットにして、ボルト３を移動させるようにロボット２を制御する。第２移動制御では、例えば、基準位置の直下の位置を中心とした所定の範囲内の箇所がターゲットとされてもよい。
【００６０】
例えば、図６に示すように、第１移動制御においてワークＷに到達した位置がねじ穴４とは異なる位置ＭＲであった場合、探索制御部９１は、当該異なる位置ＭＲを中心とした所定半径の円の円周上の８つの位置ＮＲ１〜ＮＲ８を新たなターゲットとして特定する。探索制御部９１は、新たなターゲットとして特定した位置ＮＲ１〜ＮＲ８の遷移順序（ターゲット順序）を決定する。
【００６１】
そして、ステップＳ５３では、探索制御部９１が、ターゲット順序が１番の新たなターゲットの直上へ、ボルト３を移動させるようにロボット２を制御する。この場合、探索制御部９１は、ボルト３を、基準位置からＸ方向及びＹ方向にのみ移動させるようにロボット２を制御する。なお、コントローラ９は、上述したステップＳ５２を実行せずに、ステップＳ５１の後にステップＳ５３を実行してもよい。すなわち、コントローラ９は、基準位置への移動を行わずに、第１移動制御においてボルト３がワークＷに到達した位置から、新たなターゲットの直上へ直接移動してもよい。
【００６２】
続いて、ステップＳ５４では、姿勢調節部９４が、Ｚ方向、Ｘ方向、及びＹ方向の反力が所定値よりも大きくならないように、モータ１００，２００，３００のトルクを制御して、Ｚ方向、Ｘ方向、及びＹ方向のサーボフロート機能を有効化する。更に、ステップＳ５５では、探索制御部９１が、新たなターゲットの直上にセットされたボルト３を、Ｚ方向（下方向）に下降させるようにロボット２を制御する。以上が、ステップＳ５の第２移動制御の詳細である。
【００６３】
なお、探索制御部９１は、第２移動制御において、ターゲット順序が１番のターゲットにボルト３を移動させても、ステップＳ４の位置判定においてボルト３がねじ穴に到達していないと判定された場合には、ターゲット順序が２番のターゲットにボルト３を移動させるように、再度、第２移動制御を行う。このように、コントローラ９は、ボルト３がねじ穴４に到達するまで第２移動制御を繰り返すように構成されている。なお、探索制御部９１は、上述した位置ＮＲ１〜ＮＲ８をターゲットにしてボルト３を移動させても、ボルト３がねじ穴４に到達しなかった場合には、上記異なる位置ＭＲを中心とした、更に半径が大きい円の円周上の位置ＡＮ１〜ＡＮ８（図６参照）を新たなターゲットとして特定してもよい。
【００６４】
（正回転制御（ステップＳ６））
図１０に示すように、正回転制御の手順は、ステップＳ６１〜Ｓ６９を含む。ステップＳ６１では、姿勢調節部９４が、Ｚ方向、Ｘ方向、及びＹ方向のサーボフロート機能を有効化する。なお、コントローラ９は、すでにＺ方向、Ｘ方向、及びＹ方向のサーボフロート機能が有効化されている場合には、ステップＳ６１を実行しなくてもよい。続いて、ステップＳ６２では、締め込み制御部９２が、ボルト３を仮締め正回転させるようにロボット２を制御する。仮締め正回転とは、正回転であって、後述する本締め正回転よりも回転速度が低い正回転である。続いて、ステップＳ６３では、締め込み制御部９２が、モータ８４のトルクが所定の仮締めトルクに到達するまで、ボルト３を下降させるようにロボット２を制御する。なお、仮締め正回転の際にボルト３を下降させる速度は、後述する本締め正回転の際にボルト３を下降させる速度よりも低い。
【００６５】
ステップＳ６４では、締め込み制御部９２が、ボルト３が所定の仮締め完了位置に到達したか否かを判定する。締め込み制御部９２は、ボルト３とワークＷとが対向する方向（すなわちＺ方向）におけるボルト３の位置（すなわち高さ）に基づいて、ボルト３が仮締め完了位置に到達したか否かを判定してもよい。締め込み制御部９２は、例えば、ロボット２の関節部分に設けられた角位置センサの値などに基づき、ボルト３の高さを特定してもよい。
【００６６】
ステップＳ６４において仮締め完了位置であると判定された場合には、締め込み制御部９２が、ボルト３を本締め正回転させるようにロボット２を制御する（ステップＳ６５）。本締め正回転とは、正回転であって、仮締め正回転よりも回転速度が高い正回転である。つづいて、ステップＳ６６では、締め込み制御部９２が、モータ８４のトルクが所定の本締めトルクに到達するまで、ボルト３を下降させるようにロボット２を制御する。なお、本締め正回転の際にボルト３を下降させる速度は、仮締め正回転の際にボルト３を下降させる速度よりも高い。
【００６７】
ステップＳ６７では、締め込み制御部９２が、ボルト３が所定の本締め完了位置に到達したか否かを判定する。ステップＳ６７において本締め完了位置であると判定された場合には、姿勢調節部９４がサーボフロート機能を無効化し（ステップＳ６９）、一連のねじ締め作業が完了する。一方で、ステップＳ６４において仮締め完了位置でないと判定された場合、及び、ステップＳ６７において本締め完了位置でないと判定された場合には、締め込み制御部９２は、ねじ締めに失敗したと判断し（ステップＳ６８）、ボルト３を緩めて取り出し、処理を終了する。以上が、ステップＳ６の正回転制御の詳細である。
【００６８】
［本実施形態の効果］
以上に説明したように、ロボットシステム１は、多関節アーム１５を有するロボット２と、ロボット２を制御するコントローラ９とを備える。コントローラ９は、ねじ部を有するボルト３を逆回転させながらボルト３を移動させるようにロボット２を制御することと、ボルト３がねじ穴４に到達するのに応じて、ボルト３を正回転させるようにロボット２を制御することと、を実行するように構成されている。
【００６９】
ロボットシステム１では、ボルト３がねじ穴４に到達するまで、ボルト３が逆回転させられる。すなわち、ボルト３は、ねじ穴４を探索する段階において逆回転している。ボルト３を回転させながらねじ穴４を探索することにより、ボルト３が回転していない場合と比較して、ボルト３の姿勢を安定させることができる。このことで、ボルト３が傾いた状態でねじ穴４に到達することを抑制することができる。また、例えばボルト３を正回転させながらねじ穴４を探索した場合には、ねじ穴４に対してボルト３の位置がずれていた場合に、ボルト３がねじ穴４に対して斜め締めされることが問題となる。この点、ロボットシステム１では、ねじ穴４に到達するまではボルト３が逆回転しているため、ねじ穴４に対してボルト３が締め付けられることがなく、斜め締めを抑制することができる。以上、ロボットシステム１によれば、ボルト３の移動時の姿勢が安定すると共に、ボルト３の斜め締めが抑制されることにより、ねじ締め精度を向上させることができる。
【００７０】
コントローラ９は、ボルト３がワークＷに接した状態にて、ボルト３とワークＷとが対向する方向（Ｚ方向）におけるボルト３の位置に基づいて、ボルト３がねじ穴４（ねじ締め開始位置）に到達したと判定するように構成されていてもよい。ボルト３がワークＷに接した状態において、ボルト３がねじ穴４に到達している場合（図５（ｂ）参照）と、到達していない場合（図５（ｄ）参照）とでは、ボルト３のＺ方向の位置（高さ）が異なるので、当該ボルト３の高さに基づいてねじ穴４への到達を判定することにより、ねじ締め開始のタイミングを単純な手法で的確に検出することができる。
【００７１】
コントローラ９は、ボルト３を介してロボット２に伝わる反力に基づき、ボルト３とワークＷとが接しているか否かを判定するように構成されていてもよい。ロボット２の内部情報を用いることにより、ボルト３とワークＷとが接したか否かを単純な構成で的確に判定することができる。
【００７２】
ロボット２は、駆動用のモータ１００〜６００を有し、コントローラ９はこれらのモータのトルクに基づいて、反力を導出してもよい。モータのトルクは反力に応じて上昇するので、モータのトルクに基づき反力を導出することにより、ボルト３とワークＷとが接したか否かを単純な構成で的確に判定することができる。
【００７３】
更に、コントローラ９は、旋回部２０を旋回させるためのモータ１００、アーム３０を揺動させるためのモータ２００、及び、アーム４０を揺動させるためのモータ３００のトルクに基づいて、反力を導出してもよい。このように、旋回部２０を含む基側の３軸のトルクに基づいて反力を導出することにより、反力を高感度に検出できる。
【００７４】
コントローラ９は、反力の上昇を抑制するようにロボット２の姿勢を調節することを更に実行するように構成されていてもよい。これにより、ボルト３を押し付ける力が過大とならないように制御しながらねじ締めを行うことができ、ばね等の機械的な緩衝機構を用いない簡易な構成で、ロボット２によるねじ締めを行うことができる。
【００７５】
ボルト３を逆回転させながらボルト３を移動させるようにロボット２を制御することは、ボルト３をワークＷ側へ向かうＺ方向に沿って移動させ、ワークＷに到達させるようにロボット２を制御する第１移動制御と、第１移動制御にて、ボルト３がねじ穴４とは異なる位置でワークＷに到達した場合に、当該位置を囲む所定の範囲内の箇所をターゲットにしてボルト３を移動させるようにロボット２を制御する第２移動制御と、を含み、コントローラ９は、第１移動制御の実行中には、反力の上昇を抑制するようにロボット２の姿勢を調節することをＺ方向の反力に対して実行し、Ｚ方向に交差するＸ方向及びＹ方向の反力に対しては実行しないように構成され、第２移動制御の実行中には、反力の上昇を抑制するようにロボット２の姿勢を調節することをＺ方向、Ｘ方向、及びＹ方向の反力に対して実行するように構成されていてもよい。
【００７６】
第１移動制御においてボルト３がねじ穴４とは異なる位置でワークＷに到達した場合に、第２移動制御が行われる。基準位置の直下にはねじ穴４が配置されるように事前設定されている。そのため、何らかの理由により第１移動制御に失敗した場合であっても、基準位置の直下（第１移動制御においてボルト３が到達した、ねじ穴４とは異なる位置）の周辺に、ねじ穴４が配置されている可能性が高いと考えられる。よって、第２移動制御では、第１移動制御においてボルト３が到達した位置を囲む所定の範囲内の箇所がターゲットとされることが好ましい。第１移動制御において、Ｘ方向及びＹ方向に対してもサーボフロート機能が有効にされると、トルク倣い動作により、ワークＷに到達したボルト３のＸ方向及びＹ方向における位置がずれるおそれがある。この場合には、第２移動制御におけるターゲットが、基準位置の直下の周辺位置とならず、第２移動制御におけるねじ穴４の探索精度を悪化させるおそれがある。この点、第１移動制御において、Ｚ方向のサーボフロート機能のみが有効にされることにより、第２移動制御におけるターゲットを設定する際の基準となる位置がずれにくくなり、第２移動制御におけるねじ穴４の探索精度を担保することができる。一方で、第２移動制御においては、Ｘ方向及びＹ方向に対してもサーボフロート機能が有効にされることにより、トルク倣い動作によって、Ｘ方向及びＹ方向に探り動作が行われ、Ｘ方向及びＹ方向における位置をずらしながら、広範囲でねじ穴４を探索することができる。すなわち、第２移動制御においてねじ穴４に到達し易くすることができる。
【００７７】
コントローラ９は、ボルト３がねじ穴４に到達するまで第２移動制御を繰り返すように構成されていてもよい。コントローラ９は、例えば図６に示すように、第１移動制御において到達した、ねじ穴４とは異なる位置ＭＲを中心とした所定半径の円周上の位置ＮＲ１〜ＮＲ８を新たなターゲットとして特定し、ターゲット順序を決めて、ねじ穴４に到達するまで、位置ＮＲ１〜ＮＲ８へボルト３を順次遷移させる。このように新たなターゲットへのボルト３の遷移を繰り返すことにより、ボルト３を高確率でねじ穴４に到達させることができる。
【００７８】
コントローラ９は、反力の上昇を抑制するようにロボット２の姿勢を調整することを、旋回部２０を旋回させるためのモータ１００、アーム３０を揺動させるためのモータ２００、及び、アーム４０を揺動させるためのモータ３００のトルク制御により実行するように構成されていてもよい。旋回部２０を含む基側の３軸のトルク制御を行うことにより、反力に対する応答性を高めることができる。
【００７９】
コントローラ９は、ボルト３を正回転させる際に、ボルト３のねじ込みが進行するのに応じてボルト３の回転速度を高くするように構成されていてもよい。ボルト３をねじ穴４にねじ込む際においては、ねじ込みの初期段階ほど、ねじ穴４におけるボルト３の可動範囲が広く、ボルト３の位置ずれにより斜め締めが発生しやすい。この点、初期段階においては、ボルト３の回転速度を低くすることにより、トルク制御による倣い動作をより確実に作用させながら、斜め締めを好適に抑制することができる。一方で、ボルト３の位置が概ね定まっているねじ込みの後期段階においては、ボルト３の回転速度を高くすることにより、迅速にねじ締めを行い、作業時間を短縮することができる。
【００８０】
コントローラ９は、ボルト３を正回転させる際に、ボルト３のねじ込みが進行するのに応じて、ボルト３の回転速度を段階的に高くするように構成されていてもよい。具体的には、本実施形態では、ねじ込みの初期段階では仮締め処理が行われ、ねじ込みの後期段階では仮締め処理におけるボルト３の回転速度よりも高い本締め処理が行われる。回転速度を段階的に高くすることにより、ねじ込みの進行に応じた回転速度の変更を簡易且つ適切に行うことができる。
【００８１】
ロボット２は、ロボット２の姿勢に対応してボルト３の位置が一義的に定まるように構成されていてもよい。これにより、ロボット２の姿勢に基づいて、ボルト３の位置を簡易且つ高精度に特定することができる。
【００８２】
ロボット２は、ボルト３を保持している状態において、多関節アーム１５の最先端の関節からボルト３までの距離が一定となるように構成されていてもよい。これによって、単純に、ロボット２の位置のみからボルト３の位置を特定することが可能となり、より簡易な構成で、ボルト３の位置を特定することができる。
【００８３】
ロボット２は、エンド部８０に装着可能なナットランナ８１を更に有し、ナットランナ８１は、エンド部８０に着脱可能な基部８２と、基部８２に対して着脱可能であり、ボルト３を保持するビット部８３と、ボルト３を基部８２に対して回転させるモータ８４とを有し、基部８２から、ビット部８３により保持されたボルト３までの距離が一定となるように構成されていてもよい。ナットランナ８１を用いることにより、ロボット２によるねじ締めを簡易且つ適切に行うことができる。また、ナットランナ８１を用いてねじ締めを行う際において、基部８２からボルト３までの長さが変わらないので、単純に、ロボット２の位置のみからボルト３の位置を特定することが可能となり、簡易な構成で、ボルト３の位置を特定することができる。
【００８４】
なお、基部８２からボルト３までの長さが不変になるとは、ビット部８３において、ボルト３の軸方向に伸縮するスピンドルユニット等のばね機構が設けられていないことを意味している。ばね機構が設けられていないことにより、ばね機構が設けられた場合と比較して、ボルト３とねじ穴４のねじ山同士の不完全な噛み込みが発生し易くなることが考えられる。この点、本実施形態では、上述したようにボルト３が逆回転しているので、ばね機構を用いず基部８２からボルト３までの長さを不変とした場合においても、ねじ山同士の不完全な噛み込みが発生することを抑制できる。
【００８５】
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
【００８６】
例えば、ボルト３がワークＷに接した状態にて、ボルト３とワークＷとが対向する方向におけるボルト３の位置に基づいて、ボルト３がねじ穴４に到達したと判定するとして説明したがこれに限定されない。すなわち、例えば、カメラ等によってボルト３の位置を特定することにより、ボルト３がねじ穴４に到達したことを判定してもよい。
【００８７】
また、ロボット２はナットランナ８１を有し、ナットランナ８１の基部８２からビット部８３により保持されたボルト３までの距離が一定となるように構成されているとして説明したがこれに限定されない。すなわち、例えばナットランナのビット部にばね機構が設けられ、基部からボルトまでの距離が可変とされると共に、ばね機構の変位量を検出可能な構成を更に備えることによって、ロボットの姿勢からボルトの位置が一義的に定まるように構成されていてもよい。
【００８８】
また、ロボット２はナットランナ８１を有し、該ナットランナ８１によりねじ締めを行うとして説明したがこれに限定されず、エンド部に装着したその他のエンドエフェクタにより、ねじ締めを行ってもよい。
【産業上の利用可能性】
【００８９】
本開示は、ロボットを利用したねじ締め作業に利用可能である。
【符号の説明】
【００９０】
１…ロボットシステム、２…ロボット、３…ボルト（締結部材）、４…ねじ穴、９…コントローラ、１５…多関節アーム、２０…旋回部、３０，４０…アーム（第１アーム及び第２アーム）、８０…エンド部（先端部）、８１…ナットランナ（ねじ締め機構）、８２…基部、８３…ビット部（保持部）、１００，２００，３００…モータ（第１モータ、第２モータ、及び第３モータ）、Ｗ…ワーク（被締結部材）。
【図１】
2017104027.tif 000003
【図２】
2017104027.tif 000004
【図３】
2017104027.tif 000005
【図４】
2017104027.tif 000006
【図５】
2017104027.tif 000007
【図６】
2017104027.tif 000008
【図７】
2017104027.tif 000009
【図８】
2017104027.tif 000010
【図９】
2017104027.tif 000011
【図１０】
2017104027.tif 000012
【国際調査報告】
2017104027.tif 000013
2017104027.tif 000014