第42号:ロボット開発のジレンマ(2022年7月8日配信)
こんにちは。トクイテンの森です。梅雨も明けて本格的に夏の天気になってきたと思いきや、台風もあって今週は涼しい日が続いている関東地方です。トクイテンのロボット班は引き続き、収穫ロボットの開発を続けています。
ジレンマ
ものづくりにはさまざまなジレンマがあり、ものづくりに「答えがない」と言われる部分にはジレンマの解決方法が一概に決められず担当者の経験や勘、美意識などで決まってくるからかもしれません。ロボット開発も同様なのですが、特徴的なのは全く異なる様々な領域の知識や技術を組み合わせなければならないということでしょう。
今回は、そのようなロボット開発にまつわる「ジレンマ」を紹介します。
可能性を広げるvs完成度を高める
ロボットは動きません。というと語弊がありますが、動かすまでのハードルが高いのがロボット開発です。
最近では、(高額な)完成度の高いロボットアームや移動ロボットなどとオープンソースのソフトウェアの組み合わせで、一通りの動作ができるようになってきましたが、少し工夫をしようとすると、ハード、ソフト共に手を加えなければなりません。
たとえ確実に動作するとしても最終的な完成予想図が期待以下では、潜在的なユーザーに将来性を判断するに至らないと判断されるかもしれませんし、完成度を高めるためには人材と時間が必要です。我々のようなベンチャーでは人的、時間的、金銭的にも資源が限られます。そのため、完全自動化有機栽培農園という最終的な目標に向かって可能性を広げる部分と完成度を高める部分のバランスを、営業や資金調達などのマイルストーンに合わせてどのようにするのかという経営判断は難しいと感じています。
ハードウェアで解決するvsソフトウェアで解決する
ロボットのハードウェアを作るためには機械工学、電気・電子工学、材料工学などの技術が必要です。また、ソフトウェアを作るためには計算機科学、ソフトウェア工学、人工知能、数学などの技術が必要です。場合によって、ハードウェアの設計を工夫することで計算式を簡易化したり、ハードウェアが不十分な場合でもソフトウェアで解決する場合があり、それぞれに一長一短があります。
ソフトウェアによる解決は、作り直して良し悪しを判断するサイクルを短くできるということですが、不必要に複雑になってしまう問題があるかもしれません。ハードウェアによる解決は、最近はラピッドプロトタイピングを採用するロボット開発が増えてきています。これは、3Dプリンタなどを活用した素早い制作とテストのサイクルによる技術開発で、今後非常に有望な開発手法になると考えています。ただし、適切な設計をしながら進めなければ、数回テストしただけで変形したり壊れてしまって、検証実験さえまともにできないということになりかねません。
また、複数人で開発プロジェクトを進めるとしてもリーダーが自身の専門性からハードかソフトのどちらかに肩入れしてしまう傾向もあり、バランスが取るのが難しいかもしれません。技術者に幅広い知識が必要である点も重要ですが、人材活用の観点からも難しさを感じます。
数理モデリングvsデータに基づく機械学習
ロボットの動作を思い通りに作りたい場合、問題になるのが物理学や幾何学に基づいた数理モデリングを活用するのかデータに基づいた機械学習を活用するのかという問題です。
モデリングが適切にできると計算が軽くなったり、一度も経験していないことであっても適切な対応ができるというメリットがあります。
それに対して、データに基づく機械学習が発展していてデータの取得方法を工夫すればかなりのことができます。具体的には、画像認識などですが、ロボットの動作も機械学習で生成できます。問題点としては、データ収集のコストや計算の負荷が大きい場合があること、データの範囲外のことについてはどのような結果になるか不明で安心感がないことなどが挙げられます。
複雑な画像認識を含めてモデリングが不可能な場合があるため、その場合には機械学習一択なのですが、モデリングもできるけれど難易度が高く、機械学習でもできるけれど無駄が大きそうという対象では、どのように開発するかは迷いどころです。自分が機械学習の研究者でもあるところで、このジレンマが生まれるところは否めません。
技術は適材適所に使えば良いだけではあるのですが、悩みながら開発を進めています。
以上、我々の悩みの種をジレンマというキーワードで書いてみました。こんな弊社でのロボット開発に興味のある技術者の方、技術者でなくてもロボット開発の七転八倒を共にしたいという奇特な方がいらしゃる場合は是非弊社サイトからお問い合わせください。
持続可能な農業をつくる仲間を募集中
我々のミッションに共感してくれる方からの応募をお待ちしています。未来の農業をつくるというチャレンジのメンバーになりませんか?