(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体
(51)【国際特許分類】
B25J 13/00 20060101AFI20241111BHJP
【FI】
B25J13/00 Z
(21)【出願番号】P 2020122227
(22)【出願日】2020-07-16
【審査請求日】2023-07-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】泉 智洋
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2017-226029(JP,A)
【文献】特開平7-195001(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
エンドエフェクタが設けられるロボットと、
前記エンドエフェクタを、第1方向、または前記第1方向とは反対方向の関係にある第2方向に移動するよう前記ロボットを制御する制御部と、を備え、
前記エンドエフェクタは、塗布、切削、研削、研磨、シーリングの少なくとも1つを実行できるツールであり、
前記制御部は、
前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、所定軸線まわりにおいて異ならせるよう、前記ロボットを制御する、
ことを特徴とするロボットシステム。
【請求項2】
前記制御部は、前記エンドエフェクタの移動を前記第2方向から前記第1方向、又は前記第1方向から前記第2方向に切り替える場合、前記エンドエフェクタを前記第1方向又は前記第2方向に移動させるそれぞれの始点において、前記エンドエフェクタを前記始点に移動させた時点での位相に対して所定角度だけ変更するよう、前記ロボットの姿勢を制御することで、前記エンドエフェクタを前記第1方向又は前記第2方向に移動させる場合の前記所定軸線まわりの前記エンドエフェクタの姿勢を決定する、
ことを特徴とする請求項1に記載のロボットシステム。
【請求項3】
前記制御部は、前記エンドエフェクタにおける前記所定軸線まわりの変位以外の変位を規制した状態で、前記ロボットの姿勢を制御し、前記エンドエフェクタを前記第1方向又は前記第2方向に移動させる場合の前記所定軸線まわりの前記エンドエフェクタの姿勢を決定する、
ことを特徴とする請求項2に記載のロボットシステム。
【請求項4】
前記制御部は、前記ロボットが有する伝達機構部の入力軸を前記所定角度だけ変更することで、前記エンドエフェクタを前記第1方向又は前記第2方向に移動させる場合の前記所定軸線まわりの前記エンドエフェクタの姿勢を決定する、
ことを特徴とする請求項2または3に記載のロボットシステム。
【請求項5】
前記伝達機構部は、減速機を含み、前記減速機は、波動歯車減速機である、
ことを特徴とする請求項4に記載のロボットシステム。
【請求項6】
前記ロボットは、前記伝達機構部の入力側に設けられたエンコーダを有し、
前記制御部は、前記ロボットを前記エンコーダから取得される前記伝達機構部の入力軸の回転角度の情報に基づく前記ロボットの位置制御を実行可能なモードを有する、
ことを特徴とする請求項4または5に記載のロボットシステム。
【請求項7】
前記ロボットは、垂直多関節のロボットアームであり、
前記伝達機構部は、前記ロボットアームの基端側の第1関節に設けられている、
ことを特徴とする請求項4乃至6のいずれか1項に記載のロボットシステム。
【請求項8】
前記所定角度は、定数である、
ことを特徴とする請求項2乃至7のいずれか1項に記載のロボットシステム。
【請求項9】
前記所定角度は、90度、又は180度を3以上の整数で割って得られる角度である、
ことを特徴とする請求項2乃至8のいずれか1項に記載のロボットシステム。
【請求項10】
前記所定軸線は、前記ロボットにより作業を施すワークの面に対して垂直な軸線である、
ことを特徴とする請求項1乃至9のいずれか1項に記載のロボットシステム。
【請求項11】
前記制御部は、前記エンドエフェクタの移動を前記第2方向から前記第1方向、又は前記第1方向から前記第2方向に切り替える場合において、前記第1方向及び前記第2方向と交差する方向に前記エンドエフェクタをシフトさせるよう、前記ロボットを制御する、
ことを特徴とする請求項1乃至10のいずれか1項に記載のロボットシステム。
【請求項12】
前記制御部は、前記エンドエフェクタを移動させる場合の速度ムラが、前記第1方向に移動させる場合と、前記第2方向に移動させる場合と、で逆位相となるように、前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを異ならせる、
ことを特徴とする請求項1乃至11のいずれか1項に記載のロボットシステム。
【請求項13】
前記制御部は、前記エンドエフェクタを前記第1方向に移動させる場合に前記エンドエフェクタを第1姿勢に維持した状態で移動させ、前記第1方向から前記第2方向に切り替える場合に、前記エンドエフェクタを、前記第1姿勢から所定角度、回転させた第2姿勢に変更し、前記エンドエフェクタを前記第2姿勢に維持した状態で前記第2方向に前記エンドエフェクタを移動させる、
ことを特徴とする請求項1乃至12のいずれか1項に記載のロボットシステム。
【請求項14】
前記エンドエフェクタは、ワークに作業を施す、
ことを特徴とする請求項1乃至13のいずれか1項に記載のロボットシステム。
【請求項15】
前記制御部は、
前記エンドエフェクタ
により塗布、切削、研削、研磨、シーリングの少なくとも1つを実行
中に、
前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、前記所定軸線まわりにおいて異ならせるよう、前記ロボットを制御する、
ことを特徴とする請求項1乃至14のいずれか1項に記載のロボットシステム。
【請求項16】
前記第1方向及び前記第2方向は、前記エンドエフェクタを走査させる方向である、
ことを特徴とする請求項1乃至15のいずれか1項に記載のロボットシステム。
【請求項17】
エンドエフェクタが設けられるロボットにおいて、前記エンドエフェクタが、第1方向、または前記第1方向とは反対方向の関係にある第2方向に移動するよう前記ロボットを制御する制御方法であって、
前記エンドエフェクタは、塗布、切削、研削、研磨、シーリングの少なくとも1つを実行できるツールであり、
前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、所定軸線まわりにおいて異ならせるよう、前記ロボットを制御する、
ことを特徴とする制御方法。
【請求項18】
エンドエフェクタが設けられるロボットにおいて、前記エンドエフェクタが、第1方向、または前記第1方向とは反対方向の関係にある第2方向に移動するよう前記ロボットを制御して、物品を製造する物品の製造方法であって、
前記エンドエフェクタは、塗布、切削、研削、研磨、シーリングの少なくとも1つを実行できるツールであり、
前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、所定軸線まわりにおいて異ならせるよう、前記ロボットを制御し、物品を製造する、
ことを特徴とする物品の製造方法。
【請求項19】
請求項17に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項20】
請求項17に記載の制御方法をコンピュータに実行させるためのプログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの技術に関する。
【背景技術】
【0002】
ロボットアームは、工場等において、生産現場の省人化、及び生産設備の自動化のため、所定作業に利用されている。所定作業は、例えば搬送作業、組み立て作業、加工作業、又は塗布作業である。加工作業は、例えば切削作業、研削作業、研磨作業、又はシーリング作業である。ロボットアームには、作業に応じたエンドエフェクタが取り付けられる。例えば塗布作業の場合には、エンドエフェクタとして、塗料を吐出するノズルを有する塗布ツールが用いられる。
【0003】
ロボットアームは、エンドエフェクタが指示された目標の軌道を辿るように、エンドエフェクタの目標の位置や目標の速度に基づいて駆動されるが、エンドエフェクタが辿る実際の軌道は、目標の軌道に対してずれが生じる。このずれが生じる要因の1つに、ロボットアームの関節に用いられる伝達機構部に起因する周期誤差がある。伝達機構部には、減速機を含むものがある。周期誤差は、伝達機構部の入力軸の回転角度に同期して出力軸の回転角度に周期的に重畳される誤差であり、角度伝達誤差とも言われている。作業対象であるワークに対してエンドエフェクタを所定速度で移動させようとする場合、伝達機構部の角度伝達誤差は、エンドエフェクタの速度ムラの要因となる。
【0004】
エンドエフェクタの移動速度に応じて作業結果が変化するような場合、エンドエフェクタに速度ムラがあると、製造される物品の品質が低下することがある。例えば研削作業においては、ワークの表面に研削ムラが発生することがある。また、例えば塗布作業においては、ワークの表面に塗料を塗布することで形成される膜の厚みにムラが発生することがある。
【0005】
特許文献1には、伝達機構部の角度伝達誤差を事前にモデル化しておき、誤差振動とは逆相の位置補正量を生成し、位置補正量で位置指令ベース信号を補正した位置指令信号により、ロボットを制御する装置が開示されている。つまり、特許文献1に記載の装置では、誤差振動とは逆相の振動を伝達機構部の入力軸に付与することにより、伝達機構部の出力軸の誤差振動を低減しようとするものである。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、伝達機構部の角度伝達誤差の周波数成分が、モータをサーボ制御する周波数帯域から外れることがある。例えば、基本周波数に対して高次の高調波成分が角度伝達誤差の周波数成分に含まれていることがあり、この高調波成分がモータをサーボ制御する周波数帯域よりも高いことがある。このような場合、モータが位置指令信号に追従しきれず、エンドエフェクタの速度ムラを低減するのにも限界があった。
【0008】
そこで本発明は、作業対象の品質を向上させることを目的とする。
【課題を解決するための手段】
【0009】
本開示の第1態様は、エンドエフェクタが設けられるロボットと、前記エンドエフェクタを、第1方向、または前記第1方向とは反対方向の関係にある第2方向に移動するよう前記ロボットを制御する制御部と、を備え、前記エンドエフェクタは、塗布、切削、研削、研磨、シーリングの少なくとも1つを実行できるツールであり、前記制御部は、前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、所定軸線まわりにおいて異ならせるよう、前記ロボットを制御する、ことを特徴とするロボットシステムである。
【0010】
本開示の第2態様は、エンドエフェクタが設けられるロボットにおいて、前記エンドエフェクタが、第1方向、または前記第1方向とは反対方向の関係にある第2方向に移動するよう前記ロボットを制御する制御方法であって、前記エンドエフェクタは、塗布、切削、研削、研磨、シーリングの少なくとも1つを実行できるツールであり、前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、所定軸線まわりにおいて異ならせるよう、前記ロボットを制御する、ことを特徴とする制御方法である。
【0011】
本開示の第3態様は、エンドエフェクタが設けられるロボットにおいて、前記エンドエフェクタが、第1方向、または前記第1方向とは反対方向の関係にある第2方向に移動するよう前記ロボットを制御して、物品を製造する物品の製造方法であって、前記エンドエフェクタは、塗布、切削、研削、研磨、シーリングの少なくとも1つを実行できるツールであり、前記エンドエフェクタを前記第1方向に移動させる場合の前記エンドエフェクタの姿勢と、前記エンドエフェクタを前記第2方向に移動させる場合の前記エンドエフェクタの姿勢とを、所定軸線まわりにおいて異ならせるよう、前記ロボットを制御し、物品を製造する、ことを特徴とする物品の製造方法である。
【発明の効果】
【0012】
本発明によれば、作業対象の品質を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】実施形態に係るロボット装置の模式図である。
【
図2】実施形態に係るロボット装置のロボットアームの関節を示す部分断面図である。
【
図3】実施形態に係るロボット装置の制御系を示すブロック図である。
【
図4】実施形態に係るロボットアームの模式図である。
【
図5】実施形態におけるロボットアームとワークとの位置姿勢の関係を示す模式図である。
【
図6】(a)は、実施形態における走査ラインと単位作業範囲を示す平面模式図である。(b)は、実施形態における単位膜厚分布を示す3次元グラフである。
【
図7】実施形態における物品を製造する際のロボットアームの制御方法のフローチャートである。
【
図8】(a)、(b)及び(c)は、比較例と実施例においてシミュレーションに用いたパラメータの説明図である。
【
図9】(a)及び(b)は、比較例のシミュレーション結果を示すグラフである。
【
図10】(a)及び(b)は、実施例のシミュレーション結果を示すグラフである。
【発明を実施するための形態】
【0014】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
図1は、実施形態に係るロボット装置100の模式図である。
図1に示すように、ロボット装置100は、ロボットアーム200と、ロボットアーム200に設けられたエンドエフェクタ300と、ロボットアーム200及びエンドエフェクタ300を制御する制御装置400と、を備える。
【0015】
ロボットアーム200は、製造ラインに設けられ、物品を製造するのに用いられる。ロボットアーム200は、垂直多関節のロボットアームである。ロボットアーム200は、複数の関節J1~J6と、基台209と、複数のリンク210~216と、を有する。複数のリンク210~216は、この順に、複数の関節J1~J6を介して直列に連結されている。つまり、ロボットアーム200の基端側から先端側に向かって、第1関節J1、第2関節J2、第3関節J3、第4関節J4、第5関節J5、第6関節J6である。ロボットアーム200の基端部であるリンク210は、基台209に固定されている。基台209は、台座B1の上面に固定されている。
【0016】
ロボットアーム200は、多自由度のロボットアームである。本実施形態では、ロボットアーム200は、6つ関節J1~J6を有する6自由度のロボットアームである。ロボットアーム200において、各リンク211~216は、各関節J1~J6で回転駆動される。これにより、ロボットアーム200は、エンドエフェクタ300を、3軸方向の任意の位置及び3軸方向の任意の姿勢に調整することができる。
【0017】
エンドエフェクタ300は、ロボットアーム200の先端部であるリンク216に設けられる。つまり、リンク216は、エンドエフェクタ300を支持する所定部位となる支持部である。エンドエフェクタ300は、本実施形態では塗料と塗布する塗布ツールである。塗布ツールであるエンドエフェクタ300は、塗料を吐出するノズル301を有する。なお、エンドエフェクタ300が塗布ツールである場合について説明するが、これに限定するものではなく、例えば加工ツールであってもよい。加工ツールは、例えば切削ツール、研削ツール、研磨ツール、又はシーリングツールであってもよい。また、エンドエフェクタ300は、リンク216に支持されるエンドエフェクタ本体と、エンドエフェクタ本体に対して回転する回転工具と、を有する場合であってもよい。
【0018】
ロボットアーム200の姿勢は、座標系で表現することができる。
図1中の座標系T
0は、ロボットアーム200が固定される台座B1に設定した座標系である。座標系T
eは、エンドエフェクタ300に設定した座標系である。座標系T
eは、TCP(Tool Center Position)を表す。本実施形態では、座標系T
eは、エンドエフェクタ300のノズル301に設定される。座標系T
0及び座標系T
eは、XYZ軸の3軸で表される。座標系T
eにおけるZ軸は、ノズル301からの塗料の吐出方向と平行な方向の軸である。座標系T
eにおけるX軸及びY軸は、吐出方向と直交する方向の軸である。
【0019】
制御装置400は、ロボットアーム200の姿勢を制御することが可能である。制御装置400には、入力装置500が接続される。入力装置500は、例えばティーチングペンダントであり、操作者がロボットアーム200の動作を教示するのに用いられる。
【0020】
図2は、実施形態に係るロボット装置100のロボットアーム200の関節J
2を示す部分断面図である。以下、関節J
2を例に代表して説明し、他の関節J
1,J
3~J
6については、関節J
2と同様の構成であるため、説明を省略する。
【0021】
リンク211とリンク212とは、クロスローラベアリング237を介して回転自在に連結されている。関節J2は、駆動機構部240を有している。駆動機構部240は、リンク211に対してリンク212を相対的に回転駆動する。
【0022】
駆動機構部240は、駆動源の一例であるモータ231と、モータ231の駆動力を出力側に伝達する伝達機構部235と、を有する。伝達機構部235は、減速機234を含む。本実施形態では、伝達機構部235が減速機234である。
【0023】
モータ231は、サーボモータであり、例えばブラシレスDCモータ又はACモータである。モータ231は、リンク212に固定されたハウジング232と、ハウジング232内に収容された不図示の固定子及び回転子と、を有する。不図示の固定子は、ハウジング232の内側に固定されている。不図示の回転子には、回転軸233が固定されている。
【0024】
減速機234は、回転軸233の回転を減速して出力する。減速機234は、歯車を有する減速機であり、本実施形態では波動歯車減速機である。波動歯車減速機である減速機234は、モータ231の回転軸233に結合された、入力軸の一例であるウェブジェネレータ241と、リンク212に固定された、出力軸の一例であるサーキュラスプライン242と、を備えている。また、減速機234は、ウェブジェネレータ241とサーキュラスプライン242との間に配置され、リンク211に固定されたフレクスプライン243を備えている。サーキュラスプライン242は、ウェブジェネレータ241の回転速度に対して所定の減速比で減速された回転速度で、ウェブジェネレータ241に対して相対的に回転する。つまり、減速機234は、モータ231の回転軸233の回転速度に対して所定の減速比で減速された回転速度で、リンク211に対してリンク212を、回転軸線C2を中心に相対的に回転させる。なお、伝達機構部235が減速機234である場合について説明したが、これに限定するものではない。例えば、伝達機構部235が、減速機234の入力側又は出力側に設けられる歯車機構又はベルト機構などの伝達機構を含んでいてもよい。
【0025】
また、駆動機構部240は、モータ231の回転軸233の回転角度を検出するためのロータリエンコーダ250を有する。ロータリエンコーダ250は、伝達機構部235の入力側、即ち減速機234の入力側に配置されている。ここで、減速機234の入力軸であるウェブジェネレータ241は、モータ231の回転軸233と一体に回転する。よって、ロータリエンコーダ250は、伝達機構部235の入力軸、即ち減速機234の入力軸の回転角度を検出することになる。
【0026】
また、駆動機構部240は、リンク211に対するリンク212の回転角度、即ち関節角度を検出するためのロータリエンコーダ260を有する。ロータリエンコーダ260は、伝達機構部235の出力側、即ち減速機234の出力側に配置されている。ここで、減速機234の出力軸であるサーキュラスプライン242は、リンク212と一体に回転する。よって、ロータリエンコーダ260は、伝達機構部235の出力軸、即ち減速機234の出力軸の回転角度を検出することになる。
【0027】
図1に示す基台209の内部には、各関節J
1~J
6のモータ231を駆動制御するサーボ制御部230が配置されている。なお、サーボ制御部230は、基台209の内部に配置されているが、どこに配置されていてもよく、例えば制御装置400の筐体の内部に配置されていてもよい。サーボ制御部230は、制御装置400のCPUより取得した、各関節J
1~J
6に対応する各指令値に基づき、各関節J
1~J
6の伝達機構部235の入力軸又は出力軸の角度が、指令値に追従するよう、各関節J
1~J
6のモータ231を駆動制御する。
【0028】
次に制御装置400について説明する。
図3は、実施形態に係るロボット装置の制御系を示すブロック図である。制御装置400は、コンピュータで構成されており、制御部(処理部)の一例であるCPU(Central Processing Unit)401を有する。
【0029】
また制御装置400は、記憶部として、ROM(Read Only Memory)402、RAM(Random Access Memory)403、及びHDD(Hard Disk Drive)404を有する。また、制御装置400は、記録ディスクドライブ405、複数のインタフェース(I/F)406~409を有する。
【0030】
CPU401には、ROM402、RAM403、HDD404、記録ディスクドライブ405、及びインタフェース406~409が、バス410を介して接続されている。ROM402には、BIOS等の基本プログラムが格納されている。RAM403は、CPU401の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【0031】
HDD404は、CPU401の演算処理結果や外部から取得した各種データ等を記憶する記憶装置である。このHDD404には、CPU401に演算処理を実行させるためのプログラム430が記録される。CPU401は、HDD404に記録(格納)されたプログラム430に基づいて、後述する制御方法、即ち物品の製造方法の各処理を実行する。
【0032】
記録ディスクドライブ405は、記録ディスク431に記録された各種データやプログラム等を読み出すことができる。
【0033】
インタフェース406には、入力装置500が接続されている。CPU401は、インタフェース406及びバス410を介して入力装置500から教示データを取得する。インタフェース407には、モニタ600が接続されている。モニタ600には、CPU401の制御の下、各種画像が表示される。インタフェース408は、書き換え可能な不揮発性メモリや外付けHDD等の記憶部である外部記憶装置700が接続可能に構成されている。
【0034】
サーボ制御部230は、インタフェース409に接続されている。サーボ制御部230には、各関節J
1~J
6のモータ231及びロータリエンコーダ250,260が接続されている。なお、
図3においては、複数の関節J
1~J
6のうちの1つの関節のモータ231及びロータリエンコーダ250,260を図示している。サーボ制御部230は、ロータリエンコーダ250を用いたセミクローズドループ制御、又はロータリエンコーダ260を用いたフルクローズドループ制御により、モータ231をフィードバック制御することが可能である。CPU401は、サーボ制御部230、インタフェース409及びバス410を介して、ロータリエンコーダ250及びロータリエンコーダ260から検出結果を示す角度情報を取得することができる。また、CPU401は、各関節J
1~J
6に対応する指令値のデータを、所定時間間隔でバス410及びインタフェース409を介してサーボ制御部230に出力する。
【0035】
HDD404は、コンピュータにより読み取り可能な非一時的な記録媒体でもある。本実施形態では、HDD404にプログラム430が格納されるが、これに限定するものではない。プログラム430は、コンピュータにより読み取り可能な非一時的な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム430を供給するための記録媒体としては、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD-ROM、CD-ROM、CD-R等である。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROM等である。
【0036】
制御装置400のCPU401は、プログラム430を実行することにより、軌道データに従ってロボットアーム200の先端部、即ちエンドエフェクタ300の位置及び姿勢を制御する位置制御を実行可能である。軌道データは、例えばHDD404に予め記憶させておく。
【0037】
本実施形態では、位置制御には、2つのモードがある。2つのモードのうちの一方は、CPU401がサーボ制御部230に対し伝達機構部235の入力軸の角度指令値を出力して、サーボ制御部230にセミクローズドループ制御を行わせる第1モードである。2つのモードのうちの他方は、CPU401がサーボ制御部230に対し伝達機構部235の出力軸の角度指令値を出力して、サーボ制御部230にフルクローズドループ制御を行わせる第2モードである。セミクローズドループ制御では、フルクローズドループ制御よりも応答性がよいため、ロボットアーム200を高速動作させることができる。
【0038】
以下、CPU401が第1モードでロボットアーム200の位置制御を行う場合について説明する。即ち、CPU401は、ロボットアーム200を複数の関節J1~J6の各々のロータリエンコーダ250から取得される伝達機構部235の入力軸の回転角度の情報に基づき、ロボットアーム200の位置制御を実行する第1モードを有する。なお、本実施形態では、CPU401が第1モードと第2モードを選択的に実行可能である場合について説明するが、これに限定するものではない。CPU401が第1モードのみ実行可能であり、第2モードを有していなくてもよい。
【0039】
図4は、実施形態に係るロボットアーム200の模式図である。
図4に示す座標系T
1~T
6は、各関節J
1~J
6に設定された座標系を表している。
図4において、関節J
1~J
6における座標系T
1~T
6を模式的に図示している。座標系T
1~T
6も座標系T
0及びT
eと同様、XYZ軸の3軸で表される。
【0040】
各関節J
1~J
6の減速機234の角度伝達誤差は、以下の式(1)に従って計算される。
【数1】
【0041】
式(1)中のaは、角度伝達誤差の振幅[rad]である。式(1)中のbは、角度伝達誤差の周波数[1/rad]である。式(1)中のcは、角度伝達誤差の初期位相[rad]である。式(1)中のθは、減速機234の入力軸の回転角度[rad]である。角度伝達誤差の振幅aと角度伝達誤差の初期位相cは、未知のパラメータである。角度伝達誤差の周波数bは、減速機234の機構から定まる値であり、既知のパラメータである。
【0042】
図5は、実施形態におけるロボットアーム200と塗布対象であるワークWとの位置姿勢の関係を示す模式図である。本実施形態では、ロボットアーム200によりワークWの表面WAに塗料を塗布する場合について説明する。ワークWに設定した座標系をT
Wとする。座標系T
Wは、座標系T
0~T
6及び座標系T
eと同様、XYZ軸の3軸で表される。
【0043】
ワークWの表面WAは、四角形の平面である。ワークWの表面WA全体に亘って塗料を塗布するものとする。座標系TWにおけるX軸の方向の長さをDX、座標系TWにおけるY軸の方向の長さをDYとする。長さDXは例えば100mm、長さDYは例えば100mmである。ワークWの表面WAに対してエンドエフェクタ300のノズル301、即ち座標系Teの原点を、走査ラインL0,L1,L2,・・・,Lnに沿ってラスター走査させることで、ワークWの表面WAに塗料を塗布する。
【0044】
図6(a)は、本実施形態における走査ラインL0,L1,L2,・・・,Lnと単位作業範囲Eを示す平面模式図である。ここで、単位作業範囲Eとは、エンドエフェクタ300が単位時間当たりに作業対象に作業を施す範囲である。本実施形態では、エンドエフェクタ300が塗布ツールであるので、塗布対象を塗料で塗布する範囲を表す。また、単位作業範囲Eは、ノズル301を中心とする直径Rの円内の範囲である。直径Rは例えば20mmである。座標系T
WにおけるY軸の方向の走査ラインL0,L1,L2,・・・,LnのピッチΔYは、例えば1mmである。すなわち、単位作業範囲Eは、同一の走査ライン上、例えば走査ラインLn上を複数回通過する。
【0045】
図6(b)は、実施形態における単位膜厚分布を示す3次元グラフである。
図6(b)に示すグラフの座標系は、エンドエフェクタ300のノズル301に設定した座標系T
eを基準とする。
図6(b)に示す座標系のZ軸は、塗布対象の表面に単位時間当たりに塗布される塗料の膜厚を示している。単位膜厚分布は、以下の式(2)に示すガウス関数に従うものとし、
図6(b)にはσを2とした場合を図示している。
【数2】
【0046】
次に、ロボットアーム200を制御して物品を製造する製造方法について説明する。本実施形態では、
図3のCPU401は、
図5に示すように、エンドエフェクタ300がワークWの表面WAに沿って、走査方向X1と、走査方向X1とは反対の走査方向X2とに交互に繰り返し移動するよう、ロボットアーム200を制御する。これにより、ワークWの表面WAに塗料を塗布することで物品を製造する。走査方向X1は第1走査方向である。走査方向X2は第2走査方向である。走査方向X1,X2は、座標系T
WのX軸と平行な方向である。座標系T
WのX軸の方向は、主走査方向であり、座標系T
WのY軸の方向は、副走査方向である。
【0047】
本実施形態では、CPU401は、ロボットアーム200を制御して、エンドエフェクタ300を走査方向X1,X2に延びる走査ラインL0、走査ラインL1、走査ラインL2の順に移動させる。各走査ラインL0,L1,L2の長さは、DXである。
図6(a)に示すように、走査ラインL0は、始点Ps0から終点Pe0までエンドエフェクタ300を走査方向X1に移動させる走査ラインである。走査ラインL1は、始点Ps1から終点Pe1までエンドエフェクタ300を走査方向X2に移動させる走査ラインである。走査ラインL2は、始点Ps2から終点Pe2までエンドエフェクタ300を走査方向X1に移動させる走査ラインである。
【0048】
図7は、実施形態における物品を製造する際のロボットアームの制御方法のフローチャートである。以下、CPU401は、第1モードによるセミクローズドループ制御でロボットアーム200の位置制御を実行する。
【0049】
本実施形態では、CPU401がエンドエフェクタ300の走査方向X1,X2を規定するのに、正負の符号を示す識別子Sgnを用いる。識別子Sgnが正であれば、走査方向X1にエンドエフェクタ300を走査させることを意味し、識別子Sgnが負であれば、反対の走査方向X2にエンドエフェクタ300を走査させることを意味する。
【0050】
CPU401は、ロボットアーム200の姿勢を制御し、エンドエフェクタ300のノズル301を始点Ps0へ移動させる(S1)。つまり、CPU401は、座標系Teの原点を座標系TWの原点へ移動させる。CPU401は、エンドエフェクタ300のノズル301が、座標系TWにおけるZ軸の方向を向くように、即ちワークWの表面WAに垂直な方向で対向するように、ロボットアーム200の姿勢を制御する。換言すれば、CPU401は、座標系TeのZ軸の方向を、座標系TWのZ軸の方向と一致させる。エンドエフェクタ300の中心を通過してノズル301からの塗料の吐出方向に延びる仮想直線、即ち座標系TeのZ軸と重なる仮想直線を所定軸線Ceとする。
【0051】
CPU401は、識別子Sgnを正に設定する(S2)。CPU401は、このステップS2で、エンドエフェクタ300のノズル301から塗料を吐出させる動作を開始する。
【0052】
CPU401は、ロボットアーム200を制御し、走査ラインL0の始点Ps0から終点Pe0まで、エンドエフェクタ300を走査方向X1に指令速度で走査させる(S3)。指令速度は、例えば40mm/sである。
【0053】
このステップS3では、CPU401は、走査ラインL0の始点Ps0から終点Pe0まで、ワークWに対するエンドエフェクタ300の姿勢を一定に保つ指令に基づきロボットアーム200を制御する。このロボットアーム200の制御により、エンドエフェクタ300は、走査ラインL0の始点Ps0から走査ラインL0の終点Pe0に移動する。ロボットアーム200の各関節J1~J6には、減速機234があるため、指令速度に対し、エンドエフェクタ300に速度ムラが生じる。
【0054】
次に、CPU401は、座標系TWにおける、エンドエフェクタ300のノズル301のY軸の方向の位置が、DY以上であるかどうかを判断する(S4)。座標系TWにおける、エンドエフェクタ300のノズル301のY軸の方向の位置が、DY以上となっていた場合(S4:YES)、CPU401は、処理を終了する。そうでなければ(S4:NO)、CPU401は、次の処理であるステップS5に進む。
【0055】
ステップS5において、CPU401は、走査方向X1,X2と交差する方向、即ち座標系TWにおけるY軸の方向にピッチΔYだけエンドエフェクタ300をシフトさせるよう、ロボットアーム200を制御する。このとき、CPU401は、ワークWに対するエンドエフェクタ300の姿勢を一定に保つ指令に基づきロボットアーム200を制御する。このロボットアーム200の制御により、エンドエフェクタ300は、走査ラインL0の終点Pe0から走査ラインL1の始点Ps1に移動する。
【0056】
つまり、本実施形態では、CPU401は、エンドエフェクタ300の移動方向を、走査方向X1から走査方向X2、及び走査方向X2から走査方向X1に切り替える度に、座標系TWのY軸の方向に、ピッチΔYだけエンドエフェクタ300をシフトさせる。
【0057】
CPU401は、識別子Sgnを反転させる(S6)。即ち、CPU401は、識別子Sgnが正であったので、負に反転させる。
【0058】
ここで、
図2に示す伝達機構部235、即ち減速機234においては、入力軸の回転角度に対して周期的に変化する角度伝達誤差が、出力軸の回転角度に重畳される。CPU401がロボットアーム200を制御する場合、各関節J
1~J
6に含まれる伝達機構部235の角度伝達誤差に起因して、軌道データ、即ち目標の軌道に対して、実際の軌道がずれる。特にCPU401が第1モードでロボットアーム200を制御する場合、各関節J
1~J
6に含まれる伝達機構部235の角度伝達誤差に起因して、軌道データ、即ち目標とする軌道に対して、実際の軌道がずれやすい。ロボットアーム200の軌道のずれは、エンドエフェクタ300の速度ムラとなって現れる。複数の関節J
1~J
6のうち、所定関節である関節J
1が、他の関節J
2~J
6よりも、エンドエフェクタ300の速度ムラに大きく影響を与える。
【0059】
さらに、単位作業範囲Eが同一の走査ライン上を複数回通過するようにエンドエフェクタ300を走査させる場合、周期的に変化するエンドエフェクタ300の速度ムラが同位相で重なり合うことになる。よって、単位作業範囲Eが同一の走査ライン上を通過する回数が多いほど、塗料で形成される膜の厚みに影響する。
【0060】
そこで、本実施形態では、エンドエフェクタ300の移動を走査方向X1から走査方向X2に切り替える際、CPU401は、関節J1のモータ231の位相を変更するよう、関節J1をわずかに回転させる(S7)。
【0061】
以下、ステップS7の処理について具体的に説明する。CPU401は、始点Ps1において、エンドエフェクタ300における所定軸線Ceまわりの変位以外の変位を規制した状態で、関節J1に含まれる減速機234の入力軸を所定角度Δθ1だけ変更するよう、ロボットアーム200の姿勢を制御する。このステップS7では、CPU401は、エンドエフェクタ300を始点Ps1に移動させた時点での減速機234の入力軸の位相に対して、減速機234の入力軸を所定角度Δθ1だけ変更する。これにより、エンドエフェクタ300は、所定軸線Ceまわりに角度Δθeだけ姿勢が変更される。このようにして、CPU401は、始点Ps1において、エンドエフェクタ300を走査方向X2に移動させる際の走査ラインL1における所定軸線Ceまわりのエンドエフェクタ300の姿勢を決める。
【0062】
なお、エンドエフェクタ300の位置及び姿勢は、ロボットの順運動学に基づき、各関節J1~J6のモータ231の回転角度から求めることができるが、レーザ変位計などの外部センサにより検出してもよい。
【0063】
本実施形態では、減速機234の入力軸の位相は、モータ231の回転軸の位相と同じである。また、本実施形態では、所定軸線Ceは、ワークWの表面WAに対して垂直な仮想軸線である。ステップS7の処理後、CPU401は、ステップS3の処理に戻る。
【0064】
CPU401は、ロボットアーム200を制御し、走査ラインL1の始点Ps1から終点Pe1まで、エンドエフェクタ300を走査方向X2に指令速度で走査させる(S3)。指令速度は、例えば40mm/sである。
【0065】
この2巡目のステップS3では、CPU401は、走査ラインL1の始点Ps1から終点Pe1まで、ワークWに対するエンドエフェクタ300の姿勢を一定に保つ指令に基づきロボットアーム200の動作を制御する。このロボットアーム200の制御により、エンドエフェクタ300は、走査ラインL1の始点Ps1から走査ラインL1の終点Pe1に移動する。この場合にも、エンドエフェクタ300に速度ムラが生じるが、走査ラインL0に沿ってエンドエフェクタ300を走査させたときの速度ムラに対して、走査ラインL1に沿ってエンドエフェクタ300を走査させたときの速度ムラの位相がずれることになる。よって、速度ムラに起因する膜厚のムラが相殺され、ワークWの表面WAに塗布される塗料の膜厚を均一にすることができる。
【0066】
ステップS5において、CPU401は、座標系TWにおけるY軸の方向にピッチΔYだけエンドエフェクタ300をシフトさせるよう、ロボットアーム200を制御する。このとき、CPU401は、ワークWに対するエンドエフェクタ300の姿勢を一定に保つ指令に基づきロボットアーム200を制御する。このロボットアーム200の制御により、エンドエフェクタ300は、走査ラインL1の終点Pe1から走査ラインL2の始点Ps2に移動する。
【0067】
CPU401は、識別子Sgnを反転させる(S6)。即ち、CPU401は、識別子Sgnが負であったので、正に反転させる。エンドエフェクタ300の移動を走査方向X2から走査方向X1に切り替える際、CPU401は、関節J1のモータ231の位相を変更するよう、関節J1をわずかに回転させる(S7)。
【0068】
2巡目のステップS7について詳細に説明する。CPU401は、始点Ps2において、エンドエフェクタ300における所定軸線Ceまわりの変位以外の変位を規制した状態で、関節J1に含まれる減速機234の入力軸を所定角度Δθ1だけ変更するよう、ロボットアーム200の姿勢を制御する。このステップS7では、CPU401は、エンドエフェクタ300を始点Ps2に移動させた時点での減速機234の入力軸の位相に対して、減速機234の入力軸を所定角度Δθ1だけ変更する。これにより、エンドエフェクタ300は、所定軸線Ceまわりに角度Δθeだけ姿勢が変更される。このようにして、CPU401は、始点Ps2において、エンドエフェクタ300を走査方向X1に移動させる際の走査ラインL2における所定軸線Ceまわりのエンドエフェクタ300の姿勢を決める。
【0069】
以上、CPU401は、
図7のフローチャートに従って走査ラインL0からLnまでエンドエフェクタ300を走査させるようロボットアーム200を制御する。CPU401はエンドエフェクタ300を走査方向X1に移動させる際の所定軸線C
eまわりのエンドエフェクタ300の姿勢と、エンドエフェクタ300を走査方向X2に移動させる際の所定軸線C
eまわりのエンドエフェクタ300の姿勢とを異ならせる。本実施形態では、CPU401は、エンドエフェクタ300の移動方向を走査方向X1と走査方向X2とに交互に切り替える度に、減速機234の入力軸の位相を所定角度Δθ
1ずつ増加するように変更する。なお、CPU401は、減速機234の入力軸の位相を所定角度Δθ
1ずつ減少するように変更してもよい。これにより、走査ラインL0に沿って走査する際のエンドエフェクタ300の所定軸線C
eまわりの姿勢と、走査ラインL1に沿って走査する際のエンドエフェクタ300の所定軸線C
eまわり姿勢とを異ならせることができる。よって、速度ムラの位相が、エンドエフェクタ300が移動する往路と復路とでずれるため、ワークWの表面WAに形成される膜厚のムラを低減することができる。作業対象である製品の品質を向上させることができる。
【0070】
また、塗布、切削、研削、研磨及びシーリングなどの作業では、5自由度の駆動装置であれば十分であるが、本実施形態では、6自由度のロボットアーム200を用いている。つまり、1自由度は、自由に設定することができる。そこで、本実施形態では、その1自由度として、エンドエフェクタ300の所定軸線Ceまわりの姿勢を変更している。例えば塗布作業では、エンドエフェクタ300が所定軸線Ceまわりに回転しても、作業には変化がない。切削、研削、研磨及びシーリングなどの作業についても同様である。つまり、作業に必要な自由度に対して高い自由度のロボットアーム200を用いることで、作業に与える影響を低減することができる。
【0071】
上述した所定角度Δθ1は、定数であるのが好ましく、予めHDD404等の記憶装置に記憶されている。
【0072】
所定角度Δθ
1は、以下の式(3)に基づいて算出されるのが好ましい。
【数3】
【0073】
なお、式(3)中のbは、関節J1の角度伝達誤差の周波数であり、例えば2である。式(3)中のnは、分割数を表す2以上の自然数であり、2とするのがより好ましい。即ち、所定角度Δθ1は、90度、又は180度を3以上の整数で割って得られる角度であるのが好ましく、90度であるのがより好ましい。所定角度Δθ1を90度とすることにより、速度ムラが、エンドエフェクタ300が移動する往路と復路とで逆位相となるため、膜厚のムラを効果的に低減することができる。即ち、作業対象の品質をより向上させることができる。
【0074】
また、所定角度Δθ1を、180度を3以上の整数nで割って得られる角度としても、単位作業範囲Eが同一の走査ライン上をn回移動することで関節J1の角度伝達誤差の位相が1回転するため、膜厚のムラを効果的に低減することができる。即ち、作業対象の品質をより向上させることができる。なお、分割数nは、単位作業範囲Eが同一の走査ラインを通過する回数以下であることが好ましい。
【0075】
なお、ステップS7における制御対象の所定関節が、関節J1である場合について説明したが、これに限定するものではなく、ロボットアーム200の姿勢条件に応じて、他の関節J2~J6のいずれかであってもよい。
【0076】
次に、ロボットアーム200を仮想的に動作させるシミュレーションをコンピュータ上で行った。以下、比較例と実施例のシミュレーションの条件とシミュレーションの結果について説明する。
【0077】
図8(a)~
図8(c)は、比較例と実施例においてシミュレーションに用いたパラメータの説明図である。
図8(a)には、比較例と実施例においてシミュレーションに用いたロボットのリンクパラメータを示す。
図8(a)中、x[mm]、y[mm]、z[mm]は、それぞれ親軸に対するX軸、Y軸、Z軸の並進方向のオフセット量である。α[deg]、β[deg]、γ[deg]は、親軸に対するZ軸、Y軸、X軸まわりの回転方向のオフセット量である。α[deg]、β[deg]、γ[deg]は、弧度法で表している。
【0078】
図8(b)は、比較例と実施例おけるシミュレーションに用いたロボットアーム200の各関節J
1~J
6の減速機234のパラメータを示す図である。
図8(b)には、各関節J
1~J
6の減速機234の減速比、角度伝達誤差の振幅a[rad]、角度伝達誤差の周波数b[1/rad]、角度伝達誤差の初期位相c[rad]のモデルパラメータの一例を示している。角度伝達誤差の振幅aと角度伝達誤差の初期位相cは、未知のパラメータであるが、シミュレーションにおいては仮値として用いた。
【0079】
図8(c)は、比較例と実施例においてシミュレーションに用いた、座標系T
0の原点から見た座標系T
Wの原点の位置姿勢のパラメータを示す図である。
【0080】
まず、比較例として、
図7のフローチャートにおけるステップS7の処理をスキップした場合のシミュレーション結果を、
図9(a)及び
図9(b)に示す。
図9(a)及び
図9(b)は、比較例のシミュレーション結果を示すグラフである。
【0081】
図9(a)は、比較例におけるエンドエフェクタ300の速度分布を示す3次元グラフである。
図9(a)に示す速度は、エンドエフェクタ300の先端の速度である。
図9(a)に示すように、比較例におけるエンドエフェクタ300のシミュレーション速度は、指令速度の40mm/sに対して、一様な分布ではなく、周期的なムラを伴っていることが確認できる。これは、ロボットアーム200の各関節J
1~J
6の減速機234の角度伝達誤差によるもので、本シミュレーションのロボットアーム200の姿勢条件では、特に関節J
1の減速機234の角度伝達誤差の影響が大きい。
【0082】
図9(b)は、比較例において塗布対象に塗布した塗料の膜厚分布を示す3次元グラフである。
図9(b)に示す塗料の膜厚分布は、
図6(b)に示した単位塗布膜厚分布と、
図9(a)に示した速度分布を滞留時間分布に変換したものとを、畳み込み積分することで算出した。
図9(b)に示すように、
図9(a)の速度分布と同様に、減速機234の角度伝達誤差による周期ムラが確認できる。塗料の膜厚分布の2次元の標準偏差は、29.8μmであった。
【0083】
次に、実施例として、
図7のフローチャートにおけるステップS7の処理を実行した場合のシミュレーション結果を、
図10(a)及び
図10(b)に示す。
図10(a)及び
図10(b)は、実施例のシミュレーション結果を示すグラフである。
【0084】
図10(a)は、実施例におけるエンドエフェクタ300の速度分布を示す3次元グラフである。
図10(a)に示す速度は、エンドエフェクタ300の先端の速度である。
図10(a)に示すように、実施例におけるエンドエフェクタ300のシミュレーション速度には、比較例の速度分布で確認されたような周期的なムラがなくなっていることが確認できる。これは1走査ライン毎に関節J
1の角度伝達誤差の位相が180度回転しているためである。
【0085】
図10(b)は、実施例において塗布対象に塗布した塗料の膜厚分布を示す3次元グラフである。
図10(b)に示す塗料の膜厚分布は、
図6(b)に示した単位塗布膜厚分布と、
図10(a)に示した速度分布を滞留時間分布に変換したものとを、畳み込み積分することで算出した。
図10(b)に示すように、比較例の
図9(b)に対して、周期ムラが低減されている。塗料の膜厚分布の2次元標準偏差は4.20μmであり、比較例に比べて1/7以下となった。
【0086】
以上、本実施形態によれば、各関節J1~J6の減速機234の角度伝達誤差に起因する塗布ムラを効果的に低減することができる。
【0087】
また、本実施形態によれば、走査ライン毎に所定関節の減速機234の入力軸の位相をずらせばよいので、各関節J1~J6の減速機234毎に、固有の未知パラメータ、例えば角度伝達誤差の振幅および初期位相を同定する必要がない。したがって、ロボットアーム200の実際の運用形態へ導入しやすい。
【0088】
さらに、本実施形態によれば、エンドエフェクタ300の速度ムラ自体は抑制せず、加工や塗布のような作業の効果が累積する性質を利用している。即ち、エンドエフェクタ300による単位作業範囲Eがエンドエフェクタ300の往復移動で重なることを利用している。そのため、モータ231では追従できないような高次の角度伝達誤差による周期ムラについても効果的な抑制が期待できる。
【0089】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
【0090】
上述の実施形態では、ロボットアーム200が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【0091】
上述の実施形態では、エンドエフェクタが塗布ツールであり、ワークの表面に塗料を塗布する塗布作業を行う場合について説明したが、この作業に限定するものではない。例えば、エンドエフェクタが、切削、研削、研磨、又はシーリングなどの作業を行うツールであってもよい。また、エンドエフェクタがエンドエフェクタ本体と、エンドエフェクタ本体に対して回転する回転工具と、を有する場合、所定軸線C
eまわりのエンドエフェクタの姿勢とは、所定軸線C
eまわりのエンドエフェクタ本体の姿勢ということになる。また、
図6(a)に示す単位作業範囲Eは、単位時間当たりの塗布範囲ということになるが、これら例示したエンドエフェクタの場合、単位時間当たりの切削範囲、研削範囲、研磨範囲、又はシーリング範囲ということになる。このような場合であっても、加工対象の加工ムラを低減することができ、製造される物品の品質を向上させることができる。
【0092】
以上に示した実施形態はロボット装置の構成を説明したが、これに限られない。例えば、制御装置に設けられる記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作またはこれらの複合動作を自動的に行うことができ、かつ減速機を有する機械に適用可能である。
【0093】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0094】
100…ロボット装置、200…ロボットアーム、300…エンドエフェクタ、400…制御装置、401…CPU(制御部)