ID : 2368
協調機能での電動ハンドの使い方
マスターコントローラに接続されたティーチングペンダントにて、各ロボットコントローラに接続されている電動ハンドを操作/設定できます。
また、プログラミング時には、Robot名を使用して、動作させる電動ハンドを指定することができます。
上記内容は、ロボットコントローラのソフトウェアバージョンが、1.13.*以降から使用可能です。
協調機能で電動ハンドを使用する際は、Robot1のロボットコントローラに接続された電動ハンドを、Robot0の手先に取付けて使用するような場面も想定されます。
その場合、電動ハンドが接続されているロボットコントローラと、電動ハンドが取付けられているロボットが食い違うことになります。
この状況では、操作/設定が直感的ではありませんが、ロボットコントローラには、直感的な操作/設定を可能にする機能(ロボット名と電動ハンドとの関連付け)があります。
上記内容は、ロボットコントローラのソフトウェアバージョンが、2.5.*以降から使用可能です。
操作/設定方法
基本的に、マスターコントローラから操作/設定可能ですが、ライセンスの登録だけはスレーブコントローラにて行ってください。
ライセンス登録
電動ハンドを使用する各々のコントローラにライセンスの登録が必要です。
スレーブコントローラにティーチングペンダントもしくはミニペンダントを接続しライセンスの登録を行なってください。
ロボットの選択
マスターコントローラに接続されているティーチングペンダントでの操作/設定は、基本的にリーダに指定されているロボットに対して行われます。
したがって、スレーブコントローラに接続されている電動ハンドの操作/設定を行うには、そのスレーブコントローラのロボットをリーダに指定します。
下記画面は2台のロボットを連動させるときのものです。
画面上部にある「ロボット選択」ボタンを押してロボット名「R1」を選択し「OK」を押すことで、Robot1をリーダにすることができます。
初期設定画面でハンド画面に切替えると、リーダに設定したロボットのハンド画面になります。上部のステータス欄にロボット番号が表示されています。
ロボット名と電動ハンドとの関連付け
この機能は、ロボットコントローラのソフトウェアバージョンが、2.5.*以降から使用可能です。
協調機能で電動ハンドを使用する際は、Robot1のロボットコントローラに接続された電動ハンドを、Robot0の手先に取付けて使用するような場面も想定されます。
下図は上記の場面を表したものです。
この場合、電動ハンドコントロールボードはRobot1のロボットコントローラに実装されているため、Robot0の電動ハンドを操作/設定するには、Robot1をリーダに指定しなくてはなりません。
上記の内容は、直感的ではありませんが、ロボットコントローラには、直感的な操作を可能にする"SelectHand"があります。
"SelectHand"は電動ハンドを制御するためのPacScriptのコマンドです。使用する前に設定が必要です。
設定パラメータは"VRC設定"の中にあります。
ユーザレベルを「メンテナ」にして操作します。
操作経路 : [F6 設定]-[F2 システム情報]-[F6 VRC設定] |
上記操作経路で操作すると[VRC設定]ウィンドウが表示されます。
No.390~397までがSelectHandの設定パラメータですので、それらのどれかを選択し、[F5 編集]を押すと、下図のような画面が表示されます。
"SelectHand"は配列になっており、要素番号の意味は、上図のとおりです。
上図の設定画面では、"SelectHand[0,0]"を使用するとき、実際にはどの電動ハンドを制御するかを設定します。
例えば、下図のようなシステム構成の場合を考えます。
VRC設定を下図のように設定すると、"SelectHand[0,0]"を使用する場合、Robot0に取り付けられた電動ハンドを制御することとなります。
また、"SelectHand[1,0]"使用する場合、Robot1に取り付けられた電動ハンドを制御することとなり、直感的なプログラミングを行えます。
この設定により、PacScriptだけでなく、ティーチングペンダントでの操作/設定も同じ考え方となります(例えば、Robot0に取り付けられた電動ハンドは、Robot0をリーダに指定することでを操作/設定することができます)。
ロボット名と電動ハンドとを関連付ける機能以外は、SelectHandコマンドとHandコマンドの機能は基本的に同じです。詳細は、この後の"コマンドについて"を参照してください。
電動ハンドの使用設定
電動ハンド使用設定のSTEP3~8を実施します。
コマンドについて
SelectHandコマンドを使用する方法と、ロボット名を使用する方法の2種類の使用方法があります。
SelectHandコマンドを使用する方法
この機能は、ロボットコントローラのソフトウェアバージョンが、2.5.*以降から使用可能です。
SelectHandコマンドは、関連付けした電動ハンドに対し制御を行います(関連付けに関しては、"ロボット名と電動ハンドとの関連付け"を参照してください)。
ロボット名と電動ハンドとを関連付ける機能以外は、SelectHandコマンドとHandコマンドの機能は基本的に同じです。
また、文法は、Handコマンドの"Hand[n]."の後ろに続く文字列と同じです(下図を参照してください)。
例えば、SelectHand[0,0]に関連付けた電動ハンドの、モータ電源をONにする場合は、
SelectHand[0,0].Motor On
と記述します。
ロボット名を使用する方法
電動ハンドコントロールボードが実装されているロボットコントローラのロボット名を、Handコマンドの前に付けて使用します。
"SelectHand"の設定は反映されません。
ロボット名を使用したHandコマンドの用例を下記に示します。
用例
'!TITLE "電動ハンド動作"
Sub Main
TakeArm Keep = 0
Motor On
If Robot0.Hand[0].MotorState = False Then
Robot0.Hand[0].Motor On
End If
If Robot1.Hand[0].MotorState = False Then
Robot1.Hand[0].Motor On
End If
If Robot0.Hand[0].OrgState = False Then
Robot0.Hand[0].Org
End If
If Robot1.Hand[0].OrgState = False Then
Robot1.Hand[0].Org
End If
'Robot0の把持動作
Robot0.Move P, @0 P0
Robot0.Depart L, @E -50, S = 20
Robot0.Hand[0].Chuck 0
Wait Robot0.Hand[0].HoldState = -1
Robot0.Depart L, @E 20, S = 20
Robot0.Depart L, @E -20, S = 20
Robot0.Hand[0].Unchuck 1
Robot0.Depart L, @E 50, S = 20
Move P, @0 P1
'Robot1の把持動作
Robot1.Move P, @0 P2
Robot1.Depart L, @E -50, S = 20
Robot1.Hand[0].Chuck 0
Wait Robot1.Hand[0].HoldState = -1
Robot1.Depart L, @E 20, S = 20
Robot1.Depart L, @E -20, S = 20
Robot1.Hand[0].Unchuck 1
Robot1.Depart L, @E 50, S = 20
Robot1.Move P, @0 P1
'Robot0、Robot1の同時把持動作
Robot0.Hand[0].MoveH 50, 80, Next
Robot1.Hand[0].MoveH 50, 80
Delay( 500 )
Move P, @0 P1,SyncTime = Robot1
Robot0.Hand[0].MoveA 0, 80, Next
Robot1.Hand[0].MoveA 0, 80
Robot0.Move P, @0 P0, SyncTime = Robot1
End Sub
ID : 2368