
Fri 17 May 2024
Startup JAPAN Expo2024 出展デモンストレーションの詳細。
「AIテック&実験サイト」は、最新のAI技術に関するテック記事、実験記録、その他何か面白そうなこと諸々の乱雑なコンテンツを掲載する、どちらかと言えばブログ的なサイトです。
デモンストレーション動作中の様子
みなさんこんにちは。株式会社令和AIシニアエンジニア・兼・CEOの坂本俊之です。
2024年5月15,16日に東京ビッグサイトで開催された、「Startup Japan Expo 2024」に参加してきました。
日本最大級のスタートアップ向け展示会と言うことで、小規模なブースであるものの大勢の方にご来訪いただき、弊社にとって大変有意義な二日間となりました。
ここでは、ブース内で展示していた生成AIによるハードウェア制御のデモンストレーションについて、改めて詳しい説明をしたいと思います。
※ちなみに、ボールコロコロというのは当該デモンストレーション開発プロジェクトの弊社社内正式名称です。
このデモンストレーションは、ピッキングラインにおけるピッカーの制御を模擬したもので、ランダムに流れてくる荷物を、ピッカーロボが指示に従って梱包し、必要なものを必要な個数を集めたら出荷する、という一連のフローを模擬しています。
デモンストレーションで用意したのは4色のボールと、ランダムに流れるボールを音声指示に従ってピッキングする機構で、ハードウェアそのものは市販品のおもちゃを組み合わせて作成しました。
弊社はAIを作っている会社で、ハードウェアを作っている会社ではないので、これはあくまでAI制御の技術を紹介する、技術デモンストレーション、という位置づけです。このようなハードウェアを組み立ててどこかに売ろうとしているわけではなく、何らかのハードウェアを作成している企業とコラボレーションして、AI制御を組み込んだ何かを一緒に作りませんか、という提案をするための技術実証の展示になります。
入荷ライン~ピッキング処理まで
入荷ラインは、プールされているボールをミキサーでシャッフルしながら、リフトで上部に送り込み、一定間隔でレールに流す機構で模擬しています。
ピッキングされたボールは、前部にある梱包を模した皿の上に集まり、出荷指示があると集まったボールをプールの側に落として、出荷を模擬します。
ピッキング処理~プールへ落下
ピッカーは2自由度を持ったロボットアームで、先端にボールを受けるバケットが取り付けられています。ロボットアームの動作の設定は、通過、梱包、破棄の3ラインのいずれかにボールを落下させる、というもので、ピッカーを囲む3方向に落下先のラインがあります。
全てのラインの最終的な行き先は下部にあるプールで、これによりデモンストレーション動作が無限に循環するようになっています。
デモンストレーションにおけるAIは、音声指示で入力された、「どのように梱包したいか」というユーザーからのリクエストを、ピッキング処理を行うピッカーがどのように動作すればよいか、というコマンドへ変換する、行動目的制御のために使用されています。
ピッカーの制御は、センサー~ピッカーまでの通過時間内に行われる必要があるので、毎回LLMを動作させているのではなく、一旦制御コマンドを実装したスニペットを生成し、そのスニペットを実行することで、制御を実装しています。
つまり、行動目的制御のためのAI部分と、コマンド実行のための制御部分は分離されていて、異なる周波数で動作している、ということです。
生成AI(ここではChatGPT)を使うメリットとして、AIの持つ言語能力と、ロジックの厳密性を融合させることが出来る、というものがあります。
そのためピッカーに対して指示できる内容は、単純なフォーマットに従ったコマンド的な文でなくてもよく、ある程度複雑な条件判断やループといった、プログラム的な動作指示も、通常の話し言葉で指示することが出来ます。
指示可能な入力文の例:
詳しくはこちらのパネルをご覧ください。
生成AIに制御のためのスニペットを出力させる場合、AIが間違った制御処理を出力してしまう可能性が、僅かではあっても排除できずに残ることになります。
そのため、事前にソフトウェア上でスニペットの実行をエミュレートし、ライン上で安全に動作できるかをチェックし、結果OKであれば初めてラインの制御に移行する、というステップを踏んでいます。
実行エミュレーターはラインの構造をロジックで再現したもので、AIではなく純粋なロジックで出来上がっています。
AIの持つ言語能力とロジックの厳密性を融合させることが、AIによるハードウェア制御のキーであり、厳密性があるからこそ再現性があり、再現性があるから事前エミュレートによる安全チェックが可能になっている訳です。
SnippetRunnerによる制御ループの設定
このデモンストレーションは弊社SnippetBoxソリューションのデモとなっています。ここで実行している制御コマンドが実装されたスニペットも、ソリューションに含まれるSnippetRunnerインタプリタ実行環境で実行されています。
SnippetRunnerの設定で、スニペットに含まれるループの実行周波数を制御しており、ピッカー制御ループの周波数は250Hzで実行されています。センサーからの入力は60Hzで画像認識を実行しており、約2~3フレームかかるボールの通過を確実にハンドリング出来るように設定しています。また、SnippetRunnerはサンドボックスとしても機能しており、制御ループ内でエラーが発生してもExceptionを送出せず(しかし割り込みは行いHWの状態に異常をもたらさないもののみ判断して)、ループ内に実行をとどめるといった処理も行っています。
このような、ハードウェア制御に関する部分は厳密性のあるロジックで作成されており、AIはそのロジックの組み合わせを操作する、行動目的制御のコマンドを生成している訳です。
弊社の強みとして、このようなAIに任せることが出来る部分とそうでない部分の切り分け、AIを適切に使うためのインテグレーションに関する知見等があり、コンサルティングサービスではそうしたノウハウを生かしたAIの実応用について、実現性のある提案をさせていただいています。
展示会で使用たパネルは、PDFデータとして公開してあります。こちらからダウンロードください。
同時に展示していたドローン飛行経路のパネルデータも用意しました。