見出し画像

手堅い準備と素早い検証の間で

こんにちは。トクイテンの森です。年始以来この一ヶ月、地震をはじめ様々なことが起こり心身の不調がある方もいらっしゃると思いますが、ご自身の健康を第一に過ごしていただければと思います。

今日のお話は、トクイテンでのロボット開発にまつわるジレンマについてです。

素早いPDCAとスタートアップ界隈

スタートアップの業界と関わるようになって、よく「素早くPDCAを回せ」と言葉を聞くようになりました。PDCAはPlan(計画)、Do(実行)、Check(評価)、Action(対策)の頭文字で、確かに細かく仮説検証を繰り返しつつ改善していくことができれば、事業でのさまざまなハードルを越えて成功に近づきそうです。

ただ、スタートアップ界隈ではこの「素早いPDCA」を条件なしに言い過ぎてないかと思ったりはしています。(具体例を書いたけれど特定の可能性があるため削除)

似たような話で、「おもちゃみたいだと言われた商品やサービスほど社会を変える」と言ったような話もあります。最初はおもちゃみたいなWebサービスでも素早く市場に出して、ユーザーの意見を基に高速にPDCAを回せば、良いサービスに育っていくという意味合いだと思います。

PDCAの前提条件

それでは、ロボット開発ではどうでしょうか?

ロボット開発について考える前にPDCAが上手くいく前提を考えてみましょう。基本的にはPCDAは仮説検証型のアプローチです。科学研究もそうですが、仮説検証をうまく進めるためには、仮説そのものの是非に集中するために、仮説の前提は信頼できるものにしたいところです。例えば、実験設備が設定した数値と異なる実験条件で実験し始めたら、その実験の結果には何の意味もなくなります。あまり意識はしませんが、通常のビジネスでのPDCAも本来は改善を適切に行うために、成功・不成功の原因を特定しなければならず、思考が発散しないために信頼できる要素は何かを見極めておく(準備しておく)ことは大切です。

ソフトウェア開発では、コンピュータで行われる計算はプログラムの通りに動くことを前提とするのが一般的です(厳密には内部でビットの反転が起こったり、通信ノイズで正しくデータが転送できないために誤り訂正の機能が実装されていたり、SSDは書き換えに限度があるためソフトウェアで記憶する場所を調整しているなど正しい計算や通信を行うための技術を投入した結果としての高い信頼性ですが…)。スタートアップ界隈の環境がソフトウェアやインターネット技術を背景に構築されてきたこともあり、あまり仮説検証の前提に無頓着であったり、人間や自然の「ままならなさ」に対して軽んじていないかと感じることもあります。

ロボット開発における準備と検証

改めてロボットについて考えてみると、やはり手堅く準備し素早く検証することが大切ということになりますが、一筋縄では行きません。それは異なる専門性が必要な、信頼性も異なる別々の要素技術を統合しなければならないロボット開発ならではの特性からくるものかもしれません(もちろんロボット開発だけに限りませんが)。

例えば、我々の収穫ロボット開発は、トマトという「よく似ているけれど全て違う」対象に対するものです。設計した意図通りに収穫動作が上手くいくというわけではないため、素早いPDCAが必要になりますが、その前提として現在の技術で可能な部分は、可能な限り思惑通り動くということも大切です。それがなければ、ロボットがトマトを収穫できなかったときに、ロボットの機械にぐらつきがあるのか、位置制御に問題があるのか、トマトの検出や位置推定に問題があるのか、動作アルゴリズムに問題があるのか…と様々な問題を一度に検討しなければなりません。「おもちゃ」を組み合わせてもさらに酷いおもちゃにしかならず、不具合があったときに何が問題かさえ検討ができないということでしょうか。

そう考えると、一つ一つの機構や機能の要素を全て時間をかけて確実なものとしてから全体を統合すれば良いという考え方にもなりますが、そうするといつまで経っても実際の収穫動作テストができないことになります。すでに市販されている信頼性の高いアームロボットなどを使用することができれば良いですが、市場にない部品であれば自分たちで開発する必要が出てきます。それぞれの技術要素の信頼性は程々に担保しつつ、適宜統合してテストを繰り返すのが良いということになりますが、「時間的制約と技術的制約を満たす適度な信頼性」をあらかじめ正確に知ることができないのが難しいところです。

また、素早い検証のための道具立てを準備することも大切ですが、その準備そのものが「手堅さ」を阻害するかもしれないという議論もありました。私たちの具体例でいうと、カメラの設置位置検討に関係する森の提案がありました。これは、ロボットに設置するカメラ位置を素早く検討するために、カメラ位置とロボットアームの位置の対応をロボット側にマーカーなどをつけて自動調整できるようにするというものです。しかし、エンジニアと議論した結果、実施しないことになりました。私は素早い検討のための道具立てと考えたのですが、上手くいかなかった時の検討事項がそのアルゴリズムの追加分増えるというのが結論でした。その代わりの方策はカメラを移動するたびに人間がその位置や向きを実測して、計算上の位置と寸分違わず設置するというものです。手間が増えると食い下がったのですが、現状は人間の方が信頼できるという判断になりました。

このような議論は答がない、というより上手くいったことが分かった時点で初めて、「間違ってはいなかった」と分かるのだろうと思います。ロボット開発の「ままならなさ」ですが、優秀な技術者と一緒に少しずつ解決しています。

このようなトクイテンでのロボット開発に興味があれば、HPからご連絡ください。よろしくお願いいたします。


この記事が気に入ったらサポートをしてみませんか?