FANUC#ROBOGUIDE019_J500(Palletizing)を使ってみよう

今回の記事ではRoboGuideのJ500オプションを使ってPalletizing、UnPalletizing の簡単なアプリケーションを作成します。

さ、はじめよう。

Reference Link

http://soup01.com/ja/category/%e3%83%ad%e3%83%9c%e3%83%83%e3%83%88/fanuc/

Implementation

Robot Options

新規プロジェクトを作成するときにはJ500(Palletizing)オプションを入れてください。

Done!プロジェクトが作成されました。

Add Fixture

まずは部品の置き台を作成するため、Fixture>Add Fixture>CAD Libraryをクリックします。

適当な机を追加します。

Done!机がプロジェクトに追加されました。

机をロボットの手前に置くようにします。こちらの机には部品が置台になり、ロボットがここから部品を取って別の場所に移動するようにします。

置台のサイズをScaleパラメータで調整します。

そして置台をもう1つ増やしましょう。

Add Box

今度は箱のPartを追加する前に、Parts>Add Part>Boxをクリックします。

Done!Parts用の箱が追加されました。

Configure Box to Fixture

箱を置台に設置するため、先程追加した机をダブルクリックし、Parts>Part1をCheck入れます。

次はPart OffsetにあるEdit Part OffsetのCheckboxを入れます。

Partの位置と方向を調整するパラメータを編集できるようになります。

Done!箱は置台に置けました。

2つ目の置台の場所を調整します。

Add More Boxes

次は置台の上にある箱数を増やすため、Parts>Addをクリックします。

Place Partsの操作メニューが表示されました。

XYZを2,3,2に設定し、合計12個の箱を作ります。

Done!みなさんも気がつくかもしれないが、このPartsの追加方法ですべての箱も同じGroupであり、また配列で管理されます。

もう1つの置台にも先と同じ操作で箱を追加しましょう。

Done!

Tools

次はツールを設定します。

こちらはツールに関する設定画面になります。

ロボットのPayloadなどはアプリケーションに合わせて設定しましょう。

次はロボットが先程追加されたPartsをPickできるように設定します。

PartsのTab>Part1をCheck入れてください。

次はPartsのOffset 項目でPartsを丁度ツールの真ん中になるように調整してください。

大体はこんな感じです。

次はロボットがすべてのPartsにもPickできるかをCheckします。

TableA..[1,1,1]を選択し、MoveToでロボットを移動させます。

Done!一番したPartには届きそうですね。

先程と同じの操作でTableA..[2,1,1]を選択し、MoveToでロボットを移動させ、ロボットの姿勢や他のものの干渉も確認してください。

TableA..[1,3,1]を選択し、MoveToでロボットを一番左の端っこに移動させ、ロボットの姿勢や他のものの干渉も確認してください。

TableBの確認も忘れずに!

ロボットの姿勢や干渉も大丈夫そうですね。

Robot Program

ロボットプログラムを作成するため、Teach Pendantを起動します。

SELECTボタンクリックしロボットプログラムの一覧画面にシフトします。

CREATEボタンをクリックし新しいロボットプログラムを作成します。

MAINPROGRAM

こちらのMAINPROGRAMはロボットのメイン制御であり、他のSubプログラムを呼び出すためになどの役割があります。

ProgramPick

こちらのProgramPickはロボットのPickParts部分の制御を担当します。

ProgramPlace

こちらのProgramPickはロボットのPlaceParts部分の制御を担当します。

Add Simulation Program

次はSimulatinプログラムをプロジェクトに追加するため、Robot>右クリック>Add Simulation Programをクリックします。

Simulationプログラム名を設定します。

Simulation Pick

こちらはロボットがPartsを取る動作をシミュレーションするプログラムです。

PositionのRecordなどの動作は説明しませんが、Inst>Pickupコマンドを追加し、ロボットがPartsを取る動作をトリガーできます。

こちらはPickup Simulationの設定画面になります。

下図のようにロボットのツールUT1がPart1をTableAから取り出す動作を設定します。

Simulation Place

次はPlaceのシミュレーションプログラムを作成します。

今回はInst>Dropコマンドを追加します。

こちらはDrop Simulationの設定画面になります。

下図のようにロボットのツールUT1がPart1をTableBに置く動作を設定します。

Configure Home Position

ロボットの待機位置を設定します。

その待機位置をPR(Position Register)に保存しましょう。

UnPalletizing

ここからPartsをTableAから取り出すプログラムを作成します。PROGRAMPICKを開き、INSTをクリックし、新たなコマンドを追加します。

Palletizing Command

7 Palletizingを選択します。

Statement

PALLETIZING-Bを設定します。

こちらはPALETIZINGの構築画面になります。

TYPE

TYPEをDEPALLに設定します。

INCR

INCRを-1に設定します。

ROWS・COLUMNS・LAYERS

ROWS・COLUMNS・LAYERSをアプリケーションに合わせて設定します。

今回の記事では、ROWS=3、COLUMNS=2、LAYERS=2に入力します。

PALLETIZING Bottom Points

次はPALLETIZINGの各Pointを設定します。

Point1

Point1はTableA[1,1,1]位置に設定します。

SHIFT+RECORDでPoint1を記憶します。

PALLETIZING Bottom Points画面に設定したPointでは”–”表示に変わります。

Point2

Point2はTableA[1,3,1]位置に設定します。

Point3

Point3はTableA[2,1,1]位置に設定します。

Point4

Point4はTableA[1,1,2]位置に設定します。

Done!

PALLETIZING Route Points

次はPalletizingのOperation位置を設定します。

BTM

BTMは一番した箱のPickup位置になります。

A1

A1はPartsのPackup位置に設定します。

R1

R1はPartsのPackup位置に設定します。

Program

RoboGuideは自動的に移動コマンドを生成してくれます。

それだけではロボットがPartsを取ってあげられないので、先ほど作成したPickシミュレーションを呼び出します。

Palletizing

今度はPalletizing側のプログラムを作成します。

Palletizing Command

7 Palletizingを選択します。

Statement

PALLETIZING-Bを設定します。

こちらはPALETIZINGの構築画面になります。

PAL_REG

PAL_REGを2に設定してください。先程のPlacingのPaletizingではPAL_REGを1に占有しましたので。

ROWS・COLUMNS・LAYERS

ROWS・COLUMNS・LAYERSをアプリケーションに合わせて設定します。

今回の記事では、ROWS=3、COLUMNS=2、LAYERS=2に入力します。

Done!

PALLETIZING Bottom Points

次はPALLETIZINGの各Pointを設定します。

Point1

Point1はTableB[1,1,1]位置に設定します。

Point2

Point2はTableB[1,3,1]位置に設定します。

Point3

Point3はTableB[2,1,1]位置に設定します。

Point4

Point4はTableB[1,1,2]位置に設定します。

Done!

PALLETIZING Route Points

次はPalletizingのOperation位置を設定します。

A1

A1はPartsの置き位置に設定します。

BTM

BTMは一番した箱の位置になります。

R1

R1はPartsの置き位置に設定します。

Program

RoboGuideは自動的に移動コマンドを生成してくれます。

それだけではロボットがPartsを机に置かないので、先ほど作成したPlaceシミュレーションを呼び出します。

INIT

次は初期化のプログラムINITを作成します。

2つのPaletizing Registerの位置を初期化し、またR[1]を0にリセットします。そのレジスタはロボットが現在Pick した箱の数を記録します。

MAIN

こちらはMAINのロボットプログラムです。

  1. ロボットをHome待機位置に戻ります
  2. PLINITプログラムを呼び出し、レジスタをリセットします。
  3. もしR[1]が12より小さいなら、PICK And Placeのプログラムを呼び出し、箱をTableAからTableBに持っていきます。
  4. R[1]を1に足します。
  5. もしR[1]の現在値は12のであれば、ロボットをHome待機位置に戻す

Result

こちらは実際の動作になります。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする