(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-13
(45)【発行日】2024-06-21
(54)【発明の名称】ロボット装置、及び制御方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20240614BHJP
【FI】
B25J13/00 Z
(21)【出願番号】P 2020170357
(22)【出願日】2020-10-08
【審査請求日】2023-06-15
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【氏名又は名称】松尾 茂樹
(74)【代理人】
【識別番号】100212026
【氏名又は名称】中村 真生
(72)【発明者】
【氏名】豊田 晃平
(72)【発明者】
【氏名】合屋 昌弘
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2016-221646(JP,A)
【文献】特開平06-226662(JP,A)
【文献】特開平08-227320(JP,A)
【文献】特開平09-174470(JP,A)
【文献】特開2016-221642(JP,A)
【文献】特開2018-012143(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00- 21/02
B23P 19/00 - 21/00
(57)【特許請求の範囲】
【請求項1】
先端部と、前記先端部の位置及び姿勢を変更させる多関節アームとを有するロボットと、
ワークの上方に前記先端部を配置するように前記多関節アームを制御する配置制御部と、
前記ワークの上方に前記先端部が配置された状態で、前記多関節アームが前記先端部に付与する支持力を縮小して、前記先端部の重さの少なくとも一部を前記ワークに作用させる荷重制御部と、を備えるロボット装置。
【請求項2】
前記先端部は、前記ワークに作用させる荷重に基づいて予め設定された重さを有する、請求項1記載のロボット装置。
【請求項3】
前記荷重制御部は、前記先端部の重さの少なくとも一部を前記ワークに作用させて前記ワークを下降させている間に、前記先端部の高さ位置を示す情報に基づいて前記支持力を変更する、請求項1又は2記載のロボット装置。
【請求項4】
前記荷重制御部は、前記先端部の高さ位置が第1所定値に達した場合に、前記先端部の下降を停止させる、請求項3記載のロボット装置。
【請求項5】
前記荷重制御部は、前記先端部の高さ位置が、前記第1所定値よりも上方に設定された第2所定値に達した場合に、前記支持力を徐々に大きくする、請求項4記載のロボット装置。
【請求項6】
前記先端部の下降速度が所定の閾値以下である場合に、前記ワークに対する作業が異常であると判定する進捗異常判定部を更に備える、請求項3~5のいずれか一項記載のロボット装置。
【請求項7】
前記荷重制御部は、前記先端部の下降速度を目標値に追従させるように前記支持力を変更する、請求項3~6のいずれか一項記載のロボット装置。
【請求項8】
前記荷重制御部は、前記ワークの上方に前記先端部が配置された状態で前記支持力を縮小させる際に前記支持力を徐々に小さくする、請求項1~7のいずれか一項記載のロボット装置。
【請求項9】
前記荷重制御部は、前記先端部の重さの少なくとも一部を前記ワークに作用させている期間の少なくとも一部において、前記ワークに対する前記先端部の姿勢を目標姿勢に追従させる、請求項1~8のいずれか一項記載のロボット装置。
【請求項10】
前記ワークに対する前記先端部の姿勢と前記目標姿勢との乖離レベルが所定の閾値を超えた場合に、前記先端部の姿勢が異常であると判定する姿勢異常判定部を更に備える、請求項9記載のロボット装置。
【請求項11】
前記荷重制御部は、前記先端部の重さの少なくとも一部を前記ワークに作用させている期間の少なくとも一部において、前記先端部の水平方向における位置を目標位置に追従させる、請求項1~10のいずれか一項記載のロボット装置。
【請求項12】
前記先端部の水平方向における位置と前記目標位置との乖離レベルが所定の閾値を超えた場合に、前記先端部の水平方向における位置が異常であると判定する位置異常判定部を更に備える、請求項11記載のロボット装置。
【請求項13】
前記ワークを前記先端部に保持させるように前記ロボットを制御するワーク保持制御部と、
所定位置まで前記ワークを搬送するように前記多関節アームを制御する搬送制御部と、を更に備え、
前記配置制御部は、前記所定位置に搬送された前記ワークの上方に前記先端部を配置する、請求項1~12のいずれか一項記載のロボット装置。
【請求項14】
重り部材の重さを前記先端部の重さに付加するように前記重り部材を前記先端部に保持させる重り保持制御部を更に備え、
前記配置制御部は、前記重り部材を保持した状態の前記先端部を前記ワークの上方に配置する、請求項1~13のいずれか一項記載のロボット装置。
【請求項15】
前記ロボットは、前記ワークが第1位置に配置された状態で、前記配置制御部及び前記荷重制御部による制御によって、前記先端部の重さの少なくとも一部を前記ワークに作用させ、
前記配置制御部は、
前記先端部の重さの少なくとも一部を前記ワークに作用させた後に、前記第1位置とは異なる
第2位置に配置された他のワークの上方に前記先端部を配置するように、前記多関節アームを制御することを更に実行し、
前記荷重制御部は、前記他のワークの上方に前記先端部が配置された状態で、前記支持力を縮小して、前記先端部の重さの少なくとも一部を前記他のワークに作用させることを更に実行する、請求項1~14のいずれか一項記載のロボット装置。
【請求項16】
前記配置制御部は、第2ワークの上方に位置する状態の前記ワークの上方に、前記先端部を配置するように前記多関節アームを制御し、
前記荷重制御部は、前記ワークが下降して前記第2ワークに組み付けられるように前記先端部の重さの少なくとも一部を前記ワークに作用させる、請求項1~14のいずれか一項記載のロボット装置。
【請求項17】
ワークの上方に先端部を配置するように、前記先端部の位置及び姿勢を変更させる多関節アームを制御することと、
前記ワークの上方に前記先端部が配置された状態で、前記多関節アームが前記先端部に付与する支持力を縮小して、前記先端部の重さの少なくとも一部を前記ワークに作用させることと、を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット装置、及び制御方法に関する。
【背景技術】
【0002】
特許文献1には、ロボットの把持部に把持させた第1のワークを載置面上に配置された第2のワークに組み付ける物品の製造方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、ワークへの過度な荷重を抑制するのに有用なロボット装置、及び制御方法を提供する。
【課題を解決するための手段】
【0005】
本開示の一側面に係るロボット装置は、先端部と、先端部の位置及び姿勢を変更させる多関節アームとを有するロボットと、ワークの上方に先端部を配置するように多関節アームを制御する配置制御部と、ワークの上方に先端部が配置された状態で、多関節アームが先端部に付与する支持力を縮小して、先端部の重さの少なくとも一部をワークに作用させる荷重制御部と、を備える。
【発明の効果】
【0006】
本開示によれば、ワークへの過度な荷重を抑制するのに有用なロボット装置、及び制御方法が提供される。
【図面の簡単な説明】
【0007】
【
図1】
図1は、ロボット装置の一例を示す模式図である。
【
図2】
図2(a)及び
図2(b)は、ワークの組付作業の一例を示す模式図である。
【
図3】
図3は、コントローラの機能構成の一例を示すブロック図である。
【
図4】
図4は、コントローラのハードウェア構成の一例を示すブロック図である。
【
図5】
図5は、ロボットの制御方法の一例を示すフローチャートである。
【
図6】
図6(a)及び
図6(b)は、ロボットによる搬送・配置動作の一例を示す模式図である。
【
図7】
図7(a)及び
図7(b)は、ロボットによる圧入動作の一例を示す模式図である。
【
図8】
図8は、荷重制御の一例を示すフローチャートである。
【
図9】
図9は、ワークの組付作業の別の例を示す模式図である。
【発明を実施するための形態】
【0008】
以下、図面を参照して一実施形態について説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0009】
[ロボット装置]
図1に示されるロボット装置1は、ロボットを用いて、ワークに対して所定の加工作業を行う装置である。ロボット装置1は、ロボット10と、コントローラ100とを備える。
【0010】
ロボット10は、例えば6軸の垂直多関節ロボットであり、基部12と、多関節アーム20と、先端部14とを有する。基部12は、ロボット10が作業を行うエリアにおいて、例えば床面に設置されている。
【0011】
多関節アーム20は、基部12と先端部14とを接続する。多関節アーム20は、先端部14の位置及び姿勢を変更させる。例えば、多関節アーム20は、複数の関節を有し、当該複数の関節の角度を変更することで、基部12に対する先端部14の位置及び姿勢を調節する。多関節アーム20は、例えば、旋回部22と、下アーム24と、上アーム26と、手首部28と、アクチュエータ31,32,33,34,35,36と、角度センサ51,52,53,54,55,56とを有する。
【0012】
旋回部22は、鉛直な軸線Ax1まわりに旋回可能となるように、基部12の上部に設けられている。すなわち多関節アーム20は、軸線Ax1まわりに旋回部22を旋回可能とする関節41を有する。
【0013】
下アーム24は、軸線Ax1に交差(例えば直交)する軸線Ax2まわりに揺動可能となるように旋回部22に接続されている。すなわち多関節アーム20は、軸線Ax2まわりに下アーム24を揺動可能とする関節42を有する。なお、ここでの交差とは、所謂立体交差のように、互いにねじれの関係にある場合も含む。以下においても同様である。
【0014】
上アーム26は、軸線Ax1に交差する軸線Ax3まわりに揺動可能となるように、下アーム24の端部に接続されている。すなわち多関節アーム20は、軸線Ax3まわりに上アーム26を揺動可能とする関節43を有する。軸線Ax3は軸線Ax2に平行であってもよい。
【0015】
上アーム26の先端部26aは、上アーム26の中心に沿う軸線Ax4まわりに旋回可能となっている。換言すると、上アーム26の先端部26aは、上アーム26の基端部26bに対して旋回可能である。すなわち多関節アーム20は、軸線Ax4まわりに上アーム26の先端部26aを旋回可能とする関節44を有する。
【0016】
手首部28は、軸線Ax4に交差(例えば直交)する軸線Ax5まわりに揺動可能となるように上アーム26の先端部26aに接続されている。すなわち多関節アーム20は、軸線Ax5まわりに手首部28を揺動可能とする関節45を有する。
【0017】
先端部14は、手首部28の中心に沿う軸線Ax6まわりに旋回可能となるように、手首部28の先端部に接続されている。すなわち多関節アーム20は、軸線Ax6まわりに先端部14を旋回可能とする関節46を有する。
【0018】
アクチュエータ31,32,33,34,35,36は、例えば電動モータ等の動力源によって、多関節アーム20の複数の可動部をそれぞれ駆動する。例えばアクチュエータ31は、軸線Ax1まわりに旋回部22を旋回させ、アクチュエータ32は軸線Ax2まわりに下アーム24を揺動させ、アクチュエータ33は軸線Ax3まわりに上アーム26を揺動させ、アクチュエータ34は軸線Ax4まわりに上アーム26の先端部26aを旋回させ、アクチュエータ35は軸線Ax5まわりに手首部28を揺動させ、アクチュエータ36は軸線Ax6まわりに先端部14を旋回させる。すなわちアクチュエータ31~36は、関節41~46をそれぞれ駆動する。
【0019】
角度センサ51,52,53,54,55,56は、例えばロータリーエンコーダ、レゾルバ又はポテンショメータ等であり、関節41,42,43,44,45,46の動作角度をそれぞれ検出する。角度センサ51,52,53,54,55,56は、関節41,42,43,44,45,46の角度を直接検出するように設けられていてもよく、アクチュエータ31,32,33,34,35,36の動力源である電動モータの出力軸の動作角度を検出するように設けられていてもよい。
【0020】
先端部14には、ツール16が装着されてもよい。ツール16は、ロボット10による作業に用いられる部材を保持可能に構成されている。ツール16は、例えば、当該部材を把持によって保持する。ツール16が保持する上記部材には、ワークに対する加工作業に用いられる重り部材60が含まれる。
【0021】
ロボット装置1は、先端部14の重さをワークに作用させることによって、当該ワークに対する加工作業を行う。例えば、ロボット装置1は、先端部14が上記重り部材60を保持した状態で、重り部材60を上方からワークに接触させて当該ワークに荷重を付加する。本開示において、先端部14が重り部材60を保持する場合、先端部14の重さには、ツール16を含む先端部14自体の重さと、重り部材60の重さとが含まれる。以下では、先端部14が重り部材60を保持する場合、先端部14の重さには、重り部材60の重さが含まれるものとして説明する。
【0022】
重り部材60の重さ(先端部14の重さ)は、ワークに作用させる荷重に基づいて予め設定されてもよい。例えば、重り部材60の重さは、作業内容に応じてワークに付与することが必要な荷重に基づいて予め設定される。一例では、ワークに付与することが必要な荷重が数十kgf~数百kgf程度である場合に、重り部材60の重さ(重量)は、数十kg~数百kg程度に設定される(上記荷重と同程度の値、または荷重の値に対して数%~数十%大きい値の重さに設定される)。重り部材60は、ワークに荷重を作用させる際に、当該ワークに接触する加工面60aを有する。例えば、重り部材60は、加工面60aが略水平となるように先端部14に保持されている。
【0023】
先端部14の重さを利用した加工作業として、例えば、一組のワークを互いに組み付ける作業(組付作業)が挙げられる。組付作業としては、例えば、一方のワークに対して他方のワークを圧入する作業が挙げられる。
図2(a)及び
図2(b)には、先端部14の重さを利用した圧入作業の様子が例示されている。以下では、一組のワークのうち、先端部14の重さが付与される一方のワークを「ワークW1」とし、当該ワークW1が組み付けられる他方のワークを「ワークW2」とする。
図2(a)には、圧入前の様子が示されており、
図2(b)には、圧入後の様子が示されている。
【0024】
ワークW1は、中実の柱状(例えば、円柱状)に形成されていてもよく、ワークW2は、中空の筒状(例えば、円筒状)に形成されていてもよい。ワークW1がワークW2に圧入される前の状態において、ワークW1の外径d1は、ワークW2の内径d2よりも大きい。ワークW1とワークW2とは、互いに異なる材料によって形成されていてもよい。例えば、ワークW2は、ワークW1に比べて硬くてもよい。この場合、ワークW1は、ワークW2に比べて変形し易い。ワークW2に対するワークW1への圧入作業では、ワークW1の側面部分が内側に圧縮されながら、ワークW2の内部に圧入される(押し込まれる)。
【0025】
コントローラ100は、ロボット10を制御する。コントローラ100は、ワークの上方に先端部14を配置するように、先端部14の位置及び姿勢を変更させる多関節アーム20を制御することと、ワークの上方に先端部14が配置された状態で、多関節アーム20が先端部14に付与する力(以下、「支持力SP」という。)を縮小して、先端部14の重さの少なくとも一部をワークに作用させることと、を実行するように構成されている。
【0026】
図3に示されるように、コントローラ100は、機能上の構成(以下、「機能モジュール」という。)として、例えば、ワーク保持制御部102と、搬送制御部104と、重り保持制御部106と、配置制御部108と、荷重制御部110と、進捗異常判定部112と、姿勢異常判定部114と、位置異常判定部116とを有する。これらの機能モジュールが実行する処理は、コントローラ100が実行する処理に相当する。
【0027】
ワーク保持制御部102は、ワークを先端部14に保持させるようにロボット10を制御する。ワーク保持制御部102は、例えば、ワークに対する加工作業が行われる所定の位置(以下、「作業位置WP」という。)とは異なるエリアにおいて、ワークを先端部14に保持させるようにロボット10を制御する。
【0028】
搬送制御部104は、上記作業位置WPまでワークを搬送するようにロボット10の多関節アーム20を制御する。例えば、搬送制御部104は、作業位置WPとは異なるエリアから作業位置WPまでワークを移動させ、作業位置WPにワークが配置されるように先端部14によりワークの保持を解除させる。なお、搬送制御部104は、ワークの加工作業に用いられる治具を、作業位置WPまで搬送するように多関節アーム20を制御してもよい。
【0029】
重り保持制御部106は、重り部材60を先端部14に保持させるようにロボット10を制御する。重り保持制御部106が重り部材60を先端部14に保持させることで、先端部14の重さに重り部材60の重さが付加される。重り保持制御部106は、例えば、重り部材60の加工面60aが略水平となるように重り部材60を先端部14に保持させる。一例では、重り保持制御部106は、作業位置WPとは異なるエリアにおいて、重り部材60を先端部14に保持させる。
【0030】
配置制御部108は、ワークの上方に先端部14を配置するように多関節アーム20を制御する。より詳細には、配置制御部108は、作業位置WPに既に搬送(配置)されたワークの上方に、先端部14を配置するように多関節アーム20を制御する。例えば、配置制御部108は、作業位置WPのワークの上方(例えば、鉛直上方)に、重り部材60を保持した状態の先端部14を配置するように多関節アーム20のアクチュエータ31~36を制御する。重り部材60を配置する高さ位置は、予め定められており、例えば、重り部材60の加工面60aとワークの上面とが所定の間隔を設けて対向する位置に設定される。重り部材60を作業位置WPのワークの上方に配置するには、多関節アーム20から先端部14に、先端部14の重さに略等しい支持力SPを付与する必要がある。つまり、作業位置WPに位置するワークの上方の所定の高さ位置に配置された状態の先端部14には、先端部14の重さに略等しい支持力SPが多関節アーム20から付与されている。
【0031】
荷重制御部110は、ワークの上方に先端部14が配置された状態で、多関節アーム20が先端部14に付与する支持力SPを縮小して、先端部14の重さの少なくとも一部をワークに作用させる。荷重制御部110は、例えば、多関節アーム20のアクチュエータ31~36によって先端部14に付与される力の鉛直上向きの成分が、先端部14の重さよりも小さい値となるようにアクチュエータ31~36を制御する。支持力SPが先端部14の重さよりも小さい値に縮小することで、先端部14が下降して、重り部材60がワークに接触し、先端部14の重さと支持力SPとの差分がワークに付与される。本開示において、先端部14の重さの少なくとも一部をワークに作用させることには、先端部14の重さの全てをワークに作用させること、及び先端部14の重さの一部をワークに作用させることが含まれる。また、先端部14の重さの少なくとも一部をワークに作用させることには、先端部14の重さに加えて、多関節アーム20の一部の重さをワークに作用させることも含まれる。
【0032】
荷重制御部110は、先端部14の重さの少なくとも一部をワークに作用させてワークを下降させている間に、先端部14の高さ位置(鉛直方向における位置)を示す情報に基づいて、先端部14に付与される支持力SPを変更してもよい。例えば、荷重制御部110は、所定の周期で、角度センサ51~56からの検出値に基づいて先端部14の高さ位置を算出し、算出した先端部14の高さ位置に基づいて支持力SPを変更する。荷重制御部110は、先端部14の高さ位置の時間変化に基づいて、支持力SPを変更することで先端部14の下降速度を調節してもよい。例えば、荷重制御部110は、先端部14の下降速度を予め定められた目標値に追従させるように支持力SPを変更する。
【0033】
荷重制御部110は、先端部14の高さ位置が第1所定値H1に達した場合に、先端部14の下降を停止させる(
図2(b)参照)。第1所定値H1は、ワークへの加工内容に応じて、予め設定される高さ位置である。荷重制御部110は、例えば、支持力SPが先端部14の重さよりも大きくなるようにアクチュエータ31~36を制御することで、先端部14を停止させる。
【0034】
荷重制御部110は、先端部14の高さ位置が、第1所定値H1よりも上方に設定された第2所定値H2に達した場合に、支持力SPを徐々に大きくする。これにより、先端部14が、第2所定値H2から第1所定値H1までの間を下降する際に、支持力SPが徐々に大きくなり、先端部14の下降が徐々に減速する。
【0035】
荷重制御部110は、先端部14を下降させる際に、先端部14(重り部材60)の移動が鉛直下向きに規制されるように、多関節アーム20を制御してもよい(いわゆるリニアサーボフロート制御を実行してもよい)。例えば、荷重制御部110は、先端部14の重さの少なくとも一部をワークに作用させている期間の少なくとも一部において、多関節アーム20により、ワークに対する先端部14の姿勢を目標姿勢に追従させる。目標姿勢は、例えば、重り部材60の加工面60aが略水平となる状態が保たれる姿勢に設定される。また、荷重制御部110は、先端部14の重さの少なくとも一部をワークに作用させている期間の少なくとも一部において、多関節アーム20により、先端部14の水平方向における位置を目標位置に追従させる。目標位置は、例えば、作業位置WPに位置するワークの水平方向における中心位置に設定される。
【0036】
荷重制御部110は、ワークの上方に先端部14が配置された状態で支持力SPを縮小させる際に、多関節アーム20により、支持力SPを徐々に小さくする。例えば、荷重制御部110は、作業位置WPのワークの上方に先端部14が配置された後に、支持力SPの縮小を開始してから、支持力SPの縮小幅が所定の設定値となるまで、多関節アーム20により支持力SPを徐々に小さくする。これにより、作業開始の初期段階において、支持力SPが徐々に小さくなり、先端部14の下降が徐々に加速する。
【0037】
進捗異常判定部112は、先端部14の下降速度が所定の閾値以下である場合に、ワークに対する作業が異常であると判定する。この閾値は、下降速度の上記目標値よりも小さい値に予め設定されている。下降速度が所定の閾値以下である場合、何らかの異常要因によって先端部14が停止していると判断できる。
【0038】
姿勢異常判定部114は、ワークに対する先端部14の姿勢と目標姿勢との乖離レベルが所定の閾値を超えた場合に、先端部14の姿勢が異常であると判定する。この閾値は、先端部14の姿勢(例えば、先端部14の鉛直方向に対する傾き)の許容範囲に基づいて、予め設定されている。
【0039】
位置異常判定部116は、先端部14の水平方向における位置と目標位置との乖離レベルが所定の閾値を超えた場合に、先端部14の水平方向における位置が異常であると判定する。この閾値は、水平方向において、ワークと先端部14(重り部材60)との間の許容できるずれ量に基づいて、予め設定されている。
【0040】
図4は、コントローラ100のハードウェア構成を例示するブロック図である。
図4に示されるように、コントローラ100は、回路150を有する。回路150は、一つ又は複数のプロセッサ152と、メモリ154と、ストレージ156と、ドライバ(ドライバ回路)158と、入出力ポート162と、タイマ164とを含む。ストレージ156は、例えば不揮発性の半導体メモリ等、コンピュータによって読み取り可能な記憶媒体を有する。ストレージ156は、ワークの上方に先端部14を配置するように多関節アーム20を制御することと、ワークの上方に先端部14が配置された状態で、多関節アーム20が先端部14に付与する支持力SPを縮小して、先端部14の重さの少なくとも一部をワークに作用させることと、をコントローラ100に実行させるためのプログラムを記憶している。例えばストレージ156は、コントローラ100に上記各機能モジュールを構成するためのプログラムを記憶している。
【0041】
メモリ154は、ストレージ156の記憶媒体からロードしたプログラム及びプロセッサ152による演算結果を一時的に記憶する。プロセッサ152は、メモリ154と協働して上記プログラムを実行することで、コントローラ100の各機能モジュールを構成する。ドライバ158は、プロセッサ152からの指令に従って、多関節アーム20のアクチュエータ31~36に駆動電力を出力する。入出力ポート162は、プロセッサ152からの指令に従って、角度センサ51~56との間で情報の入出力を行う。タイマ164は、プロセッサ152からの指令により所定周期のクロックパルスをカウントして経過時間を計測する。なお、回路150は、必ずしもプログラムにより各機能を構成するものに限られない。例えば回路150は、専用の論理回路又はこれを集積したASIC(Application Specific Integrated Circuit)により少なくとも一部の機能を構成してもよい。
【0042】
[ロボットの制御方法]
続いて、ロボットの制御方法の一例として、コントローラ100によって実行される一連の処理について説明する。以下では、ロボット10によって、筒状のワークW2に対して柱状のワークW1を圧入する作業が行われる場合を例示する。
【0043】
図5は、コントローラ100によって実行される一連の処理の一例を示すフローチャートである。作業位置WPにいずれの部材も配置されておらず、先端部14がいずれの部材も保持していない状態で、コントローラ100は、最初にステップS01を実行する。ステップS01では、例えば、ワーク保持制御部102が、ワークW2に対するワークW1の圧入が行われる作業位置WPとは異なるエリアにおいて、ワークW2を先端部14に保持させるようにロボット10を制御する。そして、搬送制御部104が、ワークW2を作業位置WPに搬送するように多関節アーム20を制御する。
図6(a)に示されるように、ワーク保持制御部102及び搬送制御部104は、ロボット10を制御することで、筒状のワークW2の中心軸が鉛直方向に沿うように作業位置WPにワークW2を配置する。
【0044】
次に、コントローラ100は、ステップS02を実行する。ステップS02では、例えば、ワーク保持制御部102が、作業位置WPとは異なるエリアにおいて、治具70を先端部14に保持させるようにロボット10を制御する。そして、搬送制御部104が、治具70を作業位置WPに搬送するように多関節アーム20を制御する。治具70は、ワークW2にワークW1を圧入する際に、ワークW1の側面部分を内側に圧縮する。治具70は、ワークW2と同様に、筒状に形成されている。治具70の一端部における内径は、ワークW2の内径に略一致し、治具70の他端部における内径は、ワークW1の外径に略一致する。ワーク保持制御部102及び搬送制御部104は、ロボット10を制御することで、治具70の中心軸がワークW2の中心軸に略一致し、治具70の内径が下方に向かうにつれて小さくなる姿勢となるように、ワークW2の上方に治具70を配置する。
【0045】
次に、コントローラ100は、ステップS03を実行する。ステップS03では、例えば、ワーク保持制御部102が、作業位置WPとは異なるエリアにおいて、ワークW1を先端部14に保持させるようにロボット10を制御する。そして、搬送制御部104が、ワークW1を作業位置WPに搬送するように多関節アーム20を制御する。ワーク保持制御部102及び搬送制御部104は、ロボット10を制御することで、柱状のワークW1の中心軸が鉛直方向に沿い、ワークW2及び治具70の中心軸に略一致するように治具70の上方にワークW1を配置する。これにより、
図6(a)に示されるように、互いに中心軸が略一致した状態で、ワークW2、治具70、及びワークW1がこの順で積み重ねられる。
【0046】
次に、コントローラ100は、ステップS04を実行する。ステップS04では、例えば、重り保持制御部106が、作業位置WPとは異なるエリアにおいて、重り部材60を先端部14に保持させるようにロボット10を制御する。重り保持制御部106は、重り部材60の加工面60aが略水平となるように重り部材60を先端部14に保持させる。
【0047】
次に、コントローラ100は、ステップS05を実行する。ステップS05では、例えば、配置制御部108が、作業位置WPにおいてワークW2(第2ワーク)の上方に位置する状態のワークW1(ワーク)の上方に、先端部14を配置するように多関節アーム20を制御する。配置制御部108は、多関節アーム20を制御することにより、加工面60aの中心がワークW1の中心軸に略一致するように、重り部材60を保持した状態の先端部14を、ワークW1の上方の予め定められた高さ位置に配置してもよい。この配置動作により、
図6(b)に示されるように、加工面60aがワークW1の上端面に対向した状態で、重り部材60がワークW1の上方に位置する。重り部材60がワークW1の上方に位置する状態では、上述したように、多関節アーム20から先端部14に付与される支持力SP(鉛直上向きの力)が、先端部14の重さに略一致する。
【0048】
次に、コントローラ100は、ステップS06を実行する。ステップS06では、例えば、荷重制御部110が荷重制御を実行する。荷重制御は、先端部14の重さの少なくとも一部をワークに作用させるように、多関節アーム20により支持力SPを縮小させることを含む。荷重制御部110が、多関節アーム20により支持力SPを先端部14の重さよりも小さい値に縮小した状態を継続させることで、先端部14(重り部材60)が下降する。これにより、
図7(a)及び
図7(b)に示されるように、重り部材60の加工面60aがワークW1の上端面に接触した状態で、ワークW1の側面部分が内側に圧縮されつつ、治具70の内部及びワークW2の内部にワークW1が挿入されていく(押し込まれていく)。荷重制御の詳細については、後述する。
【0049】
次に、コントローラ100は、ステップS07を実行する。ステップS07では、例えば、コントローラ100が、作業位置WPとは異なるエリアに重り部材60を搬送して、先端部14による重り部材60の保持を解除するようにロボット10を制御する。そして、搬送制御部104が、ワークW1がワークW2に圧入されることで形成された加工済みのワークと治具70とを、作業位置WPとは異なるエリアに個別に搬送するようにロボット10を制御する。以上により、一組のワークW1,W2に対する加工作業を行う一連の処理が終了する。コントローラ100は、後続の複数組のワークW1,W2に対する加工作業を行うために、ステップS01~S07の処理を繰り返し実行してもよい。
【0050】
図8は、ステップS06の圧入制御の一例を示すフローチャートである。この圧入制御では、作業位置WPにおいて先端部14がワークW1の上方に配置された状態で、コントローラ100がステップS11,S12を実行する。ステップS11では、例えば、荷重制御部110が、予め定められた単位減少幅だけ支持力SPを縮小させるように多関節アーム20を制御する。ステップS12では、例えば、荷重制御部110が、ステップS06の開始前の支持力SPからの縮小幅が、所定の設定値を超えているかを判断する。
【0051】
荷重制御部110は、上記縮小幅が設定値を超えるまでステップS11,S12を繰り返す。この際、荷重制御部110は、上記縮小幅が設定値を超えるまで、所定の周期ごとに、支持力SPを単位縮小幅だけ減少させるように多関節アーム20を制御してもよい。上記設定値は、ワークW1に作用させる荷重に応じて設定されており、例えば、先端部14の重さの1/3倍~1/10倍程度に設定される。以上のステップS11,S12のように、荷重制御部110は、ワークW1の上方に先端部14を配置した状態から、支持力SPを縮小させる際に支持力SPを徐々に小さくするように多関節アーム20を制御する。
【0052】
次に、コントローラ100は、ステップS13を実行する。ステップS13では、例えば、荷重制御部110が、先端部14の下降速度、先端部14の姿勢、及び先端部14の水平方向における位置それぞれを目標値、目標姿勢、及び目標位置に近づけるように多関節アーム20を制御する追従制御を実行する。後述するように、荷重制御部110は、先端部14の高さ位置が第2所定値H2に達するまで追従制御を繰り返し実行する。例えば、荷重制御部110は、所定の周期ごとに、角度センサ51~56の検出値に基づく先端部14の高さ位置の時間変化に基づいて、先端部14の下降速度を算出する。そして、荷重制御部110は、所定の周期ごとに、算出した下降速度と、下降速度の目標値との偏差に応じて、その偏差が小さくなるように支持力SPを変更する(アクチュエータ31~36を制御する)。
【0053】
荷重制御部110は、所定の周期ごとに、角度センサ51~56の検出値に基づく先端部14の姿勢と、先端部14の目標姿勢との偏差に応じて、その偏差が小さくなるように先端部14の姿勢を調節する(アクチュエータ31~36を制御する)。先端部14の目標姿勢は、例えば、先端部14が保持する重り部材60の加工面60aが略水平となる姿勢に設定されている。荷重制御部110は、所定の周期ごとに、角度センサ51~56の検出値に基づく先端部14の水平方向における位置と、当該位置についての目標位置との偏差に応じて、その偏差が小さくなるように先端部14の水平方向における位置を調節する。先端部14の水平方向における目標位置は、例えば、加工面60aの中心がワークW1(ワークW2)の中心軸に略一致する位置に設定されている。
【0054】
以上の追従制御では、先端部14の水平方向における位置と先端部14の姿勢とがそれぞれ目標位置及び目標姿勢に規制されつつ、先端部14の高さ位置が目標値付近の下降速度で変化する。これにより、先端部14(重り部材60)は、鉛直方向に沿って一定の速度範囲内で、ワークW1をワークW2に向けて加圧しつつ下降する。
【0055】
次に、コントローラ100は、ステップS14を実行する。ステップS14では、例えば、コントローラ100が、先端部14の下降速度、先端部14の姿勢、及び先端部14の水平方向における位置それぞれの異常の有無を判定する。ステップS14において、下降速度、姿勢、及び水平方向における位置のいずれか1つが異常であると判定された場合(ステップS14:YES)、コントローラ100の処理はステップS18に進む。ステップS18の詳細については、後述する。コントローラ100は、上記追従制御と同様に、所定の周期ごとに、先端部14の下降速度、先端部14の姿勢、及び先端部14の水平方向における位置それぞれの異常の有無を判定する。
【0056】
ステップS14において、例えば、所定の周期ごとに、進捗異常判定部112が、先端部14の下降速度と閾値とを比較し、先端部14の下降速度がその閾値以下である場合に、ワークW1,W2に対する作業が異常であると判定する。先端部14の下降速度は、上述したように目標値に追従するように制御されている。すなわち、荷重制御部110は、下降速度が小さくなれば、支持力SPを減少させて、ワークW1に作用する荷重が大きくなるように多関節アーム20を制御する。そのため、支持力SPを限界値(例えば、ゼロ)まで減少させても、下降速度が上昇しない場合(上記閾値を下回る場合)には、何らかの要因でワークに対する作業の進捗に異常が発生していると判断することができる。
【0057】
ステップS14では、例えば、姿勢異常判定部114が、所定の周期ごとに、先端部14の姿勢と目標姿勢とを比較し、これらの乖離レベルが、先端部14の姿勢についての閾値(許容レベル)を超えた場合に、先端部14の姿勢が異常であると判定する。また、ステップS14では、例えば、位置異常判定部116が、所定の周期ごとに、先端部14の水平方向における位置と目標位置とを比較し、これらの乖離レベルが、先端部14の水平方向の位置についての閾値(許容レベル)を超えた場合に、先端部14の水平方向における位置が異常であると判定する。
【0058】
ステップS14において、下降速度(作業の進捗)、姿勢、及び水平方向における位置のいずれも異常ではないと判定された場合(ステップS14:NO)、コントローラ100は、ステップS15を実行する。ステップS15では、例えば、コントローラ100が、先端部14の高さ位置が、先端部14の減速を開始させるために設定された第2所定値H2に達したかどうかを判断する。コントローラ100は、所定の周期ごとに、角度センサ51~56の検出値に基づく先端部14の高さ位置と、第2所定値H2(減速を開始させる高さ位置)とを比較することで、先端部14の高さ位置が第2所定値H2に達したかどうかを判断してもよい。第2所定値H2は、例えば、ワークW1を加圧によりワークW2の内部に圧入させる際の、先端部14の目標停止位置(高さ)の近傍に設定される。
【0059】
コントローラ100は、先端部14の高さ位置が第2所定値H2に達するまで、ステップS13~S15の処理を繰り返し実行する。一方、ステップS15において、先端部14の高さ位置が第2所定値H2に達したと判断された場合(ステップS15:YES)、コントローラ100は、ステップS16を実行する。ステップS16では、例えば、荷重制御部110が、単位増加幅だけ支持力SPを増加させるように多関節アーム20を制御する。単位増加幅は、予め設定されていてもよく、第2所定値H2に達した際の(周期での)支持力SPの値に応じて定められてもよい。支持力SPの増加に伴って、先端部14からワークW1に作用する荷重は小さくなり、先端部14の下降は減速する。
【0060】
次に、コントローラ100は、ステップS17を実行する。ステップS17では、例えば、コントローラ100が、先端部14の高さ位置が、先端部14を停止させる目標停止位置(高さ)に相当する第1所定値H1に達したかどうかを判断する。コントローラ100は、角度センサ51~56の検出値に基づく先端部14の高さ位置と、第1所定値H1とを比較することで、先端部14の高さ位置が第1所定値H1に達したかどうかを判断してもよい。コントローラ100は、先端部14の高さ位置が第1所定値H1に達するまで、ステップS16,S17の処理を繰り返す。この際、荷重制御部110は、先端部14の高さ位置が第1所定値H1に達するまで、所定の周期ごとに、支持力SPを単位増加幅だけ増加させるように多関節アーム20を制御してもよい。
【0061】
ステップS17において、先端部14の高さ位置が第1所定値H1に達したと判断された場合(ステップS17:YES)、コントローラ100の処理はステップS18に進む。ステップS18では、例えば、荷重制御部110が、先端部14の下降を停止させるように多関節アーム20を制御する。荷重制御部110は、多関節アーム20により、先端部14の支持力SPを先端部14の重さよりも大きい値に増加させる。これにより、先端部14の下降が停止し、先端部14(重り部材60)からワークW1に作用する荷重がゼロとなる。なお、ステップS14において、ワークに対する作業の進捗等が異常であると判定された場合には、異常と判定された際の高さ位置に先端部14が停止する。以上により、ステップS06の荷重制御が終了する。
【0062】
上述した一連の処理は一例であり、適宜変更可能である。上記一連の処理において、コントローラ100は、一のステップと次のステップとを並列に実行してもよく、上述した例とは異なる順序で各ステップを実行してもよい。コントローラ100は、いずれかのステップを省略してもよく、いずれかのステップにおいて上述の例とは異なる処理を実行してもよい。
【0063】
例えば、コントローラ100は、支持力SPの縮小を開始する際に支持力SPを徐々に小さくする制御、下降速度が目標値に追従するように支持力SPを変更する制御、及び第2所定値H2に達した後に支持力SPを徐々に大きくする制御のうち、いずれか1つの制御又はいずれか2つの制御を実行しなくてもよい。コントローラ100は、これらの3つの制御の全てを実行しなくてもよい。
【0064】
コントローラ100は、先端部14の下降速度に基づく異常判定、先端部14の姿勢に基づく異常判定、及び先端部14の水平方向における位置に基づく異常判定のうち、いずれか1つの異常判定又はいずれか2つの異常判定を実行しなくてもよい。コントローラ100は、これらの3つの異常判定の全てを実行しなくてもよい。
【0065】
(変形例)
上述の例では、先端部14が重り部材60を保持した場合に、先端部14の重さが、ワークに作用させる荷重に基づく設定値となるように調整されているが、先端部自体の重さが、ワークに作用させる荷重に基づき設定されていてもよい。例えば、
図9に示されるロボット10Aは、先端部14に代えて先端部14Aを有する。多関節アーム20の手首部28の先端部に接続されている先端部14Aは、何も保持していない状態で、ワークに作用させる荷重に基づいて予め設定された重さを有する。コントローラ100は、ロボット10Aを制御する場合においても、上述のステップS01~ステップS07の一連の処理を実行してもよい。
【0066】
上述の例では、一箇所の作業位置に配置されるワークに対して、1台のロボットを用いて加工作業が行われるが、二箇所以上の作業位置にそれぞれ配置される複数のワークに対して、1台のロボットを用いて加工作業が行われてもよい。例えば、
図9に示されるように、1台のロボット10Aが、二箇所の作業位置WP1,WP2それぞれに配置された複数組のワークW1,W2に対する組付作業を行ってもよい。この場合、ロボット装置1は、ロボット10Aに加えて、ワーク及び治具を搬送するための他の搬送ロボット(不図示)を備えてもよい。
【0067】
作業位置WP1において、ワークW2が配置され当該ワークW2の上方にワークW1が配置された状態で、ロボット10Aは、ロボット10と同様に、先端部14Aの重さを利用してワークW1に荷重を作用させる。作業位置WP1とは異なる作業位置WP2において、ワークW2が配置され当該ワークW2の上方にワークW1(他のワーク)が配置された状態で、ロボット10Aは、ロボット10と同様に、先端部14の重さを利用してワークW1に荷重を作用させる。
【0068】
複数箇所で加工作業を行う際に、コントローラ100は、例えば以下の手順で一連の処理を実行する。まず、コントローラ100は、作業位置WP1にワークW2,W1を順に搬送するように搬送ロボットを制御する。なお、上述の例と同様に、コントローラ100は、搬送ロボットにより、ワークW2,W1の間に治具70を配置するように治具70を搬送してもよい。そして、コントローラ100の配置制御部108は、作業位置WP1に配置されたワークW1の上方に先端部14Aを配置するように、ロボット10Aの多関節アーム20を制御する。
【0069】
その後、コントローラ100の荷重制御部110は、作業位置WP1に位置するワークW1(ワーク)の上方に先端部14Aが配置された状態で、多関節アーム20が先端部14Aを支持する支持力SPを縮小して、先端部14Aの重さの少なくとも一部を作業位置WP1に位置するワークW1に作用させる。これにより、作業位置WP1において、ワークW2に対してワークW1が組み付けられる(例えば、圧入される)。
【0070】
コントローラ100は、先端部14Aの重さによる組付作業が作業位置WP1で実行されている期間の少なくとも一部と重複する期間において、作業位置WP2にワークW2,W1を順に搬送するように搬送ロボットを制御する。すなわち、作業位置WP1でのワークW1,W2の組付作業と、作業位置WP2へのワークW1,W2の搬送とが並行して行われる。
【0071】
次に、配置制御部108は、作業位置WP2に配置されたワークW1の上方に先端部14Aを配置するように、ロボット10Aの多関節アーム20を制御する。そして、荷重制御部110は、作業位置WP2に位置するワークW1の上方に先端部14Aが配置された状態で、多関節アーム20が先端部14Aを支持する支持力SPを縮小して、先端部14Aの重さの少なくとも一部を作業位置WP2に位置するワークW1に作用させる。これにより、作業位置WP2において、ワークW2に対してワークW1が組み付けられる(例えば、圧入される)。
【0072】
コントローラ100は、先端部14Aの重さによる組付作業が作業位置WP2で実行されている期間の少なくとも一部と重複する期間において、作業位置WP1からワークを搬出し、作業位置WP1に新しいワークW1,W2を搬送するように搬送ロボットを制御する。すなわち、作業位置WP2でのワークW1,W2の組付作業と、作業位置WP1からのワークの搬出及び作業位置WP1への新しいワークW1,W2の搬送と、が並行して行われる。
【0073】
コントローラ100は、以上の一連の処理を繰り返し実行してもよい。これにより、ロボット10Aは、作業位置WP1でのワークの加工作業と、作業位置WP2でのワークの加工作業とを交互に行う。なお、ロボット10Aに代えて、ロボット10が、二箇所以上の作業位置でのワークの加工作業を行ってもよい。
【0074】
先端部14の位置及び姿勢の検出方法は、上述の例に限定されない。コントローラ100は、角度センサ51~56の検出値に代えて、ロボット10の先端部14の移動範囲を含む範囲を撮像して得られる撮像データに基づいて、先端部14の高さ位置、水平方向における位置、及び先端部14の姿勢を検出してもよい。
【0075】
上述の例では、1種類のワークに対して加工作業が順に行われるが、ロボット10,10Aは、異なる種類のワークに対して加工作業を行ってもよい。例えば、ロボット10は、ワークの種類に応じて、異なる重さを有する重り部材を用いて、加工作業を行ってもよい。
【0076】
コントローラ100は、ワークを押し込む際に必要な荷重に対して先端部14の重さが軽過ぎる場合には、先端部14の重さに加えて、先端部14に鉛直下向きの力が加わるように多関節アーム20を制御してもよい。
【0077】
上述の例では、筒状のワークW2に対して、柱状のワークW1が押し込まれる(圧入される)ことで、ワークW1,W2の組付作業が行われているが、柱状のワークW1に対して筒状のワークW2が組み付けられてもよい。この場合、配置制御部108は、ワークW1(第2ワーク)の上方に配置された状態のワークW2の上方に、先端部14,14Aを配置するように多関節アーム20を制御してもよい。そして、ロボット10,10Aは、先端部14,14Aの重さを利用して、筒状のワークW2に荷重を作用させることで、柱状のワークW1に対して、筒状のワークW2を組み付けてもよい。
【0078】
ロボット10,10Aによる加工作業(組付作業)は、圧入に限られない。例えば、ロボット10,10Aは、先端部14,14Aの重さを利用して、受け部材(第2ワーク)に対する釘(ワーク)の打ち込みを行ってもよい。ロボット10,10Aは、先端部14,14Aの重さを利用して、一のワークに鉛直下向きの力を作用させて行われる種々の作業(例えば、プレス加工又はワーク同士の接着)を行ってもよい。
【0079】
[実施形態の効果]
以上の実施形態に係るロボット装置1は、先端部14,14Aと、先端部14,14Aの位置及び姿勢を変更させる多関節アーム20とを有するロボット10,10Aと、ワークの上方に先端部14,14Aを配置するように多関節アーム20を制御する配置制御部108と、ワークの上方に先端部14,14Aが配置された状態で、多関節アーム20が先端部14,14Aに付与する支持力SPを縮小して、先端部14,14Aの重さの少なくとも一部をワークに作用させる荷重制御部110と、を備える。
【0080】
多関節アームを有するロボットを用いて、ワークに対して鉛直下向きの力を作用させて所定の加工作業を行う方法として、多関節アームによって先端部に鉛直下向きの力を発生させてワークに力を作用させる方法が考えられる。そして、この方法では、ワークに作用させる力が、予め設定された目標値に追従するように多関節アームが制御される。しかしながら、この方法では、ワークに作用させる力を目標値に調節する過程で、当該力が目標値を大きく上回ってしまう場合がある。この場合、ワークに作用させる荷重が過度に大きくなり、ワークの破損等が懸念される。これに対して、上記ロボット装置では、先端部の重さの少なくとも一部をワークに作用させているので、ワークに作用させる荷重の最大値が、先端部の重さ程度に制限できる。従って、ワークへの過度な荷重を抑制するのに有用である。
【0081】
以上の実施形態において、先端部14,14Aは、ワークに作用させる荷重に基づいて予め設定された重さを有してもよい。この場合、ワークに先端部の重さの少なくとも一部を作用させる際に、支持力SPの調節が容易となる。
【0082】
以上の実施形態において、荷重制御部110は、先端部14,14Aの重さの少なくとも一部をワークに作用させてワークを下降させている間に、先端部14,14Aの高さ位置を示す情報に基づいて支持力SPを変更してもよい。この場合、先端部の重さを利用した作業の進捗に応じて、ワークに加わる荷重を調節することができる。
【0083】
以上の実施形態において、荷重制御部110は、先端部14,14Aの高さ位置が第1所定値H1に達した場合に、先端部14,14Aの下降を停止させてもよい。この場合、ワークを目標の停止位置付近に停止させることができる。
【0084】
以上の実施形態において、荷重制御部110は、先端部14,14Aの高さ位置が、第1所定値H1よりも上方に設定された第2所定値H2に達した場合に、支持力SPを徐々に大きくしてもよい。この場合、ワークが目標の停止位置付近に達した際に単位時間あたりの先端部の移動量が減少するので、ワークを目標の停止位置に精度良く停止させることができる。
【0085】
以上の実施形態に係るロボット装置1は、先端部14,14Aの下降速度が所定の閾値以下である場合に、ワークに対する作業が異常であると判定する進捗異常判定部112を更に備えてもよい。この場合、何らかの異常要因によって、先端部の重さを利用した作業が進捗していない異常を検知できる。
【0086】
以上の実施形態において、荷重制御部110は、先端部14,14Aの下降速度を目標値に追従させるように支持力SPを変更してもよい。下降速度が遅すぎると処理効率が低下し、一方、下降速度が速すぎるとワークの破損が懸念される。上記構成では、下降速度が目標値に追従するので、処理効率を維持しつつ、ワークの破損を抑制できる。
【0087】
以上の実施形態において、荷重制御部110は、ワークの上方に先端部14,14Aが配置された状態で支持力SPを縮小させる際に支持力SPを徐々に小さくしてもよい。この場合、ワークに対する荷重を作用させる初期段階において、ワークに対して急激な荷重が加わるのを抑制できる。
【0088】
以上の実施形態において、荷重制御部110は、先端部14,14Aの重さの少なくとも一部をワークに作用させている期間の少なくとも一部において、ワークに対する先端部14,14Aの姿勢を目標姿勢に追従させてもよい。この場合、先端部の姿勢がワークに対して傾くことに起因して、ワークに対して鉛直斜め方向に力が付与されるのを抑制できる。
【0089】
以上の実施形態に係るロボット装置1は、ワークに対する先端部14,14Aの姿勢と目標姿勢との乖離レベルが所定の閾値を超えた場合に、先端部14,14Aの姿勢が異常であると判定する姿勢異常判定部114を更に備えてもよい。この場合、先端部の姿勢が傾くことによって鉛直斜め方向に力が付与されることに起因して、ワークが破損するのを抑制できる。
【0090】
以上の実施形態において、荷重制御部110は、先端部14,14Aの重さの少なくとも一部をワークに作用させている期間の少なくとも一部において、先端部14,14Aの水平方向における位置を目標位置に追従させてもよい。この場合、先端部からワークに力を作用させる位置が目標位置(例えば、ワークの中心)に対してずれることに起因して、ワークへの作業精度が低下するのを抑制できる。
【0091】
以上の実施形態に係るロボット装置1は、先端部14,14Aの水平方向における位置と目標位置との乖離レベルが所定の閾値を超えた場合に、先端部14,14Aの水平方向における位置が異常であると判定する位置異常判定部116を更に備えてもよい。この場合、先端部からワークに力を作用させる位置が目標位置に対して過度にずれた場合に、ワークへの作業を停止することができる。
【0092】
以上の実施形態に係るロボット装置1は、ワークを先端部14,14Aに保持させるようにロボット10,10Aを制御するワーク保持制御部102と、所定位置(作業位置WP)までワークを搬送するように多関節アーム20を制御する搬送制御部104と、を更に備えてもよい。配置制御部108は、所定位置に搬送されたワークの上方に先端部14,14Aを配置してもよい。この場合、ワークの搬送と、当該ワークへの作業とを1台のロボットで行うことができる。従って、装置構成の簡素化に有用である。
【0093】
以上の実施形態に係るロボット装置1は、重り部材60の重さを先端部14の重さに付加するように重り部材60を先端部14,14Aに保持させる重り保持制御部106を更に備えてもよい。配置制御部108は、重り部材60を保持した状態の先端部14,14Aをワークの上方に配置してもよい。この場合、先端部が異なる重り部材の持ち替えを行うことができるので、1台のロボットで、異なるワークに応じた重さを有する重り部材を用いた作業を行うことができる。そのため、各ワーク用に異なるロボットを用意する必要がないので、装置構成の簡素化に有用である。
【0094】
以上の実施形態において、配置制御部108は、先端部14,14Aの重さの少なくとも一部をワークに作用させる際にワークが配置される位置とは異なる位置に配置された他のワークの上方に先端部14,14Aを配置するように、多関節アーム20を制御することを更に実行してもよい。荷重制御部110は、他のワークの上方に先端部14,14Aが配置された状態で、支持力SPを縮小して、先端部14,14Aの重さの少なくとも一部を他のワークに作用させることを更に実行してもよい。この場合、1台のロボット10,10Aが同じ作業を二箇所で行うので、一箇所での作業中に他の箇所で次のワークへの作業の準備を行うことができる。従って、ロボットによる作業の効率化に有用である。
【0095】
以上の実施形態において、配置制御部108は、第2ワークの上方に位置する状態のワークの上方に、先端部14,14Aを配置するように多関節アーム20を制御してもよい。荷重制御部110は、ワークが下降して第2ワークに組み付けられるように先端部14,14Aの重さの少なくとも一部をワークに作用させてもよい。ワークを第2ワークに組み付ける際には、ワークにある程度の荷重を加える必要がある。ロボット装置1では、大きな荷重を加える場合であっても、ワークへの過度な荷重が抑制される。
【0096】
ワークW2に対してワークW1を圧入によって組み付ける場合には、比較的大きな荷重が必要となる。ロボット装置1ではワークW1への過度な荷重を抑制できるので、圧入されるワークW1が変形し易い(破損し易い)部材を含む場合に、ロボット装置1を用いることが更に有用となる。
【符号の説明】
【0097】
1…ロボット装置、10,10A…ロボット、14,14A…先端部、20…多関節アーム、60…重り部材、102…ワーク保持制御部、104…搬送制御部、106…重り保持制御部、108…配置制御部、110…荷重制御部、112…進捗異常判定部、114…姿勢異常判定部、116…位置異常判定部、W1,W2…ワーク。