- ホーム
- CASE STUDY
- 【ロボット制御】SOINN2.0 の学習・推論に基づくマルチモーダルロボット制御
【ロボット制御】SOINN2.0 の学習・推論に基づくマルチモーダルロボット制御
SOINN🄬 2.0による超高速マルチモーダル学習とリアルタイム・ロボット制御デモ
- 嵌め合いのきつい飲料缶の箱詰め作業を例に:メカトロテックジャパン 2021 デモ展示解説 ー
■ はじめに
弊社ではNEDOプロジェクト(※)の一環として、弊社独自の機械学習アルゴリズムである SOINN🄬 を大幅に改良した SOINN🄬 2.0 の開発を進めています。SOINN🄬 2.0 は超軽量で、例えば時系列マルチモーダルデータの場合、CPUのみを用いて(GPU不使用で)学習・推論をそれぞれ数秒・数ミリ秒のオーダーで実行可能です。
本NEDOプロジェクトでは、SOINN🄬2.0 の有力な展開・応用先としてロボットを選定し、実機を用いた実証実験も行っています。本デモは、SOINN🄬2.0 による時系列マルチモーダルデータの学習と、学習済み SOINN🄬 2.0 によるリアルタイム・ロボット制御の実行例をお見せするものです。実験には川崎重工業社製スカラー双腕ロボット duAro を用いています。ロボットのタスクは、力触覚を加味した制御を必要とする「嵌め合いのきつい飲料缶の箱詰め作業」としました。
※ NEDO:高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発【研究開発項目①】革新的AIエッジコンピューティング技術の開発
■ デモ内容
一般に、反力や摩擦力が動的に変化する環境下でのロボット制御は、プログラミングが非常に困難です。そこで本プロジェクトでは、反力や摩擦力がある環境下で人が操作した履歴をSOINN🄬2.0 に学習させることで、ロボットに同等の力制御タスクをリアルタイム実行させることとしました。今回のデモの概要は以下の通りです。
① 双腕ロボット duAro の片方の腕をマスタ、もう一方の腕をスレーブに設定する。
② 人がマスタをもって缶の箱詰め作業を行い、その過程で得られたアームの動作と力触覚のセンサデータを学習データとする。
③ 学習データを SOINN🄬2.0 に与えて学習させ、ロボットに一連の缶の箱詰め動作を実行させる。
ただし、本タスク遂行に付随するその他の機能(缶の位置や向きを検出する画像処理機能など)は、別途構築して結合しました。
■ SOINN🄬2.0 (AI)の学習のポイント
本タスクで、SOINN🄬2.0に学習・制御させるのは主に以下の2つです。
1.力触覚を利用して缶を箱に整然と並べる。最後の1缶はちょうど1缶分のスペースに転がして落とし込む(箱に入る缶は全部で8個)。
2.箱に詰めた缶を回転させ、ラベルを正面向きに揃える。
1.供給トレーから取り出した缶を整然と箱に詰める動作
本デモでは、箱のどの位置に詰める缶にもロボットが柔軟に対応できるよう、学習データにアームの位置座標を含めない一方、アームの動作方向(速度ベクトル)と、それに伴う力触覚情報を含めました。
学習データは、人がマスタを操作して缶の箱詰め作業(下記①~③)を行い、その操作履歴を記録して作成しました。①~③は各1回ずつ行いました。
① トレーから取り出した缶をロボットから見て右方向に移動させ、箱の右端のふち、もしくは他の缶に接触したら動きを前方方向に変える。その後、前方の箱のふちに接触したら、缶を下に置く。(これが最初の缶の場合、上段の1つ目の缶の座標が定まり、残りの7つの缶を置くべき座標が概算・推定できる。)
② 2つ目は下段の缶であり、トレーから取り出した缶をロボットから見て手前の箱のふちにあて、ふちを軽く手前に押しながら缶を右方向にスライドさせる。右端の箱のふちにも接触したら、缶を下に置く。(以後、①と②を繰り返し、上段・下段の順に缶を詰めていく。)
③ 最後の下段の缶は、推定した配置位置よりやや右にオフセットさせ、あえて右隣の缶の上に下ろす。缶が下の缶に接触したら、缶を下の缶の円周に倣わせて左側に下げ、8つ目の最終スペースにはめ込む。
本検証では、上記3つ動作から各1回ずつ、計3回分の操作履歴を学習データとしました。
2.缶を回転させラベルの向きを正面に揃える動作
上記1.の箱詰め動作により、ロボットは缶を箱の中に整然と配置しますが、この時点でラベルの向きは揃っていません。しかし贈答用などの箱詰め作業では、全ての缶のラベルが正面向きに揃っていなければなりません。そこで本デモでは、画像処理でラベルの向きを検出し、全てのラベルが正面向きになるよう缶を回転させることとしました。
缶の回転は、アームを缶の中心軸の若干左に接触させ、アームを缶の円周に沿って右方向に動かすことで実現します。本デモでは缶の右側に常に箱のふちや他の缶が存在するため、缶は反力や摩擦を受けつつその場で回転します。
このような反力や摩擦を受けた対象をその場で回転させる動作(多様な力を感じつつ缶の円周方向に沿ってアームを移動させる動作)は、人が実行するのは容易ですが、力加減も含めてプログラムするのは容易ではありません。本デモではこの動作を、人による操作履歴1回分をSOINN🄬2.0に学習させることで実現しました。
■ 各種スペックデータ
本デモでは、これら「缶の箱詰め」や「ラベルの正面向き揃え」を結合して一連の箱詰め動作とし、動作の再現性や学習・制御に要する時間の定量評価を行いました。本デモに使用した計算機のスペックや、学習データ、学習・推論時間等の関連データは以下の通りです。
OS : Microsoft Windows 10 Pro
プロセッサ : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz、4001 MHz、4コア、8ロジカルプロセッサ(GPU不使用)
メモリ (RAM): 32.0 GB
学習機構 : SOINN® 2.0
学習データ : 10次元ベクトルデータ
データサイズ: 1MB
データ行数 : 3,000 行以下
学習時間 : 約3秒
推論時間 : 数ミリ秒
学習済 AI モデル:100 KB以下
■ まとめと展望
ロボットにAIを付加する最大の目的は、ロボットの動作がプログラムの内容や教示動作の再生に限定されるのではなく、AIに状況に応じた臨機応変な推論をさせ、高度なタスクを現場を止めずに(外乱等に頑健に)連続実行させることにあります。
今回のデモでは、まずロボットアームの動作情報と力触覚情報を融合するマルチモーダル学習・推論を実現しました。本デモシステムにおけるSOINN® 2.0と画像処理系の連携はかなり進んでおり、今後直ちに視覚を加え、ロボットが「見て、触って、確かめながらタスクに適切対応するマルチモーダル学習・制御」を実現します。
また本NEDOプロジェクトの最終目標は、SOINN🄬2.0をルネサスエレクトロニクス社製 DRP チップに組み込むことで、超小型で超省電力な汎用AIチップを実現することにあります。近い将来、DRPチップとのシナジーで、SOINN🄬2.0の学習推論機構はロボット筐体への組み込みも可能となります。
本成果がロボットや機器・装置に組込まれることで、現場で柔軟に学習して機能するロボットの実現や、電源に強い制約のあるドローンのAI化などにも貢献できると考えています。