産業用ロボットによる加工自動化の裏側: 加工精度の課題と解決策
こんにちは!アルパカ兄さんです。
今回は前回記事の続きです。ここから実際に調整に入りますが、重大な壁に直面します。
それは加工精度が低いこと。実際に指令した原点からのXY位置とややずれた位置に移動してしてしまうのです…
これは、ロボットの絶対位置決め精度誤差の問題でした。
ロボット界隈では周知の事実でしたが、当時の私を含む弊社社員はロボットの知見が皆無に等しく、そういった懸念すらしていなかったのです。。
加工精度の問題:要求精度を満たせない!
加工精度の問題の原因を掘り下げると、ロボットの絶対位置決め精度の誤解が明らかになりました。多くの人が繰り返し位置決め精度と混同していましたが、これらは異なる概念です。実際には、ロボットの絶対位置決め精度は保証されておらず、加工精度に大きな影響を与えていました。
誤差の正体
赤色の点:ロボットが指令した点
青色の点:実際にロボットが移動した点
原点から離れるにしたがって誤差が広がります。y方向2000mmまでくると+2mmのズレが生じています。
小部品ならそこまで誤差が目立ちませんが、今回のワークは最大2mと大型なのでごまかせません。要求精度は±1mm。これでは製品としても装置としてもNGです。
そもそも、なぜこんな誤差がうまれるのでしょうか?それはロボットの絶対位置精度に原因があります。
「位置決め精度ってカタログに書いてあるあれだよね?0.05mmくらいだよね。」というあなた!
ごめんなさい、ちょっと違います!それは繰り返し位置決め精度のことであって、私のいう「絶対位置決め精度」とは違います。
繰り返し位置決め精度 V.S. 絶対位置決め精度
ここで知っておきたいことは、繰り返し位置決め精度と絶対位置決め精度の違いです。両者は混同されて誤解されがちなのでしっかり理解しましょう。これについて以前こんなポストをしました。
繰り返し位置決め精度とは:
あらかじめ教示した点に何度行っても同じ位置にくる、その再現性のことをいいます。
ロボットのモデルによりますが、0.01~0.05mm単位で保証されています。これはどのロボットメーカもカタログに記載してある内容です。
俗にいうダイレクトティーチングは、この繰り返し位置決め精度に当たります。人間が位置を教示するもので、もしそこに誤りがあれば、それは教示した人間のミスであり、修正すればいいものです。
絶対位置決め精度とは:
指示した位置へどれだけ正確に到達するか、その正確性のことをいいます。
これはロボットメーカのカタログにもどこにも記載しておらず、保証外となります。
今回のような数値指令での動作では、絶対位置決め精度に該当し、いわゆるオフラインティーチングと言います。
人間が教示しないかわりに、ロボットが数値に従って挙動する手法で、工作機械とやっていることは同じです。
ロボット制御装置には、ロボット各部の寸法や軸構成を表現した「幾何モデル」を持っています。
ロボットはこれをベースとして、指示されたXYZに行くための各軸角度を算出し挙動します。(逆運動学といいます)
ここでもし、その幾何モデルと実際のモデル(例:アーム長さ)に違いがあれば、それが累積され誤差に繋がります。
再現性と正確性の違いは理解できましたか?
ロボットは、「さっきとおなじところへいけ」は得意だけど、「今いる場所から北へ1m先へいけ」は苦手なのです。
以下の通り、様々な研究者が精度について書かれています。
誤差に傾向はない?
ロボットの絶対位置決め精度誤差について理解しました。
ではどういった傾向があるのでしょうか。傾向をつかめば対策ができます。
結論:傾向はありません。
ロボットのツールセンターポイント(以下TCP)の実際位置と指令位置との間に生じる誤差の関係が非線形である。つまり任意の点における誤差は空間内でそれぞれ違った誤差をもつことがわかりました。
非線形⇒比例関係にない。高度な解析が必要
線形⇒計算が簡単で、実現象との対応がよい。
しかも、周辺温度が変われば誤差も変わることもわかりました。
これはどういうことかというと、季節の変化に伴いロボットアームや減速機が温度膨張/収縮し、TCPの実際位置がさらにずれるといったことが起こります。
つまり傾向がないし、時期によっても変わるということです。
私はシステム導入段階で誤差のことを全く認知しておらず、調整段階ではじめて知りました。もっと早く把握していればと後悔しました。
参考までに、ロボットの空間精度向上の研究者・茨木教授によるロボットがもつ誤差の測定結果を紹介します(下図)。見ての通り、指令に対して実測値が傾向もなくずれているのがわかります。
もっと詳しく知りたい方は下記YouTubeをご覧になってください。
ロボット誤差対策の実践
誤差に対する具体的な施策として、補正係数の算出と適用、空間エリア分け、そして3次元測定器を使用した測定方法が挙げられます。これらの施策を通じて、加工精度の問題を大幅に改善することができました。
具体的な流れ
私がとった施策は以下の流れになります。
①指令位置:Command Pos.(Pcom)に対する実際位置:Actual Pos.(Pact)を確認する
②その誤差をキャンセルする補正係数をX方向(Kx)、Y方向(Ky)それぞれ算出する
③自動運転中、指令位置(Pcom)に対し補正係(Kx,Ky)を乗じて、実際位置(Pact)を補正し実行
という手段です。
※本システムでは、加工が貫通するため、Z方向の(加工挿入方向)精度が不要のため考慮していません。
補正係数
ここで補正係数算出及び補正について説明します。
①指令位置と実際位置の確認
ロボットTCPを数値のキリがいい位置までもっていきます。
Pact(x,y)=(1000,2000)
しかし実際の位置は多少ずれます。
Pcom(x,y)=(999.97,2001.56)
②補正係数を求める
Kx = Pact.x / Pcom.x = 1000 / 999.70 = 1.0003
Ky = Pact.y / Pcom.y = 2000 / 2001.56 =0.99922
③以降転送される指令Pcomに対し補正係数を乗じて実行
Pcom.x * Kx = 1000 * 1.0003 = 1000.3
Pcom.y * Ky = 2000 * 0.99922 = 1998.44
すなわち、
Pcom (x,y) = (1000.3 , 1998.44)
と指令移動すれば、目的の(1000,2000)に到達できるという方法です。
空間エリア分け
ロボットは空間的な誤差があり非線形だと述べました。これはつまり、全域を単一の補正係数で補正していては、一部は一致していても、どこか別の位置でズレが生じます。
その特性を考慮し、複数のエリアに分割したうえで、各エリアそれぞれの補正係数を求めることが得策と考えました。
仮に6分割とします。エリアA,B,C,D,E,Fの六つがあり、各エリアの中心点を測定点として、この位置での補正係数を求めます。
あらかじめ各エリア別の補正係数(Kx,Ky)が算出し揃えます。
自動運転モードで指令値が転送されたら、まずどのエリアに属するか判別します。
そして、該当するエリアでの補正係数をピックアップし、指令値に対し乗じます。
このエリア数を増やして細分化すればより精度向上が見込まれます。しかし測定や計算の負担が増えるので、ほどほどがいいと思います。
このようにして空間誤差を誤差を考慮し、完全ではなくても、バランスよく誤差を抑えることができます。
測定方法:3次元測定器
キーエンス商品が代表的な3次元測定器を使用します。μmオーダーでの測定が可能なため測定精度は高いです。
3次元測定器リンク先:
キーエンス・ワイドレンジ測定機WMシリーズ
測定の流れは以下のとおりです。各エリアごとに行います。
1.ロボットTCPを測定点となる指令値(Pcom)を与え動作させます。
2.到達後、3次元測定器のプローブをあてて測定します。
3.すると、接続されたPC画面上に、座標系からみたXYZの座標値(Pact)が出力されます。
※この基準座標系ですが、ワーク基準座標系としてあらかじめ設定することができます。
以降は上記で説明した計算をします。
メカ的なジグを用いた方法もありますが、推奨しません。
ジグ自体が大型になり、設置が手間、かつ、寸法精度にばらつきがでるため信頼度が比較的低いと思いました。
まとめ
ロボット加工システム導入時の加工精度の課題は、ロボットの絶対位置決め精度から生じていました。
この問題に対処するため、補正係数の算出・適用、空間エリア分け、3次元測定器を用いた正確な測定といった施策が有効でした。
これらの実践を通じて、加工精度を大幅に向上させることが可能となり、ロボット加工システムの潜在能力を最大限に引き出すことができます。
今後も引き続き精度向上の技術に注目して発信していきたいと思います!
お楽しみに!
この記事が気に入ったらサポートをしてみませんか?