収穫ロボットのソフトウェア開発でAIの画像認識技術を担当

長谷川貴巨氏:「トマト自動収穫ロボット『FARO』の開発」というタイトルでお話しします。

最初に少しだけ自己紹介をさせてください。私は2006年にデンソーに入社して、カーナビゲーションのハードウェア開発、特に回路設計・基板設計に従事してきました。その後社内公募で異動をして、そこからは一貫して収穫ロボットのソフトウェア開発に従事しています。

特にAIの画像認識技術を担当しています。私に関する詳細はデンソーのオウンドメディアの『The COREs』にインタビュー記事が掲載されているので、ぜひ読んでいただけると幸いです。

“農業の高齢化”に対して開発されたトマト自動収穫ロボット「FARO」

それでは本題に入ります。中里(中里圭佑氏)の講演の中でお見せした動画でも働いていた「FARO」ですが、なぜ私たちがロボットを開発しているのか、その背景を簡単に説明したいと思います。別所(別所孝洋氏)の説明でもありましたが、日本は少子高齢化により深刻な労働力不足に陥っています。データで示すと、日本の就労人口は15年で半減、10年で100万人減という凄まじい減少を見せています。

実に7割以上が60歳以上の高齢者というのが日本の農業の実態です。開発の当初、私は日本全国の農家にインタビューをする貴重な機会をいただいたのですが、みなさんから、「とにかく人がいない」「中国から人を連れてきているが、それも難しい」「高齢なので農園を閉めざるを得ない」「後継者もいない」と、悲痛な声を耳にしました。

そんな中、デンソーは先進的な農業に取り組む浅井農園さんと、AgriDを設立しました。先ほどの動画でも出てきた、三重県いなべ市に設立した巨大な農業ハウスでロボットを用いて長期間にわたり実証・評価を繰り返してきました。農業と工業の融合の実現を目指して、さまざまな作業の自動化に取り組んでいます。

農作業と言っても多種多様ですが、その中でも私たちは特に大きな割合を占める収穫の自動化にフォーカスして開発を進めています。そのために開発されたのがトマト自動収穫ロボットのFAROです。

トマト自動収穫ロボット「FARO」システム構成

これはシステムの簡単な構成図です。産業用PCが搭載された移動台車に、デンソーウェーブ製のロボットアームが取り付けられています。ご存じの方もいるかもしれませんが、将棋を指すロボットの「電王手くん」と同じ型式のVS-060と呼ばれる6軸のロボットアームです。

また、その手先にはデンソーで開発された収穫用の専用ハンドが付いています。これはトマトの切断と把持が同時にできる特殊なハンドです。また、手先にはカメラが1つ、そして固定カメラとして左右を見る2つのカメラが取り付けられており、FAROはAIの画像認識と、これらカメラを用いることでトマトを正確に認識できます。

ロボット開発ポイント1 「AIの画像認識技術」

ロボットの開発の注力ポイントは、大きく3つあります。ハードウェアの点で専用の収穫ハンド、ソフトウェアの点でAIの画像認識技術、そして環境の面でロボットにとって獲りやすい栽培管理です。今日は時間の関係上、AIの画像認識と栽培管理に関してお話できればと思います。

1つ目のAIの画像認識技術ですが、性能向上のために自動運転でも使われるAI技術、ディープラーニング技術を活用しています。

具体的には左の図にあるように、房や実の物体検出のAIモデル。ロボットにとって取りやすい房の向きを判別するAIのモデル。トマトが食べ頃かどうか熟度を判別するAIのモデル。収穫をする時に引っかかるような障害物がないかどうかを判定するAIのモデル。そして最後に、実際に収穫する時に切断する果柄と呼ばれる部分を正確にピクセル単位で検出するためのAIモデル。これら6つのAIモデルを組み合わせることで、収穫に必要な画像認識技術を実現しています。

このAIにより、FAROにとってどのように見えるかを可視化した動画がこちらです。FAROが素早く正確に食べ頃のトマトを判別するのが見て取れると思います。

定量的な性能も、具体的な数字は見せられないのですが、右の表のようにAIを活用することで当初の目標を大きく上回ることができています。

また技術的な特徴として、AIによる補完技術を実現しています。カメラは強い日光の影響で特に昼間細い果柄の奥行き情報、つまりdepthが取れないという問題があったのですが、AIと組み合わせた補完技術を独自開発することで解決しました。これはデンソーの計測の専門家、計測技術部と共同で独自に開発しました。

ソフトウェア開発の開発環境

このようなソフトウェアの開発環境についても説明したいと思います。右の表に記載されているのがロボットのソフトウェアに使われている技術です。ソフトウェアの知見がある人は、この多くを目にしたことがあるのではないかと思います。具体的にOSだとLinux、Windows、言語はC++、Python。ライブラリだと画像処理に使うOpen CV、AIのフレームワークであるTensorFlow、Pytorch。

また、インフラとしてはソフトウェアのバージョン管理をするGitHub、AWS、GCP。いわゆるオープンなソフトウェアとデンソー独自のロボット開発環境。具体的にはロボットの統合開発環境であるWinCAPS Ⅲ、ロボットのエミュレータであるVRC。こういった環境を組み合わせて開発しています。このような組み合わせで何ができるのかを示した図が左にあります。

こちらは何をしているかというと、PC上で農場を再現したシミュレーションをしています。農場で取ったデータと、こういった開発環境を組み合わせることで農場に行くことなくPC上でソフトウェアと、開発したソフトが正しいかをテストをすることができます。 こういった開発環境も、デンソーで独自に開発をしています。

ロボット開発ポイント2 「栽培管理」

続いて、ロボットが働く環境について。こちらに関しては、私たちが農業現場に飛び込むとともに、ロボットを多くの農業関係者に見てもらうという両面のアプローチから取り組みました。開発当初、私たちの多くのメンバーが実際に農作業を体験して、農作業の難しさを理解するとともに、どのようにすればロボットにとって獲りやすい栽培管理ができるのかというヒントを得ることができました。

ロボットのテストは、まだ性能が低い状態から農場に実際にロボットを持っていき、多くの農場関係者に見てもらうことで性能向上のアイデアをいただくとともに、ロボットにとって働きやすい農場はどうすれば作れるかのヒントを引き出すことにも成功しました。ロボットが性能を発揮できるように、農場側にも歩み寄ってもらうことが重要だということが開発を通じてわかりました。

取り組みで得た成果と今後の展望

これらの取り組みを経てFAROで得られた成果物(青果物)がこちらです。野菜や果物の青果物とかけていますが、開発の結果、FAROは毎月数百キロという大量のトマトを収穫できるようになりました。開発当初はまだ直接市場で売ることができなかったので、これらのトマトは開発メンバーが持ち帰りおいしくいただきました。

これが我が家の様子です。テストが佳境の時は、毎日トマト料理をいただいていました。こちらは私の愛する妻が作ってくれたトマト料理です。多くの開発メンバーが毎日トマトを食べていました。

今後の展望を最後にまとめたいと思います。1つは自動化範囲を広めていきたいと考えています。現在は収穫作業だけですが、より多くの作業をFAROで自動化できるようにしていきたいと考えています。また獲れる作物種も、現在は房取りのミニトマトだけですが、大玉のトマトや他の果物・野菜など、FAROの可能性を広げていきたいと考えています。私の発表は以上です。ご清聴ありがとうございました。