安川電機は、今は人間しかできない組み立て作業ができる小型ロボットを開発している。深層強化学習技術を使って実現し、来年秋にプロトタイプを発表する計画だ。
産業用ロボットメーカーである安川電機は、これまで人間にしかできなかった、円柱状の部品を穴にしっかりはめ込むような嵌合(かんごう)作業などの組み立て作業ができる小型ロボットを開発している。開発中の小型組み立てロボットは、深層学習(ディープラーニング)と強化学習を組み合わせる深層強化学習技術を使って、試行を繰り返しながら組み立て作業を身につけるという。
人間が担っている作業を代替

モノとモノを差し込んだり、ねじ込んだりするような組み立て作業の多くは現在、人間が担っている。ロボットにやらせるには「パラメーターを調整して位置合わせをしたりするなどセットアップに時間がかかってしまう。深層強化学習を使うと、ロボットが自動で何回も作業を試行することによって正解を見つけることができる」(安川電機技術開発本部開発研究所つくば研究所の横山和彦所長)という。
深層強化学習技術については、これまで安川電機社内では手掛けてきていない。そのためにスタートアップ企業を含む国内外の組織とコラボレーションしながら開発を進めているという。目標としては、来年秋までに小型ロボットのプロトタイプを発表する計画だ。
6軸の力センサーを中心に画像センサーや接触センサーを組み合わせて組み立て作業に関する情報を把握し、制御する。作業に無理があるときは動作を止めるなど、何度も試行を繰り返す。開発中の組み立てロボットの仕組みは、下記の通りだ。

同つくば研究所の足立勝AI応用推進チームリーダは「嵌合作業といった接触を伴う組み立て作業をロボット自身が繰り返し試行し、力加減を学習することによって最適な動作を獲得する機能を開発している」と解説する。
組み立てロボットのビジネスモデルについては検討している段階だが、学習済みモデル(学習モデル)をコピーして組み立てロボットに入れて使う。「この学習モデルとハンドリングする技術に付加価値がある」と横山所長は強調する。
実際の運用では、組み立て作業を最終段階まで学習せず、7~8割の学習モデルをロボットに入れて、あらためて深層強化学習させて100%作業を学習させる。こうした運用にするのは、「ロボットの個体差とセンサーの違い、アプリケーションの違い(同じ嵌合作業でも扱う部品が違う場合)を吸収するためだ」と、足立AI応用推進チームリーダは話す。
開発中の小型ロボットは、3~4kgの部品を持つことができ、現在人間がやっている組み立て作業をカバーし、代替できるという。例えば、安川電機でいえば、「工場内で使われているインバーターの組み立てなどの作業に使うことを想定している」(横山所長)という。
なお、安川電機は2013年1月に同社の産業用ロボット「MOTOMAN(モートマン)」のオプションとして6軸力センサーユニット「MotoFit」を発売している。ロボットの自律性を支援するもので、深層強化学習を取り入れて作業を習得できる組み立てロボットは、この6軸力センサーユニットがベースになっている。
深層強化学習とは
ちなみに今年3月に韓国のイ・セドル九段との5局勝負で4勝1敗と圧勝した、英ディープマインドが開発した囲碁の人工知能「アルファ碁」は、深層強化学習を使っている。深層学習は、画像や音声などからコンピューター自らが特徴量を抽出でき、人間や猫などを精緻に認識できる技術。画像認識に関しては既に人間の能力を超えている。深層学習を活用したビジネスは、今後1~2年で大きく成長することが期待されている。
強化学習は、コンピューターの何かの行為に対して、報酬またはペナルティーが与えられて、今やった行動が良く、もっとやるようにすればいいのか、それは避けたほうがいいのか、学習していく技術だ。これまでの強化学習は、どういう時に報酬を与えるのか、あるいはペナルティーを与えるのか、人間がプログラムを書く必要があった。世の中は複雑なのでとても書き切れないというのが大きな課題だった。
しかし、深層強化学習は、人間がプログラムを書かなくても、コンピューター自らが試行を繰り返しながら正解である行動を身につけることができる。画期的な技術として注目が集まっている。
機械学習で故障を予測
安川電機は産業用ロボットの故障を未然に防ぐシステムの開発にも取り組んでいる。日本IBMと組んで機械学習技術を活用して、2016年度後半には実用化する目標を持っている。まずは自動車メーカー向け溶接ロボットで実用化する。続いて塗装ロボットなどにも対応していく。
「お客さまのところでロボットが止まると損失が出る。自動車メーカーに対しては、定期的にロボットを止めてメンテナンスを行っているが、あらかじめ故障が分かれば止める時間が短くなる」と横山所長はメリットを説明する。
開発段階の現状では、モーターのトルクデータを中心に温度データや加速度センサーなどロボットのいろいろなセンサーデータを収集して試している。実際にどのくらい機械が傷んでいるのか、分解してみてセンサーデータと突き合わせている。
最終的には機械を分解せず、トルクデータなどを見て故障を推定する。実用化の段階ではなるべく少ない種類のセンサーデータで故障を推定できるようにしたいという。なお、これまではロボットの稼働時間やかかった負荷、モーターのトルクデータなどを基に推定していた。
故障の推定では、過去のデータに基づいてきちっとした学習モデルを作る方法に加えて、もう1つの方法を試している。それは、正常のときのデータだけを学習させて、それから外れた場合に異常であると判断する方法だ。
一般に減速機が一番最初に壊れるが、ロボットの使い方によって何が壊れるかが決まる。急減速などを繰り返すと、減速機が先に壊れる。現段階では、異常を推定するのにどのセンサーデータが役立つのか分からないという。
試算はできていないが、故障を推定することができれば、大きなコスト効果が期待される。とりわけ自動車メーカーにとっては効果絶大とみられる。