こんにちは!
今回はビジョンセンサで撮像したワークの座標をロボットに出力するイメージが持てないという方向けの記事になります。
ロボットシステムを開発している僕ですが、初めてビジョンセンサを使ってロボットにワークの座標を出力しようしたとき、座標をロボットに出力するイメージが全く湧きませんでした。
この記事はそんな経験を元にロボットとビジョンセンサのデータのやり取りがどんな風に行われているのか、初心者でもイメージができるようになればと思い作成しました。
この記事はこんな方におすすめです!
- ビジョンセンサとロボットってどうやって接続するの?
- ビジョンセンサの座標はロボットの座標と違うの?
- ビジョンセンサの座標はどうやってロボットに出力するの?
詳細な部分は使用するカメラや機器構成で異なりますので省いておりますがご了承ください。
大前提としてビジョンセンサは座標が取得できる機能を持ったセンサを使います。
状況としてはビジョンセンサの下に置いてあるワークを撮像してビジョンセンサでワークの中心座標を取得し、その場所にロボットのツールを移動させるという物です。
ビジョンセンサメーカーさんが販売している物ですと基本的に中心座標を取得する機能を持っています。
では1つずつ見ていきましょう!
ビジョンセンサと接続する
まずはビジョンセンサと機器を接続しましょう。
方法は基本的に以下の2つになります。
- ビジョンセンサとロボットを直接接続する
- PLCを仲介して接続する
このあたりはビジョンセンサがどういったシステム構成に対応しているのかメーカーや商社にしっかり確認しましょう。
PLCを仲介すれば大体のビジョンセンサとロボットは繋がりますが、通信のプロトコルの設定などが必要で手間が増えます。
シンプルにロボットのプログラムから操作したいならビジョンセンサとロボットを直接接続することをお勧めします。
ロボットのどこの変数にX座標、Y座標を出力するという設定までカメラ側で専用の接続資料などを用意してくれている場合が多く、ロボットとカメラを直接繋げる方が接続も簡単なことが多いです。
設定は慣れないと難しいですが、困ったら購入先のメーカーに連絡しましょう。
ちゃんとしたメーカーの物なら立ち上げのサポートをしてくれます。
キャリブレーション
ビジョンセンサの座標をロボット座標に変換したり、ビジョンセンサの傾きやレンズの歪みを補正したりすることをキャリブレーションと言います。
キャリブレーションと一言で言っても補正する項目は複数あります。
ビジョンセンサを定点固定にするのかロボットに取り付けてオンハンドで運用するのかによっても必要となるキャリブレーションは異なります。
キャリブレーションが甘いと誤差が大きくなるので気合を入れて行います。
結構面倒です。
キャリブレーションを簡単にしてくれるようなビジョンセンサもあるので慣れていない場合、そういうビジョンセンサを使うのも手です。
お値段しますが。
ビジョンセンサのプログラムを作る
ビジョンセンサ側で物体を認識し、その中心座標を取得するプログラムを作りましょう。メーカーによってはジョブとか表現したりもします。
プログラムというほど大層な物ではありません。
各社それなりに使いやすいアプリケーションソフトを用意してくれているので講習を受けたりマニュアルを読んだりすれば簡単な設定ぐらいすぐにできるようになります。
あくまで僕の使ったことのあるセンサでの経験ですが、基本的に最初に綺麗にワークを撮像してその画像をマスター画像として登録します。
他のワークを撮像した時、登録した画像に近い物体だと認識します。
この辺の認識率は緩くしたりシビアにしたり変更できます。
接続の段階で座標などの出力先を決定していない場合、ジョブ内で座標の出力先を決定することもあります。
ロボットの変数に出力したりPLCのデバイスに出力したりできます。
ワークを撮像する
ロボットかPLCからカメラの撮像トリガを出して撮像します。
カメラ側でジョブの設定をしてオンライン状態になっていればジョブが走ってワークの中心座標を取得するはずです。
撮像完了時点で座標が設定した場所に入っていれば成功です。
ちなみに僕は一発で成功することはまれです笑
ロボットの位置変数に反映する
カメラで取得した値をロボットの座標に反映させます。
定点カメラならそのままロボットの位置座標に代入してあげればいいですし、オンハンドであればロボットの座標に足したり引いたりして合わせます。
ここら辺のプログラムを用意してくれているカメラメーカーさんもあります。
あとはMOVE命令でその位置に移動させるだけです。
まとめ
ビジョンセンサから座標の取得は以下の手順で行います。
- PLCまたはロボットとビジョンセンサを接続する
- キャリブレーションを行う
- ビジョンセンサのプログラムを作る
- ワークを撮像する
- ロボットの位置変数に反映する
ちなみにキーエンスのカメラは上記の全てがとても簡単です。お値段は張りますが、導入が不安ならサポートも手厚いキーエンス製のビジョンセンサをおすすめします。