![見出し画像](https://assets.st-note.com/production/uploads/images/48371832/rectangle_large_type_2_fd7b3dd5a9e20ddc2f22841cc2446b34.png?width=1200)
柔らかいロボットによる部品組立作業
私が2019年4月に入社して以来、オムロンサイニックエックスの仲間たちと進めてきた研究、ソフトロボットによる部品組立作業を紹介します。この話は、仲間たちが IJCAI-PRICAI 2020 のワークショップ、日本ロボット学会ヒューロビント研究専門委員会若手ロボティクス研究会(ろぼやん)で話していたので、私も自分なりにまとめようと思い、記事を書きました。
入社まで
修士課程では古武術の達人のワザを解析し、生物を規範とした関節を設計し、ワザを再現するロボットを開発し、博士過程では身構え動作の生成法や跳躍して打撃するヒト型ロボットを開発し、その後、研究員として未公表結果を論文に書く仕事をしました。
そして2年前、主体的に研究テーマを設定でき、科研費等の外部資金を獲得でき、自己の裁量で研究できると聞いて、オムロンサイニックエックスの採用試験を受けました。運良く採用され、入社し、その後、ソフトロボットによる部品組立作業に関する研究に取り組んでいます。
部品組立作業とロボット
現在、多くの工場では人間が部品組立作業を行っています。単一の製品を大規模に生産する場合、工場に生産ラインを組み上げ、ロボットアームなどの機械に動作をプログラミングして、動作を反復させます。同様に、少量、多品種の生産をロボットにさせたい時、その都度、生産ラインを設置しては、割に合いません。
生産ラインの一部に組み上げられたロボットは、決まった動作を繰り返すだけで作業を進められます。これに対して、ラインなしにロボットが部品を組み立てる場合、多くのことが必要になります。部品がなんであるか、どこにあるか、どう置かれているかを認識して、掴み、狭い隙間の部品同士をはめ合わせ、きちんと組み付けられたことを確認しながら、手順を計画し、状況に応じて計画を変えながら、完成に向けて作業を進める必要があります。
これらの、人間が難なくこなす認識、計画、実行を、同様にこなせるロボットは存在しません(理由は他の記事であらためて説明します)。大規模な生産ラインを作らず、ロボットが人間の手作業を代わることは、未だに挑戦的な課題として残っています。この課題を解決するため、World Robot Summit の製品組立チャレンジの大会が開催され、わたしたちも参加しています。
柔らかさを活かしたロボット作業
ロボットによる部品組立に取り組む中で、ある考えに至りました。それは、「ロボットが身体に柔らかい部位をもち、柔らかい部分が変形することで部品同士のズレを吸収できれば、ロボットが人間のようにすばやく正確に部品を組み立てられるのではないか」という考えです。
この考え方自体は、古くからあります。1980 年後半には、下図の Remote Center Compliance と呼ばれるロボット手首の機構が提案されています。手首の変形、動きによって、簡単な制御で部品を挿入できます。
柔らかい部品組立ロボットに必要なこと
この柔らかいロボットの手首は、古くから、現在に至るまで世界中の工場で使われています。ある程度決められた動きを繰り返す時に、手首の柔らかさが役に立ち、簡単な制御でロボットが部品を挿入できています。なので、様々な部品を状況に応じて扱う部品組立が、この手首だけで簡単になるわけではありません。状況に応じてロボットが柔らかい身体を使いこなす制御や行動生成の技術が新たに必要となります。加えて、特定の状況下で動く従来とは異なるため、手首には様々な状況に対応できる機構が必要です。
状況に応じた制御方法をプログラミングした場合、全ての事態を想定して、あらゆる状況に関してプログラミングするのも、手間が大きすぎます。少しでも想定しない事態になったら、ロボットは止まってしまいます。
このため、状況に応じた柔らかい身体を使いこなし方をロボットが自動で試行錯誤して学習する技術を開発してきました。
柔らかい手首の開発
開けた場所で作業する製造ライン上のロボットと違って、組立作業をするロボットは、部品の間から手を差し込めるように、コンパクトな手首が必要です。同時に、大きな誤差を手首が吸収するためには、大きな変位をするために、手首も大きくする必要があります。
加えて、常にロボットの手首が柔らかいと意図しない揺れによって掴んだ部品を落とすおそれがあります。なので、手首の硬さを切り替える機構が必要でした。
売られている手首はこれらの条件を満たさなかったため、柔らかい手首を独自に開発しました。
私たちが開発した手首は、ロボットの根本に配置した駆動装置がワイヤを介して駆動します。ワイヤ駆動のお陰で、手首にモータなどを入れずに済んで、最大限コンパクトにできました。ワイヤで手首を引くと、部品同士が噛み合って固定され、引くのをやめると、ロボットのグリッパがバネでつながった柔らかい状態になります。
詳細の設計と製作は、小野電機製作所さんにお願いしました。
試行錯誤で柔らかい身体の使いこなしを学ぶロボット
ロボットが自動で経験から作業の仕方を学ぶ技術を開発しました。
ロボットの身体が柔らかい場合、変形して、物体になじむため、細かい制御なしに位置合わせができます。この特性を活かし、局面ごとに、少ない変数を制御することで、柔らかい手首が高速に学習する手法を開発しました(英語記事)。
環境になじむ特性があれば、人間がロボットに教えた動きと実際の物体が少しずれていても、ロボットは教わった動きを行えます。ズレのせいで失敗しても、柔らかく物体と触れ合うために、過剰な力と故障が起きにくい利点があります。この特徴を活かした、柔軟ロボットへの教示方法を開発しました。
柔らかいロボットは、硬いロボットよりも安全に人間と触れ合えます。例えば、人間がロボットと押し合いながら、作業を教えることができます。この特徴を活かし、人間がロボットを助けたり、邪魔することで、ロボットの運動学習を早める方法を開発しました。
ロボットがすばやく新しい作業を学習する手法を開発しました。シミュレーションの世界で学んだ知識を活かして新しい学習を早める手法を開発しました(日本語記事)。過去に学んだ近い作業の知識を混ぜ合わせることで学習を早める手法を開発しました(英語プロジェクトページ)。
ロボットが経験から学ぶ状況のうち、最も挑戦的なものとして、ディアボロと呼ばれる大道芸を学ぶロボットを開発しました。一見、動きは部品組み立てと似ていませんが、ロボットがディアボロを学ぶ技術を開発する過程で、自ら学ぶロボットの技術を磨けます。
柔らかい身体の動きをうまく計算に使うことで、外界の状況を認識する手法を開発しました(日本語記事)。実験では羽ばたきロボットの風向き認識を使いましたが、同様の原理を部品組立に応用できます。
柔らかいロボットは物体を壊しにくいため、積極的に物体同士を接触できます。接触を通じて、掴んだ物体の位置や向きを認識する手法を開発しました(英語記事)。
これから
私が仲間たちと2年間取り組んできた、柔らかいロボットによる部品組立の研究を紹介しました。
柔らかさを備えたロボットが部品の組立を完遂できるよう、またその技術を他のロボット作業にも応用できるよう、これからも仲間たちと研究を進めていきます。
オムロンサイニックエックスでは、私たちと一緒にロボット研究や機械学習の研究をやって頂けるインターン・アルバイトを募集しています。詳細はこちら。