シーン変化にロバストに対応できるバラ積みピッキング

こんにちは、トロボです。

本記事では、バラ積みピッキングにおいてロボットの作業環境、すなわち3次元カメラの視野内のシーンが突然変化しても正確に対象物をピッキングできる認識システムについて紹介します。まずは動画をご覧ください。

動画で使用しているロボットシステムの構成は、唐揚げピッキングの記事と同様に、下記の図のようになっています。

まず動画の説明をする前に、背景からお話ししたいと思います。ロボットシステムは生産効率を高めるため、なるべく短いタクトタイムで動作することが望まれます。バラ積みピッキングにおけるタクトタイムとは、対象物を計測・認識してロボットが把持を行い、適切な場所に移送する(あるいは組付け等の作業を行う)までの動作を一巡するのに要する時間です。

従来では長い処理時間を要していた3次元カメラによる物体認識も、近年では計算機の性能の向上によって短い時間で実行することができるようになってきています。理想的にはロボットが無駄な動作をすることなく高い稼働率でピッキング作業をさせたいところです。しかし対象物や認識処理に用いられるアルゴリズムによっては、性能の良い計算機を用いても処理時間が長くなってしまうケースも少なくありません。そのような場合には、下図のように認識処理の完了待ちのためにロボットは一時停止をせざるを得ません。

このようにロボット動作の合間に待機時間が生じると、タクトタイムが長くなり生産効率が悪くなってしまいます。そこで東ロボで開発している認識エンジンでは、この待ち時間を限りなくゼロにできる独自システムを構築しました(特許出願済み)。

簡潔に説明すれば、認識処理をした結果を直接ロボットに送信するのではなく、観測データや把持の認識結果のデータを別のメモリに保存しておき、認識処理の実行中でも把持データをロボットに送信することができるようにします。これを実現するためのポイントは大まかに2点あります。1つは認識処理と把持データの送信処理はそれぞれ独立して並列処理するようにすること、もう1つは把持データを送信する際に、メモリに記憶された把持データをそのまま送信するのではなく、最新の観測データに基づいて現在使用できない解を除いた(差分した)形で送信することです。この差分処理は、シーンが大きく変化している領域を検出して、その領域に含まれる把持データを削除するだけなので、計算コストが非常に小さく、ロボット動作への影響がほとんどありません。この処理のイメージ図を下図に示します。

このシステムによって、ロボットが認識待ちする無駄な時間をほぼゼロにすることができるうえ、常にシーンの変化をとらえて把持可能な解だけを送信するので、動画のようにドラスティックにシーンが変化しても安定してピッキングを継続することができます。さらに、この一連の処理は認識エンジンの内部で自動的に行われるので、ユーザはまったく意識することなくこのシステムの恩恵を受けることができます。

動画をご覧いただくと、認識できていたワークが突然シーンから消えるケースや、逆にワークが出現するケース、ほとんど空だった容器に大量にワークが投入されるケースなど、様々な状況に対してこのシステムが有効に機能することがお分かりいただけると思います。

今回は、シーン変化にロバストに対応できる認識システムについてご紹介しました。東ロボの3次元カメラSL40やピッキングロボットについてのお問い合わせは下記アドレスまでどうぞ。

trbe-sales[at]robotics.tokyo

それではまた。

世界最高速!? 1600pick/hourの唐揚げピッキング

こんにちは、トロボです。

本記事では、3/9-12に開催の展示会FOODEX JAPAN2021に出展する唐揚げピッキングロボットを、展示会に先駆けてご紹介します。まずは動画をご覧ください。

タクトタイムは2.2~2.7秒となっており、1時間当たり最大1600個をピッキングできる計算です。バラ積みピッキングのデモとしては他に類を見ない速度と言えます。また、実際に1500回ピッキングさせた実験での成功率は98.5%と、速度だけでなく正確性も兼ね備えています。

ロボットシステムの構成は下記の図のようになっています。

今回は動作速度を重視したピッキングを実現するために産業用ロボットを使用しています。産業用ロボットには三菱電機のMELFA RV-4FRL、3次元カメラは自社製のSL40、エンドエフェクタはpiab社のソフトグリッパを採用しています。

今回のシステムでは、ロボットの動作はメーカ純正のロボット言語(MELFA Basic VI)でプログラミングされています。三菱電機のロボットコントローラCR800には外部機器と通信する機能が搭載されているので、それを用いて認識処理PCと連携しています。認識処理PCはロボットコントローラから認識実行指令を受信したらSL40に計測指令を送信、計測結果を受け取って唐揚げの認識処理を実行してロボットがとるべき把持姿勢の計算結果をロボットコントローラに送信します。

ここで、ロボットと3次元カメラの位置関係が厳密に分かっていないと正確な把持姿勢を計算することができません。ロボットと3次元カメラの位置姿勢の関係を取得するための校正作業、いわゆるハンドアイキャリブレーションが必要です。そこでロボットにマーカーを持たせていろいろな姿勢を取らせ、3次元カメラSL40でそれぞれの姿勢における画像を撮影します。

ロボット位置姿勢と、そのときのSL40から見たマーカーの位置姿勢とを紐づけて記憶しておき、最適化計算によって誤差最小となる3次元カメラとロボットの相対位置姿勢を推定します。今回のシステムでは20枚分の撮影データを用いました。計算されたキャリブレーション結果は認識処理PCの内部に保存され、把持姿勢の計算の際などに使用されます。

なお、この「ハンドアイキャリブレーション」は呼び方が諸説あり、「ロボットキャリブレーション」と呼ぶこともあります。「ハンドアイキャリブレーション」は海外で比較的よく使われる呼び方で、「(ロボット)ハンド」と「アイ(=カメラ)」のキャリブレーションを意味します。したがって、今回のようにカメラをロボットハンドではなく環境に固定設置した状態でのカメラとハンドのキャリブレーションも、「ハンドアイキャリブレーション」と呼んで差し支えありません。

ただ一方で、日本国内ではハンド手先にカメラをつけた状態を「ハンドアイ」と呼ぶこともあり、混同した状態で議論を続けると誤解を招くこともあります。この話題が出たときには双方で定義を確認すると良いでしょう。

さて、これで把持姿勢が計算できるようになりましたので、Torobo Armで唐揚げピッキングをした時と同様に、Deep Learningで唐揚げを切り分けて認識し、ぶつからない把持姿勢を探索します。Deep Learningの入力はカラー画像(下図の左)、把持姿勢の探索は主にデプス画像(下図の右)を用います。

Deep Learningの認識結果を下図の左に、把持姿勢の探索結果を下図の右に示します。左図の画像の中で、緑の輪郭は信頼度高く唐揚げを切り分けられた結果、赤の輪郭は形状がいびつだったり信頼度が低かったりした結果です。右図の画像の中で緑の三又マークがピッキング可能な姿勢、オレンジは周囲とぶつかってしまうのでピッキングに失敗する可能性の高い姿勢、赤はハンドを挿入できない領域(例えば箱のふちの部分)にかかっている姿勢を意味しています。単なる赤丸は、画像の範囲外にかかってしまうなどの理由で探索自体ができなかった唐揚げです。

なお三又マークなのは、使用しているpiabのソフトグリッパが3本指だからです。三又の先端の四角がそれぞれの指が挿入される位置を示しています。緑色の探索結果は指先がきちんと隙間に入っていることが確認できます。

今回ご紹介した世界最高速のピッキングロボットを直接ご覧になりたい方は、幕張メッセで開催予定の展示会「FOODEX JAPAN 2021」(2021/3/9-12)にぜひお越し下さい。

唐揚げピッキングロボットや、3次元カメラSL40についてのお問い合わせは下記アドレスまでどうぞ。

trbe-sales[at]robotics.tokyo

それではまた。