2023年06月20日
川崎重工製オフライン・プログラミング・ツール「K-ROSET」を使ってリモートロボットシステム構築にチャレンジ!
写真左:髙丸工業株式会社 専務取締役 髙丸泰幸さん
写真右:髙丸工業株式会社 技術部設計課 庄野旭さん
リモートロボティクスが提供するRemolink Toolsはロボット実機がないと使えない?
いいえ、そんなことはありません。
ロボットのシミュレーションソフトを使うことで、パソコン1台でRemolink Toolsを使ったロボットのリモート化を検討することができます。
今回は川崎重工が提供するオフライン・プログラミング・ツール「K-ROSET」を使い、髙丸工業株式会社 専務取締役 髙丸泰幸さん、技術部設計課 庄野旭さんにリモートロボットシステムの構築にチャレンジして頂きました。
髙丸工業株式会社は兵庫県西宮市にある1967年創業の装置メーカで、1978年からロボットに携わってきたシステムインテグレーター企業。産業用ロボット安全特別教育、製造現場を想定した実機による導入前テスト、ロボットシステムの設計製作からメンテナンスまでを行っており、中小企業向け納入実績は日本一。業界初に挑戦し続けるロボットSIer企業です。
髙丸さん、庄野さんのチャレンジをサポートするのはリモートロボティクス株式会社シニアエンジニアリングマネージャーの齋藤。
齋藤:
本日はRemolink Toolsを含むリモートロボットシステムの全体像と構成を理解した上で、実際にRemolink Toolsを使ってK-ROSET上のロボットシステムをリモート化してみます。
髙丸さん:
最初にお伝えしておくと、庄野、私ともにC#、Pythonのプログラム言語に対する理解・知見はありませんが大丈夫でしょうか?
齋藤:
はい、大丈夫です。本日 はサンプルプログラムを準備していますし、しっかりサポートしていきますのでよろしくお願いいたします!
ロボットの遠隔操作とは
齋藤:
まずはロボットの遠隔操作のイメージをお伝えします。
こちらの動画のように、ロボットに対してワークの把持位置をカメラ画像上で指定して指示をしたり、LMR3択ある置き位置のうち、どこに置きに行くかを指示したり、とロボットのティーチングされた自律動作と人の判断を組み合わせたリモートロボットシステムを構築できるのが「Remolink Tools」です。
庄野さん:
動画を見てなんとなくイメージが沸きました。
高丸さん:
ロボットのティーチングプログラムのうち、生産する品種によってどのプログラムを実行するかを今だと現場にあるPLCタッチパネルで設定していたりしますが、それをリモート環境からもできるっていうことですね。
齋藤:
その通りです。
リモートロボットシステムの全体概要を理解する
齋藤:
リモートロボティクスが提供する「Remolink Tools」は以下図における、01のRemolink SDK、02のRemolinkコントローラー、03のRemolinkアプリビルダーの3つのソフトウェアです 。右側濃い青色の「ロボットシステム」は現場でスタンドアローンで動く、いわゆる通常のロボットシステムをイメージしてください。
PC制御のロボットシステムを前提としていますが、ロボットを制御しているPCのアプリに 01のRemolink SDKを組み込むと外部との通信が可能になり、02のRemolinkコントローラーが中継の役割を果たして、03で作成した遠隔アプリ との情報のやり取りを可能にします。
齋藤:
今回、ロボットシステムは実機ではなく、川崎重工が提供するオフライン・プログラミング・ツールであるK-ROSETを使いますので、リモートロボットシステム全体構成図は以下のようなイメージになります。
齋藤:
今日のゴールはこちらの動画のような、画面右のRemolink遠隔アプリから画面左のK-ROSET上ロボットに遠隔指示を送れるリモートロボットシステムを構築することです。がんばりましょう!
事前準備
齋藤:
本日は弊社が準備したデモ用PCを使ってK-ROSET上のロボットをリモート化していきましょう。
Remolink SDKはC#、Pythonの2つの言語に対応していますが、今回はPythonを使っていきます。
PCの中には
・K-ROSETソフト
・Pythonの最新版ソフト
・PowerShell
・Remolink Tools一式
を準備しています。
高丸さん:
PowerShellとは何ですか?
齋藤:
スクリプト言語であるPythonプログラムをコマンドで実行するためのもの だと捉えてください。
本日使う各ソフト等の画面をリモートロボットシステム構成図にあてはめるとこのような関係になります。
K-ROSET上のロボットプログラムをPythonプログラムで動かす
齋藤:
まずは、K-ROSET上のロボットプログラムをPython言語で作成した「ロボット制御プログラム」を使って動かせるようにします。
ロボットのプログラムとPythonのプログラムは、本来0から作っていくものになりますが、今回はRemolink Toolsの組込方法を理解することが目的のため、すでに準備していますのでご安心を。
まずはK-ROSETでロボットのサンプルプロジェクトを読み込みましょう 。ビューにロボットとワークが表示されましたね。ロボットの動作プログラムも入っています。
齋藤:
続いて、今K-ROSET上にあるロボットプログラムをPythonプログラムで動かせるようにしていきます。
PowerShellを立上げ、Pythonのサンプルプログラムを起動する文章を書いて実行すると、右側のPythonプログラム実行アプリ画面が立ち上がります。
齋藤:
Pythonプログラム実行アプリ画面(右下)からK-ROSET上のロボットが実行するプログラムを指示できるようになりました。
例えば、Pythonプログラムの中の「水色にPut」の指示内容はsignal「2034」のような入力信号に変換し、TCP通信でK-ROSET上のロボットに信号を送っています 。ロボットは「2034」の信号を受け取ると、水色の箱に入れる動作に紐づけられていた「pgcyanput」のプログラムを実行します。K-ROSET上でロボットが水色の箱に入れる動きをしましたね。
高丸さん:
ロボット側はIO信号として受け取っているってことですね。
Remolinkコントローラー(中継アプリ)を立ち上げる
齋藤:
ここまでのフローでPythonプログラムからK-ROSETのプログラムを実行できるようになったので、次にRemolinkから外部のインターネットを経由してK-ROSETのプログラムを実行できるようにします。
Python実行アプリの「Remolinkと接続」ボタンを押し、システム構成図02のRemolinkコントローラー.exeを起動します。右側のようにRemolinkサーバーとの接続状況、Remolink SDKとの接続状況が「接続成功」と出ていれば OKです。ここまでがロボットの現場環境にあるものになります。
遠隔アプリを作成する
齋藤:
次に、Remolinkアプリビルダーを使って遠隔アプリを作ってみましょう。
Remolinkアプリビルダーにログインし、アプリUIを作ります。
テンプレートを選択して、パーツを配置し、ボタン名称などを変更していきます。
庄野さん:
めちゃくちゃ簡単ですね。
齋藤:
そう言って頂けて良かったです!
次にアプリ上でどのボタンを選択したかの情報や、カメラ画像上のXY座標の情報をPythonプログラムを経由してロボットに送るため、ワークフローを設定していきます。
今回であれば、選択ボタンに1~6の番号を振って、Pythonプログラムには選んだボタンに紐づく数字をメッセージとして送ります。
右側ワークフロー画面で「ボタン01(クリック時)」の後に「メッセージ送信」の処理ブロックを追加し、送信データとしてカメラ画像上のXY座標と選んだ選択肢の番号を送信するフローを組みます。
アプリとRemolinkコントローラーの紐づけ
齋藤:
遠隔アプリはWebアプリなので、Remolinkアプリビルダー側からどの端末で操作をするかを紐づける必要があります。Remolinkコントローラーの登録・認証作業を行い、認証が完了すると、Remolinkコントローラー一覧画面に登録したRemolinkコントローラーが表示されます。
齋藤:
作成した遠隔アプリをテスト実行するときに紐づけるRemolinkコントローラーを選択すると無事、遠隔アプリとRemolinkコントローラーが1対1に紐づき、テスト実行ができるようになります。
「テスト実行」ボタンを押してみましょう。デザインが施された遠隔アプリが立ち上がりますので、K-ROSET上のロボットに対し、遠隔操作をしてみましょう。
庄野さん:
取り位置を指定して、赤に入れる、実行・・・お~動きました!
リモートロボットシステム構築を終えてみて
齋藤:
無事、一通りのリモートロボットシステム構築を体験頂きましたが、いかがでしたか?
庄野さん:
普段の業務はメカ設計ですが、一連のレクチャーを通じてリモートロボットシステムの全体像と構築のためにやるべきことが理解できました。
高丸さん:
今回のように、サポートを受けながら実際に手を動かしていくとドキュメントを読んでいるだけの時よりも理解が深まりました。
Python、C#ともにほぼ知見がなく、漠然とした不安はありましたが、ロボットの動きを作るのはこれまでやってきている得意な部分ですし、遠隔アプリの作成もスマホの写真コラージュアプリと同じような感じで、センスの差はあれど難しくないと感じました。あとはPythonのプログラムを作るところが懸念ではありますが、お客様からの要望があれば、Chat GPTなども活用しながらお応えしていきたいです。
齋藤:
普段の業務ではあまり使われないソフトや作業で大変だったかと思いますが、お疲れ様でした!
ぜひ、ロボットのリモート化で実現できることを一緒に考えていきましょう。
今日はありがとうございました。
リモートロボティクスではロボットや設備のリモート化による可能性を探索・研究する方に向けたサービス「Remolink Builder」に興味はあるものの
実際にどのようなことができるのか、Remolink Toolsを使いこなすことができるのか、をご不安に思われる企業様に対し、
今回のようにオフライン・プログラミング・ツールを活用したPC1台でできる、Remolink Tools体験の場のご提供が可能です。
ぜひお問い合わせください。