(57)【要約】【課題】アームの駆動機構において生じるバックラッシの影響を排除できるロボットの制御装置を提供する。【解決手段】制御用マイコン１３は、ブレーキ２６により回転軸２５を拘束すると、モータ２１の駆動トルクについて、ブレーキ２６による拘束力を下回るトルク制限値を設定する。そして、モータ２１の駆動トルクがトルク制限値に達するまでモータ２１を回転させて、バックラッシを解消する。【選択図】図１
2019141969.tif 000002
【特許請求の範囲】
【請求項１】
モータと、このモータの回転軸に連結される減速機構と、この減速機構を介して駆動されるロボットアームの回転軸とで構成されるロボットアームの駆動機構に適用され、
前記モータを駆動する駆動回路と、
前記アームの回転軸を拘束する機械式ブレーキと、
この機械式ブレーキの駆動を制御し、且つ前記駆動回路を介して前記モータの駆動を制御する制御部とを備え、
前記制御部は、前記機械式ブレーキにより前記回転軸を拘束すると、
前記モータの駆動トルクについて、前記機械式ブレーキによる拘束力を下回るトルク制限値を設定し、前記モータの駆動トルクが前記トルク制限値に達するまで前記モータを回転させるバックラッシ解消処理を行うロボットの制御装置。
【請求項２】
前記制御部は、前記機械式ブレーキにより前記回転軸を拘束すると、
前記駆動回路による前記モータの駆動を停止させた状態にして、前記ロボットアームの姿勢が、前記回転軸に重力が作用する姿勢か否かを判断し、
前記回転軸に重力が作用する姿勢でなければ前記バックラッシ解消処理を行う請求項１記載のロボットの制御装置。
【請求項３】
前記モータに配置され、当該モータの回転位置を検出するモータ側回転センサと、
前記アームの回転軸に配置され、当該回転軸の回転位置を検出するアーム側回転センサとを備え、
前記制御部は、前記アーム側回転センサより得られる回転位置を参照することで、前記モータの回転軸が回転した回数を求める多回転検出処理を行う請求項１又は２記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御装置に関する。
【背景技術】
【０００２】
ロボットアームの各軸を駆動するモータには、ロータリエンコーダのような回転センサが取り付けられている。そして、ロボットのアームは、モータの回転軸に連結された減速機構を介して駆動される。このようなロボットが動作する際に安全を確保するため、例えば図８に示すように、減速機構２４を経たアームの回転軸２５，つまり出力側にも回転センサ２８を設けてアームの動作速度を直接検出し、動作速度が上限値を超えた際にモータの駆動を停止させることが考えられる。
【０００３】
また、例えば特許文献１に示すように、出力側の回転センサより出力される回転位置信号を参照することで、モータが２回以上回転した回数を検出する処理を行うことがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１４２９４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、モータの回転軸から減速機構を介して、アームの回転軸に至るまでの機構においては一般に、各部を構成するギア間にバックラッシが存在する。そのため、ギアの段数が増えるほどバックラッシの累積による誤差が大きくなり、制御に影響を及ぼすおそれがある。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、その目的は、アームの駆動機構において生じるバックラッシの影響を排除できるロボットの制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載のロボットの制御装置によれば、制御部は、機械式ブレーキにより減速機構の出力側にあるアーム側の回転軸を拘束すると、モータの駆動トルクについて、機械式ブレーキによる拘束力を下回るトルク制限値を設定する。そして、モータの駆動トルクがトルク制限値に達するまでモータを回転させて、バックラッシを解消する。
【０００８】
すなわち、アーム側の回転軸を拘束した状態でモータを回転させれば、バックラッシが存在している分だけモータは回転することになり、その分の隙間が無くなった時点で回転は停止し、モータの駆動トルクが上昇する。したがって、駆動トルクがトルク制限値に達した時点で、バックラッシ分の隙間が消滅したことを判定でき、バックラッシを解消してモータの制御精度を向上させることができる。
【０００９】
請求項２記載のロボットの制御装置によれば、制御部は、機械式ブレーキによりアーム側の回転軸を拘束すると、駆動回路によるモータの駆動を停止させた状態にして、ロボットアームの姿勢が回転軸に重力が作用する姿勢か否かを判断する。そして、回転軸に重力が作用する姿勢でなければバックラッシ解消処理を行う。
【００１０】
一般に、ロボットアームは、回転軸に重力が作用する姿勢で停止していることが多い。その場合、アーム側の回転軸を拘束した状態でモータの駆動を停止させれば、モータは回転フリーの状態となり、回転軸は重力が作用する方向に回転して止まる。これにより、バックラッシは解消される。そして、回転軸に重力が作用しない特殊な姿勢である時だけバックラッシ解消処理を行うので、処理を短時間に終了できるようになる。
【００１１】
請求項３記載のロボットの制御装置によれば、制御部は、アーム側回転センサより得られる回転位置を参照することで、モータの回転軸が回転した回数を求める多回転検出処理を行う。このような処理を行うに当たり、事前にバックラッシを解消することで、回転回数の検出を高精度に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態であり、ロボットの各軸周りの構成と、それらに係るコントローラの制御部の構成とをモデル的に示す図
【図２】コントローラについて、要部に係る部分を示す機能ブロック図
【図３】ロボットシステムの構成を示す図
【図４】制御用マイコンにより行われる、減速機構におけるバックラッシを解消す処理を示すフローチャート
【図５】速度用マイコンにより実行される回転軸の速度を求める処理を示すフローチャート
【図６】ホールセンサ信号の微分値を示す図
【図７】２つの微分値より合成した速度を示す図
【図８】ロボットの各軸周りの構成をモデル的に示す図
【発明を実施するための形態】
【００１３】
以下、一実施形態について図１から図８を参照して説明する。図３に示すように、ロボットシステム１は、垂直多関節型のロボット２、ロボット２を制御するコントローラ３を備えている。このロボットシステム１は、一般的な産業用に用いられている。ロボット２は、いわゆる６軸の垂直多関節型ロボットとして周知の構成を備えており、ベース５上に、Ｚ方向の軸心を持つ第１軸（Ｊ１）を介してショルダ６が水平方向に回転可能に連結されている。ショルダ６には、Ｙ方向の軸心を持つ第２軸（Ｊ２）を介して上方に延びる下アーム７の下端部が垂直方向に回転可能に連結されている。下アーム７の先端部には、Ｙ方向の軸心を持つ第３軸（Ｊ３）を介して第一上アーム８が垂直方向に回転可能に連結されている。
【００１４】
第一上アーム８の先端部には、Ｘ方向の軸心を持つ第４軸（Ｊ４）を介して第二上アーム９が捻り回転可能に連結されている。第二上アーム９の先端部には、Ｙ方向の軸心を持つ第５軸（Ｊ５）を介して手首１０が垂直方向に回転可能に連結されている。手首１０には、Ｘ方向の軸心を持つ第６軸（Ｊ６）を介してフランジ１１が捻り回転可能に連結されている。
【００１５】
ベース５、ショルダ６、下アーム７、第一上アーム８、第二上アーム９、手首１０およびフランジ１１は、ロボット２のアームとして機能し、アームの先端となるフランジ１１には、ワークを保持するための図示しないツールが取り付けられる。ロボット２に設けられている各軸（Ｊ１〜Ｊ６）には、それぞれに対応して駆動源となる図示しないモータが設けられている。
【００１６】
コントローラ３は、ロボット２の制御装置であり、図示しないＣＰＵ、ＲＯＭおよびＲＡＭ等で構成されたコンピュータからなる制御手段においてコンピュータプログラムを実行することで、ロボット２を制御する。具体的には、コントローラ３は、インバータ回路等から構成された駆動部を備えており、各モータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動する。
【００１７】
コントローラ３は、ＣＰＵ、ＲＯＭ、ＲＡＭ、上記駆動部に相当するモータドライバ等を備えている。ＲＯＭは、ロボット２のシステムプログラムや動作プログラム等を記憶している。ＲＡＭは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、コントローラ３には、ロボット２の各関節に設けられた図示しない各エンコーダの検出信号がそれぞれ入力される。
【００１８】
図２は、コントローラ３について、本実施形態の要部に係る部分を示す機能ブロック図である。コントローラ３は、メインＣＰＵ１２と、各軸Ｊ１〜Ｊ６のそれぞれに対応して設けられる制御用マイコン１３及び速度用マイコン１４とを備えている。コントローラ３には、例えばティーチングペンダントのようなユーザ操作部１５が接続されており、ユーザは、ユーザ操作部１５によりロボット２を制御するための各種パラメータを設定する。メインＣＰＵ１２は、各軸の制御用マイコン１３，速度用マイコン１４に対し、それぞれ角度指令，監視速度を与える。監視速度は、各軸の回転速度を監視するための上限値である。
【００１９】
図１は、ロボット２の各軸の軸周りの構成と、それらに係るコントローラ３の制御部の構成とをモデル的に示している。尚、軸周りの構成は、基本的に図８に示すイメージと同じであり、図８にも同じ符号を付している。モータ２１には、モータ側エンコーダ２２が取り付けられている。エンコーダ２２は、モータ２１の回転角度を制御用マイコン１３に入力する。モータ２１の回転軸２３は、複数段のギアからなるモジュールである減速機構２４の入力側に連結されている。減速機構２４の出力側は、対応するロボットアームの回転軸２５に連結されている。
【００２０】
回転軸２５には、アームの動きを制するための機械式ブレーキ２６が配置されている。また、回転軸２５には永久磁石２７が取り付けられており、回転軸２５が回転することに伴う永久磁石２７の磁界の変化は、２つのホールセンサ２８（１），２８（２）により検出される。ホールセンサ２８（１），２８（２）は、位相が９０度異なる回転位置信号，センサ信号を出力する。
【００２１】
ホールセンサ２８（１），２８（２）より出力されるセンサ信号は、それぞれアンプ２９（１），２９（２）により増幅されて、速度用マイコン１４が備えるＡ／Ｄ変換器３０（１），３０（２）に入力される。Ａ／Ｄ変換器３０（１），３０（２）によりＡ／Ｄ変換されたデータは、角度・速度演算部３１に入力される。
【００２２】
演算部３１は、入力される２相センサ信号のデータに基づいて、回転軸２５の回転角度及び回転速度を演算する。演算された回転角度，アーム角度は、制御用マイコン１３に入力される。また、演算された回転速度は、演算部３１において、メインＣＰＵ１２より与えられる監視速度と比較される。そして、アームの回転速度が監視速度を超えると、速度マイコン１４は、制御用マイコン１３に停止指令を出力する。
【００２３】
制御用マイコン１３は、制御対象のアーム角度が、メインＣＰＵ１２より与えられる角度指令に一致するようにモータ２１を制御する。モータ２１の制御信号は、アンプ３２及びモータドライバを介してモータ２１に与えられる。また、制御用マイコン１３は、ブレーキ２６のＯＮ／ＯＦＦも制御する。速度用マイコン１４より停止指令が入力されると、制御用マイコン１３は、ブレーキ２６をＯＮにすると共に、モータ２１の駆動制御を停止する。また、制御用マイコン１３は、アーム角度を参照することで、特許文献１と同様にモータ２１が何回転しているかを検出する多回転数検出処理を行う。
【００２４】
次に、本実施形態の作用について図４から図７を参照して説明する。図４は、制御用マイコン１３により行われる、減速機構２４におけるバックラッシを解消するための処理である。先ず、ブレーキ２６により回転軸２５をロックする（Ｓ１）。それから、モータドライバを構成する例えばＦＥＴなどのスイッチング素子を全てオフして、モータ２１をフリー状態にする（Ｓ２）。続いて、各アーム軸が重力の作用で動かない姿勢か否かを判断する（Ｓ３）。
【００２５】
ここで、ロボット２が、アームの回転軸２５に重力が作用する姿勢を取っていれば（ＮＯ）、バックラッシはステップＳ２の時点で解消される。したがってこの場合は、モータドライバのローサイドＦＥＴのみをＯＮにすることでモータ２１をショートブレーキ状態にして（Ｓ８）処理を終了する。
【００２６】
一方、ロボット２のアームが、例えば重力方向に沿って一直線となるような姿勢を取っている場合（Ｓ３；ＹＥＳ）、バックラッシは解消されない。そこで、ブレーキロック状態を維持するようにトルク制限値を設定してから（Ｓ４）、モータ２１をサーボロック状態にする（Ｓ５）。それから、モータ２１を時計回り方向，又は反時計回り方向に、極低速の一定速制御で回転させる（Ｓ６）。この処理を、モータ２１の出力トルクが制限値に達するまで継続し（Ｓ７；ＮＯ）、トルクが制限値に達すると（ＹＥＳ）ステップＳ８に移行する。
尚、出力トルクは、例えばモータ２１に通電される電流を検出して推定したり、ベクトル制御を行う際にはｑ軸電流の値をトルクと見なせば良い。この処理により、バックラッシの解消を図る。その後、アームの駆動制御を開始する際に、ブレーキ２６によるロック状態を解消する。
【００２７】
図５は、速度用マイコン１４により実行される回転軸２５の回転速度を求める処理を示す。尚、ステップＳ１１〜Ｓ１５の処理は、ホールセンサ２８（１），２８（２）について並行的に実行される。速度演算部３１は、ＡＤ変換器３０が出力する変換値が変化したか否かを判断する（Ｓ１１）。変換値が変化していなければ（ＮＯ）、変化時間をカウントするためのカウンタをインクリメントして（Ｓ１５）ステップＳ１１に戻る。
【００２８】
ＡＤ変換値が変化すると（Ｓ１１；ＹＥＳ）、その変換値の前回値と今回値との差分を算出し（Ｓ１２）、前記カウンタのカウント値から変換値が変化するまでの時間を求める（Ｓ１３）。そして、前記差分値を前記変化時間で除すことで、微分値を算出する（Ｓ１４）。速度演算部３１は、第１及び第２微分器の機能も備えている。
【００２９】
以上のようにして、ホールセンサ２８（１），２８（２）が出力するセンサ信号の微分値を求めると、これらを合成して回転軸２５の速度を求める（Ｓ１６）。すなわち、各微分値を微分値（１），（２）とすると、
（合成速度）＝√｛微分値（１）2＋微分値（２）2｝
より求める。
【００３０】
速度マイコン１４は、上式で求めた速度を監視速度と比較して、監視速度を超えると前述したように制御用マイコン１３に停止指令を出力する。すると、制御用マイコン１３はブレーキ２６をＯＮにすると共に、モータ２１の駆動制御を停止する。尚、このように速度を監視する際には、合成速度Ｖそのものではなく、その２乗値Ｖ2について監視しても良い。
【００３１】
すなわち、この処理は、ホールセンサ２８（１），２８（２）により出力される２相のセンサ信号Ｈ１，Ｈ２がそれぞれ、例えばｓｉｎ（ωｔ），ｃｏｓ（ωｔ）であるとする。これらを微分すれば、それぞれ速度Ｖ１，Ｖ２が得られる。
Ｖ１＝ｄＨ１／ｄｔ＝Ｖ１＝ω×ｃｏｓ（ωｔ）
Ｖ２＝ｄＨ２／ｄｔ＝Ｖ２＝−ω×ｓｉｎ（ωｔ）
そして、ステップＳ１６で求める速度Ｖは、
Ｖ＝√｛Ｖ１2＋Ｖ２2｝
である。
【００３２】
ホールセンサ２８（１），２８（２）により出力される各信号の微分値は、図６に示すようになり、これらの微分値を合成して求めた速度Ｖは、図７に示すようになる。これは、センサ信号から角度θを求め、角度θを微分して求めた速度とばらつきの最大，最小間の振れ幅を比較すると、約３０倍程度に精度が改善されている。
【００３３】
以上のように本実施形態によれば、ロボットアームの回転軸２５側に、ホールセンサ２８（１），２８（２）を互いに９０度位相差のセンサ信号を出力するように配置する。速度用マイコン１４の速度演算部３１は、各センサ信号をそれぞれ微分すると、微分信号の２乗和を演算してアームの回転速度Ｖを求める。これにより、分解能が低いく安価なホールセンサ２８を用いても、それらが出力するセンサ信号から回転位置を求めて速度を求める場合に比較して、より精度が高い回転速度Ｖを得ることができる。
【００３４】
また、制御用マイコン１３は、ブレーキ２６により回転軸２５を拘束すると、モータ２１の駆動トルクについて、ブレーキ２６による拘束力を下回るトルク制限値を設定する。そして、モータ２１の駆動トルクがトルク制限値に達するまでモータ２１を回転させて、バックラッシを解消する。
【００３５】
すなわち、回転軸２５を拘束した状態でモータ２１を回転させれば、バックラッシが存在している分だけモータ２１は回転することになり、その分の隙間が無くなった時点で回転は停止し、モータ２１の駆動トルクが上昇する。したがって、駆動トルクがトルク制限値に達した時点で、バックラッシ分の隙間が消滅したことを判定でき、バックラッシを解消してモータ２１の制御精度を向上させることができる。
【００３６】
この時、制御用マイコン１３は、ブレーキ２６により回転軸２５を拘束すると、モータドライバによるモータ２１の駆動を停止させた状態にして、ロボットアームの姿勢が回転軸に重力が作用する姿勢か否かを判断する。そして、回転軸に重力が作用する姿勢でなければバックラッシ解消処理を行う。
【００３７】
一般に、ロボットアームは、回転軸に重力が作用する姿勢で停止していることが多い。その場合、アーム側の回転軸を拘束した状態でモータ２１の駆動を停止させれば、モータ２１は回転フリーの状態となり、回転軸２５は重力が作用する方向に回転して止まる。これにより、バックラッシは解消される。そして、回転軸２５に重力が作用しない特殊な姿勢である時だけバックラッシ解消処理を行うので、処理を短時間に終了できるようになる。
【００３８】
また、制御用マイコン１３は、ホールセンサ２８より得られるセンサ信号を参照することで、モータ２１の回転軸２２が回転した回数を求める多回転検出処理を行う。このような処理を行うに当たり、事前にバックラッシを解消することで、回転回数の検出を高精度に行うことができる。
【００３９】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
ステップＳ２及びＳ３の処理を省略しても良い。
回転センサは、磁気センサに限ることはない。
垂直６軸型以外のロボットに適用しても良い。
【符号の説明】
【００４０】
図面中、１はロボットシステム、２はロボット、３はコントローラ、１３は制御用マイコン、１４は速度用マイコン、２１はモータ、２４は減速機構、２５は回転軸、２７は永久磁石、２８はホールセンサ、３１は角度・速度演算部を示す。
【図１】
2019141969.tif 000003
【図２】
2019141969.tif 000004
【図３】
2019141969.tif 000005
【図４】
2019141969.tif 000006
【図５】
2019141969.tif 000007
【図６】
2019141969.tif 000008
【図７】
2019141969.tif 000009
【図８】
2019141969.tif 000010