この記事ではFANUCのロボットがどんなタイプの動きあるか、動きの切り替えとか、それらの動きのコマンドはどういう意味なのか、それらを変更したらロボットの動きがどう変化になるかを簡単に説明したいと思います。
以下はその一つのコマンド例になります:
コマンド説明
Movement Type
FANUCでは主に3種類のMovement Typeがあり:
- JOINT
- LINEAR
- CIRCURL
です。このコマンドでロボットをどう動くかを教えます。
Exampleだとこの最初にある”J”ですね。
次はJOINT Movementするの意味です。
J=JOINT
L=LINEAR
C=CIRCURL
JOINT
JOINTはおそらく一番使われてるじゃないかな?と私が思ってます。JOINTコマンドはロボットの動きがすごくSmoothになり、PointAからPointBまでは”できるだけ早く効率よく”到達するのは目標です。反面にいいますと、私達はロボットがPointAからPointBまでの動きを予測することができません。
例えば下図だとPointAが直線PointBいくかもしれませんし、曲がっていくかもしれません。ロボットは内部で一番はやく到達するPathを計算します。
LINEAR
このコマンドではPointAからPointBまで常に直線でいくようにします。メリットとしては私達PointAからPointBどうやって動きなので常に把握できます。でもロボットは”直線”で動かすのこともありますので、軸ことに高速で動いてるものや遅いものがわかれてしまって、あまりSmoothにみえませんね。
でもJOINTとLINEARはどっちが早いのかはアプリケーションによる何じゃないかな?Pack And Placeや接着のアプリケーションになると、LINEARの方が都合よいかもしれませんしね。
CIRCULAR
最後はそのCIRCULARコマンドで”円”を作ることができます。が、正確にいいますと”半円”になり、あなたは二回の動きで一つの”円”を書く必要があります。
POINT
次は移動先、POINTですね。コマンドではLocal Point(P)やGlobal Point(PR,Position Register)どっちに参照することができます。
以下の例だと、JOINT MovementでLocal Point1が移動先になります。
SPEED
ロボットの移動速度です。表現方法はMovementの種類によって変わります。
JOINTだと100%、LINEARだと200mm/sのようになります。(つまりあなたはこれ以上の早くならないようにリミットかけることができます。)
以下の例だと、JOINT MovementでLocal Point1が移動先で、速度100%になります。
XX% – The robot will move at a percentage of its rated speed and given payload.
XXmm/s – The robot will move at a speed determined by the velocity of the tool’s end.
TERMINATION TYPE
このコマンドはロボットの止まり方を決めます。PointとPointの間はちゃんとPoint1移動>止める>Point2いくのようになるか、それどももっとSmoothの動きにしするかを決めます。
FINEとCNTの2種類設定があります。
以下の例だと、JOINT MovementでLocal Point1が移動先で、速度100%止まりはFineになります。
FINE
このコマンドはロボットが確実にPointに到着してから次のPOINTに行くようになります。
つまり下図のように、たとえPOINT1からPOINT2にいくが、その次はPOINT3にあり、ロボットがそれでもちゃんとPOINT2に加速減速で到達するように制御します。
ですが、ロボットがPOINT到達するたびに僅かな”完全停止”にあり余計なCycle timeが浪費してしまうことがあります。
CNT
CNT(Continuous)はロボットがPOINTとPOINT間を”曲がりながら”到達できるかを常に判断し制御します。例えば下図のようにPOINT1>POINT2>POINT3のように動きをTeachingしたけど、CNTの動きだとPOINT2がSKIPし直接POINT3いくようになります。
つまり、できるだけ”減速”を最小限に”最適な”経路でやり、そのCNT Motionはロボット本体とロボットのツールに優しい。
CNT100
MOTION を実行するときに100%のSPEEDを維持しながら動かそうとします。POINT間の移動はできだけ”減速を最小限に”到達しようとします。
CNT50
ロボットが50%減速だけを維持しながらPOINT間を移動を実装します。
CNT0
FINEと似ていてような動きになります。
ACC
いわゆる加速度ですね。ロボットが100%のSPEEDになるまでこ加速で、例えば重いものを持ち上げるときなどはこの数値を調整する必要があります。
このコマンドが標準ではないので、つけないの場合だとDefault=100%になります。
Example
説明はここまでで、いまから実際ROBOGUIDE上で動かして各動作の違いを見みましょう。まずWorldに四角のテーブルと丸いテーブルを置いておきます。
四角テーブルに4つのPOINTをTeachingします。
JOINT
最初にはJOINTを試してみましょう。前に書きましたが、JOINTはロボットが自分で一番効率よく早いルートを判断し動くんです。
なので、実際動くときは直線ではなく、なんか角がつくの動くになりますね。
こっちのほうが早いでしょうね。
LINEAR
次はLINEARを試してみましょう。LINEARだとロボットはできるだけ直線を維持しながら動くって言いましたね。
なので実際やりますと、ロボットもテーブルの縁側に沿って動くようにしています。
C
今度はC、つまり円で動くコマンドです。いままず3点をTeachingしました。
HALF
まずは半円から始まります。POINT1からPOINT2、POINT3では3000mm/secで半円の形にします。
半円完成です。
FULL
丸い円で一周動かすには二回の半円で動くのようなイメージって言いましたね。なので、もう1つのPOINTを追加します。
なので、半円のPOINTで一回止まって、また残りの半円で動くようになります。
CNT
次はCNTコマンドです。四角テーブルに戻ります。
先のプログラムでLINE4,5,6をFINE>CNに変更します。
CNT100
まずCNT100だと、以下のGIFのよう、POINT3,4はSKIPされていますね。
CNT25-5-0
次はCNT25,5,0にもやってみます。
CNT25とSKIPされたというより、POINT2に近づくだけど、やっばりPOINT2が取れなかったですね。P3とP5は0に近ので、FINEとの動きはあまりわかりませんね。
はーい、お疲れ様ーです。
このシリーズではFANUCのロボットとROBOGUIDEを使用について勉強用のメモになります。あくまでも個人的書いてたものなので、実際使うときには安全を注意し、経験あるエンジニアと一緒に作業してくださいね。