ロボットの減速機をひも解く(2/4) ―― 入口しか見えない箱を、どう覗くか

  • python
  • ロボット
  • メカトロニクス
  • 予知保全
  • 信号処理

前回、ロボットの関節を開けて、構造から次数の地図を作りました。歯数、ピン数、転動体の数を数えると、どの次数に何が出るはずかが、測る前に決まります。自分の軸で数えて、整数次は歯車系、非整数次は軸受系。ただしその地図の中で、転動体の自転の1.991と、波動発生器の楕円の2.000が、0.009しか離れずに隣り合っていました。

今回は、この地図を持って信号をどう覗くかです。どのセンサで、何を根拠に、どこまで見えるのか。最後に0.009を分けるための条件を数えると、ロボットという機械の急所に行き着きます。

軸受の傷は、二度と同じ場所で鳴らない

道具の話に入る前に、ひとつ確かめておきたいことがあります。そもそも軸受起因と歯車起因は、原理的に区別できるのか。できます。その根拠は分解能でも信号処理でもなく、前回出てきた割り切れなさそのものです。

軸の3次を例に取ります。不釣合いやミスアライメントが必ず作る成分で、軸が1回転するたびに、回転の中のまったく同じ位置で3回鳴ります。何万回転しても位置は動きません。歯車の噛み合いも同じです。歯は数えられるので、必ず整数回、同じ位置で鳴ります。

外輪の傷の通過、前回の地図でいう3.052次は、そうなりません。1回転ごとに0.052ずつ位置がずれていき、19.2回転で丸ごと1コマ分ずれて、そして元には戻りません。

これは弱点ではなく、識別の根拠になります。信号を軸1回転ごとに折り重ねて平均すれば、歯車起因は同じ位置に積み上がって残り、軸受起因は位置がばらけて消えます。逆に言えば、消えなかったものは軸受ではない。角度同期平均という手法が効くのは、この性質のおかげです。

外輪の傷の衝撃列が軸回転の格子からずれていくアニメーション
上段は3Dで描いた軸受で、外輪の傷を転動体が踏むたびに光ります。下段左は同じ衝撃を軸回転の格子に並べたもの。青い軸の3次は格子に張り付いたままなのに、赤い外輪通過はじりじり外れていきます。下段右は同じデータを1回転ごとに折り重ねた図で、青は垂直に揃い、赤だけが斜めに流れます。

何が測れて、何が測れないか

次に、使えるセンサを並べます。

信号 実際のところ
モータ電流 追加センサ不要。サーボアンプが既に持っている。最も現実的
モータ側エンコーダ ほぼ必ずある。ただし入力側だけ
振動(加速度計) 高周波の情報量は最大。ただし後付けで、取付位置に強く依存
温度 遅いが確実。効率の低下は必ず熱になる
出力側エンコーダ・トルクセンサ 情報としては理想的。ただし多くの機種に無い

ここに壁があります。減速機は、入口しか見えない箱です。エンコーダはモータ側、つまり入力側にしか付いていないので、前回定義した角度伝達誤差、出力の角度が理想からどれだけずれているかは、直接は測れません。

これは設計の割り切りだと思います。出力側に高分解能のセンサを置くのは、コストでも配線でも耐環境でも高くつきます。だから普通は置かない。間接的に推定するしかありません。

異常は、位置ではなく電流に移る

異常が起きたら位置がずれるはずだ、と考えるのが自然だと思います。私も最初はそう考えていました。けれど、よく制御された系では逆になります。

フィードバック制御器は、外乱を抑え込むために存在します。減速機の中で何かが引っ掛かっても、制御器はそれを打ち消す向きにトルク指令を増やします。打ち消しが成功していれば、位置には出ません。そのかわり、打ち消しのぶんだけトルク指令が増減し、それは電流に現れます。制御が効いている帯域の内側では、異常は位置ではなく電流に移ります。

だから電流を見ます。追加センサが要らないという実務の理由だけでなく、フィードバック系の性質として、そこに情報が集まるからです。XYステージの回で扱った追従誤差の、ちょうど裏返しの話になります。

ただし、この話には条件がひとつ付きます。トルク指令に現れるのは、トルクを乱す外乱です。当たり前に見えて、これがよく効きます。歯の欠けは噛み合いそのものの異常なので、トルクを直接乱します。一方、支持軸受の外輪の傷は、転動体がそこを踏むたびにラジアル方向の荷重を揺らしますが、軸まわりのトルクはほとんど揺らしません。転がり摩擦の係数は0.001のオーダーで、荷重の変動がトルクの変動に変換される率が、桁で小さいからです。

この予想が実測でどう出るかは、第3回で公開データに当てます。結果を先に書くと、予想は当たりました。そして当たったことで、電流で見るという主張には、はっきりした制限が付くことになります。

最初の一手は、速度を変えてもう一度測る

切り分けの最初の一手は単純で、追加のハードも要りません。動作速度を変えて、もう一度測る。それだけです。

ピークの周波数が速度に比例して動いたなら、そのピークは軸の角度に同期しています。つまり機構由来です。動かなかったなら、時間に同期しています。制御、電源、構造の共振、熱のどれかです。これだけで探すべき範囲が半分になります。費用対効果でいえば、おそらくこれが最も高い一手です。

周波数ではなく、次数で測る

機構由来と分かったら、次数で見ます。

ロボットは動作ごとに速度が変わります。時間軸のままFFTを掛けると、ピークは速度の変化幅のぶんだけ塗り広げられます。振幅は下がり、隣と混ざり、細かい側帯波は消えます。対策は、等時間ではなく等角度でサンプリングし直すことです。エンコーダから軸角θ(t)を取り、信号をθの等間隔で内挿し直して、その系列をFFTする。横軸は1回転あたり何回、つまり次数になり、速度が変わってもピークは動きません。

ロボットは、この点では恵まれています。エンコーダが必ず付いているので、角度の信号は追加コストなしで手に入ります。

どれくらい効くのか、やってみました。入力の1次、波動発生器の2次、外輪通過の3.052次、ピン通過の40次とその側帯波を、すべて同じ振幅で混ぜた信号を作り、軸回転数を±30%揺らします。振幅を揃えてあるので、見えるのは変換が何をしたかだけです。

時間軸のFFT 次数のスペクトル
40次(ピン通過) 1200Hzの帯に散り、高さ9% 99%
1次(入力軸) 26% 100%

滲みの幅は次数×変動幅なので、歯の噛み合いのような高次の成分ほど、時間軸では真っ先に見えなくなります。

そして側帯波は、もっと脆い成分です。側帯波は間隔そのものが情報なので、滲みの幅が間隔を超えた瞬間に、櫛は読めなくなります。この実験では、搬送波がまだ6割残っている±1.25%の速度変動で、もう側帯波が消えていました。だから、ピークは見えているのに側帯波だけ無いという観測は、故障していないのではなく、測り方で消している可能性があります。

時間軸FFTと次数スペクトルの対比アニメーション
同じ1本の信号を、時間軸のままFFTした場合(左)と、軸角で等角度リサンプリングしてからFFTした場合(右)。混ぜた線はすべて歯数・ピン数・転動体数から計算したものです。速度変動を0から±30%まで掃いていくと、左だけが崩れます。下段は40次まわりの拡大で、50Hz間隔の櫛が消える瞬間が見えます。

ただし、等角度リサンプリングが直すのは滲みであって、分解能ではありません。上の実験は64回転ぶんの記録なので、次数の分解能は1/64、つまり0.016次です。前回見つけた0.009の差は、リサンプリングしても分離できません。分解能を決めるのは、変速したかどうかではなく、何回転見たかです。

何回転見たかが、診断を決める

ここで、前回の罠が戻ってきます。

次数の分解能は、何秒測ったかではなく、観測した回転数の逆数で決まります。0.009と丸めて書いてきた差は、丸める前は0.0088次です。これを分離するには、こうなります。

分離の下限        1 / 0.0088 ≈ 114回転
確信を持つには    3 / 0.0088 ≈ 341回転

定常で、およそ340回転です。そしてここで、ロボットの事情とぶつかります。産業用ロボットは、この測定が最も苦手な機械です。

工作機械の主軸は、一定速で長く回り続けます。風車も、ポンプも回り続けます。ロボットだけが、短い動作を、毎回違う速度で、姿勢を変えながら繰り返します。定常で340回転まわし続ける場面が、通常運転の中にそもそも存在しません。

ロボットの得手不得手は、こうして並べるとはっきりします。エンコーダが必ずあるので、角度領域に持ち込むのは得意。同じ動作を繰り返す機械なので、あとの回で出てくるベースライン比較も得意。ただ、定常の長い記録だけは取れないので、近接した次数の分離だけが苦手です。

だから、動かし方まで設計する

これは測定の限界であると同時に、設計で解ける問題でもあります。

保全のモードとして、診断専用の動作を持たせる。各軸を一定速で数百回転させるだけの、生産には何の意味もない動作を、定期的に流す。生産中の信号から拾うのは粗い切り分け、つまり時間同期か軸角同期か、大きな整数次が育っていないか、までにして、近接した次数の判別が要る場面では専用動作を回す。そういう分担です。

既にある信号を後から解析する、という枠のままでは出てこない結論です。何を測るかだけでなく、どう動かすかまでが、設計の対象に入ります。

これで道具立てが揃いました。構造から作った次数の地図、追加センサの要らない電流、次数で数える測り方、そして分解能に要る回転数の勘定です。ここまでは全部、実データをひとつも使わずに立てた話です。

次回は、この予測を実際の計測データに当てます。歯車のデータでひとつ、電流のデータでひとつ。予測は、当たるものと外れるものに分かれます。そしてその分かれ方に一貫した形があって、それがこのモデルにできることとできないことの輪郭になります。

コード

この連載の図と数値は、すべて次のリポジトリから生成しています。

https://github.com/logicia32/reducer-health-labhttps://github.com/logicia32/reducer-health-lab

この記事は Zenn に初出したものを加筆・補足したものです ── Zenn の元記事を見る