Fanuc#ROS Industrial Driver

まずFANUCはROS Supportしません。

このFANUC Driver PackagesはすべてCommunity Level Supportされています。


ROS Install

以下のLINKから参考してください。

ROS#00Installation

注意するのはROS Industrial FANUC Driver SupportできるのVersionは以下になります。

  • Indigo
  • melodic
  • indigo
  • Kinetic

自分はKinetic使っていますので。

http://wiki.ros.org/kinetic/Installation/Ubuntu

もしRaspberryで実装しようの場合

Raspberry#ROS Install
Raspberry#ROS Industrial FANUC Driver


Installation of the ROS-Industrial driver on Fanuc controllers

Fanuc ControllerにROS-Industrial driverをインストール方法を説明します。ROS-Industrial driverをインストールしたあとにProgramとControllerをConfigureする必要があります。

それらの手順はReal-ControllerやRoboguide シミュレーターでもできます。

インストール オプション

Fanuc ControllerにROS-Industrial driverをインストールするには2つの方法があります。

Source Fileからのインストール(Source Install)か事前コンパイルされたBinary Filesインストール(Binaries Install)があります。

どうやらBinaries Installが推奨らしく、もっと早く問題少ないと言われています。(注意するにはIndigoではKAREL Binariesない)。ROSのバージョンさえ決めれば、あといくつのFilesを転送するだけになります。

もしBinaries Installが許されない場合は、まだSource Installの方法があります。

Software options


どっちらのInstall optionであろと、Robot ControllerがNetworkとTCP/IP Supoortする必要がありますので、以下2つのOptionsが必要になります。

R632 – KAREL

R648 – User Socket Messaging

Source Install

FileをVirtual Robot ControllerであろうかReal Robot Controllerであろう、同じのFolder directoryに入れます。

事前準備

  • KAREL Binary FilesとTP Binary File
  • Controllerにアクセスするできる(USB・Network Connection)
  • FANCU DriverのCopy(Version >0.2)
  • Fanuc Roboguide インストールされたパソコン
  • Windows PC


WorkCell作成

まずRoboguideから新しいWorkCellを作成します。そして7:Robot OptionsのところにR632とR648のOptionを入れてください。

Version IDの確認方法

FANUC#ROBOGUIDE CellのOptionsを確認する

Importing

ROS-Industrial プログラムをRobot Controllerに転送する前まずSourceからBinariesに変換する必要があります。Cell BrowserからKARELとTPE Source FileをImportすることができます。

Project>Add します。

そして.klと.lsの拡張子があるFileを選び、Importします。

もしFanuc DriverのVersion>0.3.0なら.klだけでOKです。それ以下のバージョンなら_h.klと_t.klも入れてください。


Building

Source FileがImport終わったら次Binariesにコンパイルします。

Project>Build>All

エラーないように注意してください。

ProgramsがROSRELAYなどが増えたと見えましたね。


Binaries Install

Roboguideから自動でBinary FilesをVirtual Robot Controllerに読み込み、特別なStepなし。

事前準備

  • KAREL Binary FilesとTP Binary File
  • Controllerにアクセスするできる(USB・Network Connection)

Download

Fanuc_DriverのGithubからバージョンに合わせて.pcと.tpのFileをダウンロードします。File名はSource Installの部分にあるBuildingと同じなFileが必要です。

Filesに先Buildされたら.pc .tpのFilesが増えたとわかります。それを使います。


Copying the Binaries


最後に、それらのBinaries FileをControllerに転送します。FTPやUSBでもPCMCIA メモリカードでもOKです。

注意

自分はReal Controllerもちろん持っていませんのでFTPからLocal hostに転送する方法やそれらのBinaries FilesをそのままWorkCellのプロジェクトに貼り付けることOKです。

Workcellプロジェクト貼り付ける場合は、File Pathは

yourWorkcells\\Robo Name\MCになります。

以下のFilesですね。

TYPE>KAREL Progsし、BinariesのFilesはちゃんとCopuしたかどうかを確認します。

このようなROS_RELAYのプログラムあれば、OKです。

TYPE>TP ProgramsでTPEプログラムをちゃんと入れたかを確認します。

-BCKET-はDefaultのものでROS-Industrialと関係ありません。


FANUC Controllers Configurations

次はFanuc ControllerにROS-Industrialの設定を説明します。ROS-Industrialプログラムが実行できる前、Controller側に少し細かい設定が必要です。

Server Tag

プログラムros_stateとros_replayはUser Socket Messaging(USM)のオプションを使用し、2つのServer Tagsが占有します。ROS-IndustrialはDefault上で3と4を使っています。1と2はFTP Serverで使われています。

それらのServer TagsはHost Comm setup screenから設定できます。

SETUP>NEXT>Host Commします。

SHOW>Serversします。

いまのScreenshotはもうすでに追加された状態ですが、Tag S3とS4にProtocol SMとして設定されてる状態で、State=Startedになると見えます。

Tag S3の設定はこうになります:

ProtocolはSMです。

Startup stateはSTARTです。

Inactivity timeoutは1 Minにします

Tag S4も同じです。

最後はCold Startします。Tag S3,S4は起動したかどうか確認してください。


Maximum Concurrent Task Number

Default上ではControllerは少数のUser Taskをしか走れないように制限され、その制限によりROS-Industrialのプログラムが起動できなくなる場合があります。これを回避する方法があります。

$SCR.$MAXNUMTASK

実行できるUser Taskの数はその変数に参照します。KARELプログラムが起動できるようにその変数を3以上に設定してください。

注意

System変数を変更することにより不安定な動作と繋がります。作業する前ControllerのBackupや周りの安全を十分確認してください。

Controlled start

ちなみにその変数はMenu>NEXT>SYSTEM>Variablesのところに行って、$SCR>ENTERしたら$MAXNUMTASKの変数が出てきます。

その変数を変更すrにはControllerをControlled startする必要があります。

そしてMenu>NEXT>PROGRAM SETUPで新しい値を入れてください。

設定完了したらFctn>START(COLD)でControllerリセットします。


KAREL Programs

よし、今度はController上のKARELとTPプログラムを設定します。

ros_relay、ros_stateのDefault状態は以下です。


ros_relay


ros_state

まずKAREL PROGRAMの画面行きます。

ROS_DELAY移動して、ENTERで選択します。

そしてDATAボタン。

CFG_をクリックします。

アプリケーションに合わせて設定しましょう。

注意するのはそれらのTagはFLG[]に対応しています。

Menu>I/O>Next>Flagです。

Running The ROS Industrial Driver

では、これからどうやってROS Industrial Driverからfanuc_X_support と fanuc_M_moveit_config 起動するかを説明します。

事前準備

ここに来るまで、まず下記のものは準備してたを確認しましょう。

  • fanuc_driver PackageとあなたのロボットSupportするPackage
    (fanuc_X_support)、X=ロボットの型式
  • Moveitやarm_navigation のPackages
    (fanuc_M_moveit_config)、X=ロボットの型式
  • Linux PC、ROS NodeとRVIZを実行用
  • RoboguideがインストールされたPC(シミュレーションの場合)

コマンド

>Roboguide上で確認

Roboguideでros_stateプログラムを起動し、Linux PCで以下のコマンドを実行します。

そしてJoggingしRobotの状態を確認します。Ctrl+Cで終了できます。


roslaunch fanuc_X_support robot_state_visualize_M.launch robot_ip:=IP_OF_ROBOGUIDE use_bswap:=false

>Real Robot Controller上で確認

Teaching Pentant上でros_stateプログラムを起動し、Linux PCで以下のコマンドを実行します。そしてJoggingしRobot状態を確認します。Ctrl+Cで終了できます。

roslaunch fanuc_X_support robot_state_visualize_M.launch robot_ip:=IP_OF_ROBOT

>Real Robot Controller x moveit Configuration

RobotをMode T1に切り替え、Teaching Pentantからros TPE プログラムを起動し、Linux PCで以下のコマンドを実行します。Moveit上で簡単な動きを試し、オペレーターにTPを持ちながら安全注意してください。Ctrl+Cで終了できます。T1が問題ないならT2やAutoに木に変えてもOKです。

roslaunch fanuc_M_moveit_config moveit_planning_execution.launch sim:=false robot_ip:=IP_OF_ROBOT


PayLoad,Tool,UserFrame

今回はそれは説明しませんので…まずMoveit!とROS Industrialを先に勉強しないと…

Motion Speed and Segment Termination

先にも設定しましたが、Default上ではCNT =50%、Fixed Joint=20%になっています。もちろんその値を可変することができます。今回はそれを説明しませんので…

以下のLINKで説明があります:

http://wiki.ros.org/Industrial/Tutorials/Improving_Motion_on_an_Industrial_Robot


結果

Useful Link

fanuc_driver

http://wiki.ros.org/fanuc_driver?distro=melodic

Configuration of the ROS-Industrial driver on Fanuc controllers

http://wiki.ros.org/fanuc/Tutorials/hydro/Configuration#Flags_and_Registers

Running the ROS-Industrial driver programs on your Fanuc robot

http://wiki.ros.org/fanuc/Tutorials/Running

Working with ROS-Industrial Robot Support Packages

http://wiki.ros.org/Industrial/Tutorials/WorkingWithRosIndustrialRobotSupportPackages

Installation of the ROS-Industrial driver on Fanuc controllers

http://wiki.ros.org/fanuc/Tutorials/hydro/Installation#Building

Troubleshooting

https://wiki.ros.org/fanuc_driver/Troubleshooting

ROS Industrial

http://wiki.ros.org/Industrial


Fanuc

http://wiki.ros.org/fanuc


Github

https://github.com/ros-industrial/fanuc

最後

はーい、お疲れ様ーです。

このシリーズではFANUCのロボットとROBOGUIDEを使用について勉強用のメモになります。あくまでも個人的書いてたものなので、実際使うときには安全を注意し、経験あるエンジニアと一緒に作業してくださいね。

Twitter:@3threes2

Email:soup01threes@gmail.com 

Youtube Channel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

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

シェアする

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

フォローする