ユニバーサルロボット

ユニバーサルロボット(UR)は、2つの異なる方法を使用してRoboDKでプログラムできます:URPファイルまたはスクリプトファイル。

1.グラフィカルユーザーインターフェイス(URPファイル):URPプログラムは、ロボットのティーチペンダントのタッチスクリーンを使用して作成されます。URPプログラムには、1つ以上のスクリプトファイルをサブプログラムとして含めることがあります。URPプログラムは、実行前にロボットコントローラによってスクリプトプログラムに変換されます。

2.スクリプトファイル:スクリプトプログラムは、URのスクリプトプログラミング言語を使用します。他のプログラミング言語と同様に、URスクリプトには変数、タイプ、制御構造ステートメント、関数などがあります。さらに、URスクリプトには、ロボットのI/Oと動きを制御するいくつか組み込まれた変数と関数があります。

RoboDKを使用すると、URロボットが実行できるスクリプトファイルとURPファイルが生成できます。さらに、ロボットがコンピュータに接続されている場合、RoboDKからプログラムをロボットで実行する事ができます。

スクリプトファイルをRoboDKのシミュレーターにインポートすることもできます。これにより、スクリプトプログラムをシミュレートと変更して、再エクスポートできます。

URロボットのグラフィカルユーザーインターフェイスは、PolyScopeと呼ばれます(次の画像を参照に)。

Robots Universal Robots - 画像 1

URロボットIPの取​​得

ロボットのIPは、RoboDKシミュレーターから直接プログラムを実行する必要があります。FTPを通してでプログラムファイルを転送することもできます。

ロボットのIPは、URのティーチペンダントのメイン画面の[About]メニューから取得できます。

Robots Universal Robots - 画像 2

ロボットは、イーサネット接続(直接接続またはネットワーク)を介してコンピューターに接続する必要があります。Pingテストは、ネットワークリンクが適切に安定しているかどうかをテストします。

RoboDKからプログラムの実行

ロボットドライバーによって、オフラインプログラミング(プログラムを生成して、ロボットに転送してからて実行する事)の代わりを提供します。RoboDKのシミュレーションを直接ロボットで実行する事ができます(オンラインプログラミング)。詳細については、ロボットドライバー項目へ。

次の手順を辿って、RoboDKからロボットに接続します:

1.RoboDKでロボットを右クリックしてください

2.Robots Universal Robots - 画像 3ロボットに接続… を選択

3.ロボットのIPを入力して

4.接続を選択します。

接続が成功した場合、準備完了と示す緑色のメッセージが表示されます。

接続メニューからポジションを取得関節を移動直線移動を選択して、ロボットが動かせます。

Robots Universal Robots - 画像 4

PCからロボットにプログラムを実行させるには、2つ方法があります:

1.RoboDKでフィードバックを得ながら、指示を一歩一歩行いながらロボットで実行(オンラインプログラミング):       
この方法は、ロボットをサーバーとして使用し、シミュレータで実行されると同時に各指示をロボットに送信します。この方法はデバッグをする際に役立ちます。

a.プログラムを右クリックします(この例ではPrint3D)

b.ロボットで実行を選択

c.プログラムをダブルクリックして開始します(または右クリックして実行を選択)。

この設定をチェックすると、プログラムをダブルクリックするたびに実際のロボットに接続します(または右クリックして実行を選択すると)。

これらの操作は、RoboDK APIからも使用できます。これにより、他のアプリケーションとロボットプログラミングを統合できます。APIは、Python、C#、およびその他のプログラミング言語で使用できます。

Robots Universal Robots - 画像 5

2.プログラムをロボットに送信は、完全なプログラムを生成してからロボットに転送します。転送が終えたら、実際のロボットでプログラムを開始しさせます(ロボットオフラインプログラミング)。

a.プログラムを右クリックしてください(この例ではPrint3D)。

b.プログラムをロボットに送信(Ctrl+F6)を選択します。

Robots Universal Robots - 画像 6

UReでリモートコントロールを有効にする方法

UReロボット(UR3e、UR5e、またはUR10e)を使用している場合は、URのロボットコントローラーでリモートコントロール設定を有効にする事をお勧めします。

UReのリモートコントロールを有効にするには、次の手順を辿ってください:

1.右上のボタンから設定メニューを選択してください

2.システム - リモートコントロール(System-Remote Control)を選択

3.有効を選択します

4.操作モードをリモートコントロールに変更します

Robots Universal Robots - 画像 7Robots Universal Robots - 画像 8

Robots Universal Robots - 画像 9

ネットワーク接続の詳細

RoboDKドライバーとURの制御システムとの接続は双方向です。つまり、ドライバーはクライアントとしてリモートシステムに接続するだけでなく、同時にサーバーとしても機能し、制御システムからの逆方向の接続を待ち受けます。UR制御システムからRoboDKのコンピューターへのこの逆方向の接続は、RoboDK側からは外部からの着信接続とみなされます。このような接続は、多くの場合、オペレーティングシステムのファイアウォールによってブロックされます。システムのファイアウォールを完全に無効にすることが受け入れられない場合は、以下の表を使用して、必要な受信および送信接続を許可してください:

用途

方向

プロトコル

ポート番号

(apiur)

ポート番号

(DriverUR)

セカンダリインターフェース

RoboDK → UR

TCP

30002

30002

リアルタイムインターフェース(RTDE)

RoboDK → UR

TCP

not used

30004

リバースインターフェース

UR → RoboDK

TCP

30000

50001

スクリプト送信

UR → RoboDK

TCP

not used

50002

軌道インターフェース

UR → RoboDK

TCP

not used

50003

スクリプトコマンドインターフェース

UR → RoboDK

TCP

not used

50004

URコントローラーでプログラムの実行

RoboDKシミュレーションの準備が出来たら、スクリプトおよび/またはURPプログラムが生成できます。この2つのファイルは、ロボットコントローラで実行できます。次の手順を辿って、ロボットシミュレーションからスクリプトおよびURPプログラムを生成します:

1.プログラムを右クリックします(この例ではPrint3D)。

2.ロボットプログラムを生成 F6を選択します

プログラムはテキストエディタに表示されます(この動作はメニューで変更できます:ツール➔設定➔プログラム)。

Robots Universal Robots - 画像 10

スクリプトおよびURPファイルの転送は、SFTP転送またはUSBドライブを介してできます。

URPプログラムを読み込む方法

次の手順は、ユニバーサルロボットのロボットにURPファイルを読み込む方法をまとめたものです。

1.プログラムを右クリックし、ポストプロセッサーを選択を選択します

2.Universal Robots URPを選択         
デフォルトのポストプロセッサーもURPファイルを生成するため、最初の2つのステップは任意です。しかし、スクリプトファイルとして実行するURPプログラムではなく、ユーザーが読み込めるURPプログラムを生成します。

3.プログラムを右クリックし、ロボットプログラムを生成(F6)を選択して

4.生成されたURPファイルをUSBメモリディスクに保存します。

5.USBメモリディスクをロボットのティーチペンダント(URのポリスコープ)に接続

6.ロボットティーチペンダントで:実行タブを選択します

7.Load Programを選択し、RoboDKから生成されたプログラムを読み込みます

8.プログラムタブを選択し、再生ボタンで開始します

9.再生ボタンを選択してプログラムを開始します。

Robots Universal Robots - 画像 11 Robots Universal Robots - 画像 12

 Robots Universal Robots - 画像 13 Robots Universal Robots - 画像 14

スクリプトファイルを読み込む方法

次の手順と画像は、ロボットでスクリプトプログラムを実行する手順をまとめたものです。これらの手順は、URPプログラムファイルを実行するために必要ではありません:

1.ティーチペンダントのメイン画面でProgram Robotを選択します

2.Empty Programを選択

3.Structureタブを選択して

4.Advancedタブを選択してください

5.Script codeを選択

6.Fileを選択します(画像で示すように)

7.RoboDKによって生成されたスクリプトファイルを選択します

8.再生アイコンを選択してプログラムを実行させます

9.File ➔Saveを選択して変更を保存します

10.最後に、プログラムが実行できます

Robots Universal Robots - 画像 15 Robots Universal Robots - 画像 16

Robots Universal Robots - 画像 17 Robots Universal Robots - 画像 18

プログラムの転送(FTP)

RoboDKから生成されたスクリプトプログラム(F6キーを押した時など)は、USBディスクを使用してロボットに転送できますがロボットとコンピュータが接続されている場合は、FTP転送も使用できます。

FileZillaクライアントをデフォルトパスまたはRoboDKインストールフォルダー内にインストールして、RoboDKによって自動的に検出されるようにすることをお勧めします。

C:\RoboDK\FileZilla FTP Client\

FTPでファイルを転送するには:

1.ロボットを右クリックして

2.ロボットに接続...を選択し

3.検索を選択します。FileZillaクライアントが開きます(FTP転送用のソフトウェア)。

4.ファイル➔サイト管理...(Site Manager…)を選択

5.定義済みサイト(Predefined Sites)でユニバーサルロボットサンプル(Universal Robot Sample)を選択。

6.複製(Duplicate)を選択。Universal Robot設定のコピーが作成されます。

7.ロボットのIPを入力します(この例では192.168.1.66)。

8.接続を選択してください。

9.以前に生成されたスクリプトファイルをロボットに転送します。

スクリプトプログラムは通常、ロボットコントローラの/Programs/フォルダに保存されます。

Robots Universal Robots - 画像 19

URモニタリング

ライブラリには、URロボットの状態をモニターとRoboDKにある実際のロボットの位置を更新するマクロがあります。

1.ファイル➔開くを選択してください

2.C:/RoboDK/Library/Macros/からUR_ActivateMonitoring.pyのマクロを読み込み、新しいPythonオブジェクトがプロジェクトに追加されます。

3.接続パラメーターでしっかりとロボットIPが提供されていることを確認してください。

4.マクロをダブルクリックしてモニタリングを開始します。

シミュレーターはロボットの位置を更新し、実際のロボットが動くと同時にターゲットを作成します。特に、ロボットの速度、加速度、モーター電流をモニターすることが可能です。

RobotiQグリッパーの使用

RoboDKは、RobotiQグリッパーを操作できるUniversal Robots用のプログラム生成をサポートしています。RobotiQグリッパーは、プログラムをオフラインで生成する方法、およびURロボット用のRoboDKドライバーを使用する方法の両方で操作できます。

RoboDKからのRobotiQグリッパーの使用

RoboDKを使用してプログラムをオフラインで生成することで、URコントローラーから直接RobotiQグリッパーを操作できます。

RobotiQグリッパーのサポートを追加するには、Universal_Robots_RobotiQポストプロセッサーを選択する必要があります:

1.プログラムまたはロボットを右クリックします。

2.Select Post Processorを選択します。

3.Universal Robots RobotiQを選択します。

これにより、RobotiQグリッパーを操作できるプログラム呼び出しを生成できます。例えば、グリッパーを開くにはrq_move_and_wait( 255 )、閉じるにはrq_move_and_wait( 0 )を使用します。

Robots Universal Robots - 画像 20

RoboDKでプログラムの準備ができたら、次の2つの方法のいずれかでロボット上で実行できます:

プログラム(GripperOpenCloseなど)を右クリックし、Send Program to Robotを選択します。

プログラム(GripperOpenCloseなど)を右クリックし、Generate Programを選択します(この2つ目の方法では、プログラムをロボットに手動で読み込む必要があります)。

この操作方法では、ドライバーを使用する必要はありません。

ドライバーでのRobotiQグリッパーの使用

ドライバー(Run on robotオプション)を使用すると、RoboDKから直接RobotiQグリッパーを操作できます。URおよびRobotiQ用のRoboDKドライバーを使用すると、RoboDKからプログラムをステップごとに実行し、実行中のポインターをいつでもRoboDKから確認できます。

この機能を使用するには、ロボットに接続できることを確認することが重要です。この通信を許可するために、Windowsの管理者権限が必要な場合や、Windowsファイアウォールのルールを追加する必要がある場合があります(Windowsファイアウォールを無効にすると、問題がファイアウォールに関連するかどうかのトラブルシューティングに役立つことがあります)。

RoboDKから直接RobotiQグリッパーを動かせるようにするには、次の手順に従います:

1.次のスクリプトファイルをダウンロードします:https://robodk.com/files/upload/progrobodk-rq.zip

1.progrobodk.scriptファイルを次の場所に解凍します:C:/RoboDK/bin/progrobodk.script

2.ドライバーが実行中だった場合は、必ず再起動してください(Disconnectをダブルクリックし、続けてConnectをダブルクリックします)。

3.Tools-Options-Driversを選択します。

4.Manage program calls with RoboDK when connected to a robotオプションのチェックを外します。

ドライバーを使用してグリッパーを正しく操作する(例えば、グリッパーの開閉を行う)には、0~255の範囲内のパラメーターを渡してrq_move_and_waitのプログラム呼び出しを使用する必要があります。

例:

rq_move_and_wait( 0 ) # Fully close the gripper

rq_move_and_wait( 255 ) # Fully open the gripper

引数として渡す数値は、ドライバーで必須です。

円弧移動と直線移動

URロボットは円弧移動と直線移動の両方に対応していますが、URロボット用のドライバーを使用すると、ティーチペンダントにエラーが表示されることがあります。

URロボットドライバー(「Run on robot」オプション)を使用すると、次のようなエラーが表示されることがあります。これは、ドライバーがURポストプロセッサーのデフォルトフィルターをすべて適用するわけではないためです。これらのフィルターは、URコントローラーが問題なくプログラムを実行できるようにコードを整理するのに役立ちます。

これらのエラーには、次のものがあります:

1.半径が無限の円弧(CIRCULAR_ARC_WITH_INFINITE_RADIUS):大きな半径の円弧移動を行おうとすると、このエラーが表示されることがあります。ポストプロセッサーは、これらの移動を自動的に直線移動に変換します。

2.半径がゼロの円弧(CIRCULAR_ARC_WITH_ZERO_RADIUS):小さな円弧移動でこのエラーが表示されることがあります。ポストプロセッサーは、これらの移動を削除するか、直線移動に変換することがあります。

プログラムをオフラインで生成する場合(プログラムを右クリックしてGenerate programを選択、またはF6)や、自動的にロボットに送信する場合(プログラムを右クリックしてSend program to robotを選択、またはCtrl+F6)には、これらのエラーは表示されないはずです。この2つのプログラム生成方法では、ドライバーではなくポストプロセッサーが使用されます。

ドライバーを使用せずにプログラムをオフラインで生成する際にエラーが発生する場合は、次の手順に従って円弧移動を自動的に直線移動に変換できます:

1.Tools-Optionsを選択します。

2.Programタブを選択します。

3.Avoid Arcsオプションをクリックします。

4.直線移動のMinimum step size (mm)を0.5 mmに設定します:これにより、0.5 mmより近い点がエクスポートされないようになり、ブレンド半径が効果を発揮します。動きのぎこちなさを減らすには、さらに値を大きくすることもできます。

URSimインストールガイド

URSimを使用すると、実際のUniversal Robotsロボットコントローラーの動作をコンピューター上でエミュレートできます。これにより、コントローラーに慣れたり、RoboDKで生成したプログラムをテストしたりすることができます。このセクションでは、URSimのインストール方法を説明します。

URSimの必要要件のダウンロード

Universal RobotsのWebサイトから公式のURSimイメージを、公式Webサイトから Oracle VM VirtualBoxをダウンロードする必要があります。

1.こちらのリンクから、Non Linux用の最新のOffline Simulatorをダウンロードします:https://www.universal-robots.com/download/?query=ursim

Robots Universal Robots - 画像 21

1.以下のリンクからOracle VM VirtualBoxソフトウェアをダウンロードしてインストールします:https://www.virtualbox.org/wiki/Downloads

2.ハードドライブにフォルダーを作成し、URSimという名前を付けます。

Robots Universal Robots - 画像 22

1.ダウンロードしたURSimファイル(.zipファイルまたは.rar)の内容を、URSimフォルダーに解凍します。

Robots Universal Robots - 画像 23

URSim用のVirtualBoxの設定

このセクションでは、Oracle VM VirtualBoxを使用して、Universal Robotsコントローラーをシミュレートするための新しい仮想マシンを作成する方法を説明します。

新しいLinuxマシンを作成し、ダウンロードしたコントローラーイメージを読み込むには、次の手順に従います:

1.VirtualBoxを起動し、「New」を押します。

Robots Universal Robots - 画像 24

1.名前をUR_Sim_Eseriesに設定し、Machine folderを作成したフォルダーに設定します。TypeをLinuxに、VersionをUbuntu(64ビット)に設定します。

Robots Universal Robots - 画像 25Robots Universal Robots - 画像 26

1.Memory sizeを768 MBに設定し、「Next」を押します。

Robots Universal Robots - 画像 27

1.Use an existing virtual hard disk fileを選択し、zipファイルを解凍したフォルダーへのパスを指定します。「Create」を押します。

Robots Universal Robots - 画像 28

Robots Universal Robots - 画像 29

Robots Universal Robots - 画像 30

Robots Universal Robots - 画像 31

1.「Start」を押して仮想マシンを起動します。

Robots Universal Robots - 画像 32

1.「Hardware acceleration is not available」というエラーが表示された場合は、コンピューターを再起動し、BIOS設定で仮想化を有効にする必要がある場合があります。仮想化を有効にしたら、Windows、VirtualBox、仮想マシンを再起動してください。

2.これで仮想マシンが起動するはずです。

Robots Universal Robots - 画像 33

WindowsとURSim間の共有フォルダー

必要に応じて、Windowsコンピューターとエミュレートされたコントローラーの間に共有フォルダーを設定し、プログラムファイルを簡単に転送できるようにすることができます。

RoboDKのプログラムフォルダーを、エミュレートされたURロボットコントローラー内の新しいフォルダーにマッピングするには、次の手順に従います:

1.このセクションでは、プログラムを転送するためにWindowsとURSimの間で共有フォルダーを設定する方法を説明します。

2.URSimの仮想マシンを開きます。

3.Linux Ubuntu内の「/home/ur/」の下に「RoboDK_Shared」という名前のフォルダーを作成します。

Robots Universal Robots - 画像 34

1.「RoboDK_Shared」フォルダーをデスクトップにドラッグアンドドロップして、デスクトップにショートカットを作成します。

Robots Universal Robots - 画像 35

1.RoboDK_Sharedを開きます。

2.View→Folder View Mode→Compact Viewを選択します。

Robots Universal Robots - 画像 36

1.VirtualBoxウィンドウの上部メニューから、Devices→Shared Folders→Shared Folders Settingsを選択します。

Robots Universal Robots - 画像 37

1.以下の画像に示すボタンを使用して、新しいShared foldersを追加します。

Robots Universal Robots - 画像 38

1.Windows内の共有フォルダーのパスを選択します(コンピューター上の任意のフォルダーを使用できます)。

2.「Auto-mount」と「Make Permanent」にチェックを入れます。

3.Mount point:/home/ur/RoboDK_Shared

Robots Universal Robots - 画像 39

Robots Universal Robots - 画像 40

1.VirtualBoxの上部メニューから、Devices→Insert Guest Additions CD Imageを選択します。

Robots Universal Robots - 画像 41

1.「Open in File Manager」を選択し、「OK」を押します。

Robots Universal Robots - 画像 42

1.次のフォルダーを開きます:/media/ur/VBox_Gas_6.1.38(VBoxのバージョンによって異なる場合があります)。

Robots Universal Robots - 画像 43

1.「autorun.sh」ファイルをダブルクリックし、「Execute」を選択します(パスワードは「easybot」です)。スクリプトの実行には少し時間がかかることがあります。

Robots Universal Robots - 画像 44

1.仮想マシンを再起動します。

1.ターミナルを開きます:Startボタン→System Tools→UXTermを選択します。

Robots Universal Robots - 画像 45

1.ターミナルに sudo adduser $USER vboxsf と入力し、「Enter」を押します。

Robots Universal Robots - 画像 46

1.VMを再起動します。

2.Windowsの共有フォルダー内でRoboDKを使用して新しいファイルを生成した場合、VMの共有フォルダー「RoboDK_Shared」で「View」→「Reload Folder」を押すか、「F5」を押してください。

Robots Universal Robots - 画像 47

UR SimでのRoboDKドライバーの使用

URSimを使用すると、RoboDKとUniversal Robotsコントローラーの間の接続をテストできます。

1.Oracle VM VirtualBox Managerで。

2.UR_Sim_Eseries VMを選択し、Settingsを押します。

Robots Universal Robots - 画像 48

1.Network→Attached to:を選択し、Bridge Adapterを選択してOKを押します。

Robots Universal Robots - 画像 49

1.URSim仮想マシンを起動します。

Robots Universal Robots - 画像 50

1.希望のURモデルでPolyscopeを起動します。

Robots Universal Robots - 画像 51

1.シミュレーターのIPアドレスを取得します。

Robots Universal Robots - 画像 52

1.URSimの「Move」ウィンドウに移動します。

Robots Universal Robots - 画像 53

1.同じURモデルでRoboDKステーションを開きます。

2.Connect→Connect Robotを選択します。

Robots Universal Robots - 画像 54

1.UR SimのIPアドレスを入力し、Connectを押します。

2.Get Positionを使用して、URSimロボットの位置を取得し、RoboDKに適用します。

3.Move Jointsを使用して、URSimロボットをRoboDKロボットの位置に移動します。

4.RoboDKのプログラムを右クリックし、「Run on robot」と「Run」を選択して、RoboDKとURSimの両方でプログラムを同時に実行します。

ロボット運動学の更新

この項目の手順は任意であり、オフラインプログラミングで正確さが要求される特定の状況でのみ必要になります。この項目は、ロボットを正確にシミュレーションする為に、RoboDKでURロボットの固有の運動学的値を入力する方法について説明します。

URコントローラーの運動学は、ロボットごとに異なります。運動学は、DHテーブル(Denavit Hartenberg)の形式でロボットを定義する寸法です。RoboDKシミュレーターはデフォルトで公称UR運動学を使用するため、シミュレーターの運動学とコントローラーの運動学の間で2 mmから10 mmの不一致が発生する場合があります。

シミュレーションを実際のロボットと一致させるには、次の手順を辿って、URロボット固有の運動学がインポートできます。

1.実際のロボットを使用して生成されたURPファイルを取得してください(RoboDKまたはURシミュレーターを使用していないファイル)

2.RoboDKでロボットを開きます。URロボットはRoboDKライブラリで見つかります。既存のRoboDKプロジェクトで利用可能なURロボットを使用することもできます。

3.[ツール]-[スクリプトを実行] を選択します

4.UR_LoadControllerKinematicsを選択します

5.ロボットコントローラから抽出したURPファイルを選択してください。

次の画像に示すようなメッセージが表示されます。利用可能なURPファイルを読み込まなかった場合、または適切なURロボットを選択しなかった場合は、警告メッセージが表示される場合があります。

Robots Universal Robots - 画像 55

この手順が完了すると、ロボットを右クリックして[.robotとして保存] が選択できます。これらのパラメータはロボットファイルとともに保存され、新しいプロジェクトごとにこの手順を繰り返す代わりにロボットファイルが使用できます。

RoboDKは、URPファイルからロボットに固有の情報を抽出し、ロボットファイルでのシミュレーションとオフラインプログラミングに考慮します。次の画像で示すように、この設定を変更して、ロボットパラメータメニューでデフォルトの運動学に戻すことができます。

Robots Universal Robots - 画像 56

ティーチペンダントに表示されるポーズ情報が、RoboDKで表示する運動学と一致していることがわかります(RoboDKとURロボットのツールフレームと参照系を削除して比較してください)。

各ロボットは工場でURによって調整されているため、URの運動学はロボットによって異なります。KUKA、ABB、安川電機(Motoman)、ファナックなどの他のロボット販売者は、絶対精度の設定を購入しない限り、ロボットを調整しません。絶対精度の設定では、最大40以上の調整パラメータを考慮することができます。

この手順はRoboDKのロボット調整とは同じではありません。ロボットの調整は、実際のロボットの精度を向上させるのに役立ちます。