• Talk
  • 製造

デンソー、人とロボットの協働に向け生成AIを使った自律型ロボット制御技術を開発

Microsoft Azureの「Azure OpenAI Service」と「Azure AI Speech」でロボットの実行基盤を整備

2024年2月14日

AzureのAIサービスでロボットの“頭脳”を実現

――利用しているAI技術は、どのようなものですか。

 現状のシステムでは、米マイクロソフトのクラウドAIサービス「Azure OpenAI Service」と「Azure AI Speech」を利用しています。前者がChatGPTの機能を提供するサービスで人との対話や各種判断のための自然言語処理を、後者は音声認識・音声出力をそれぞれ担っています。バーチャルな世界でロボットが判断するための基盤で“頭脳”に相当します。

 リアルな世界での動作は、デンソーウェーブ製のアーム型ロボット「COBOTTA(コボッタ)」やAMRなどのエッジ端末が担います。これらが“手足”ですが、“耳”や“口”の機能としてマイクとスピーカーも接続しています。

成迫  先にもお話ししたように、当社ではChatGPTをはじめとする生成AI技術には、その登場当初から注目してきました。初期の検証で「生成AIは世界を変える可能性のある新技術だ」と考えました。ただ、新しく登場した生成AIの活用は初めてのことでもあり、社内情報システムなどでも付き合いの長い日本マイクロソフトに、技術支援を含めた共同開発を打診しました。

畑﨑 恵介(以下、畑崎)  マイクロソフトコーポレーションApp Innovationグローバルブラックベルトの畑﨑 恵介です。お声がけいただいた時はAzure OpenAI Serviceの一般提供が開始された頃で、我々も当初のターゲットは「生成AIを活用した音声チャットによるロボット制御かな」と単純に考えていました。

写真4:マイクロソフトコーポレーション App Innovation グローバルブラックベルトの畑﨑 恵介 氏

 それが、お話をよくよく聞いてみると、先ほど成迫さんが話されたように、幅広いユースケースを想定した“人間臭い”ロボットを目指されていることが分かりました。その実現に向けて生成AIを応用したロボットの制御コードの自動生成を検討されているとことで、正直、少なからぬ苦労を覚悟したものです。

 特にその時点では、生成AI技術による生成物は、その正しさや出力形式を原理的に保証するのが難しく、生成された制御コードをそのまま実行してもロボットが正常に動作しない場合もあり、これをどう解決するかが大きな課題になると感じたからです。当時、世界的に見ても、こうした取り組みは見当たりませんでした。

 そこに運良く「入力されたテキストに対する適切な関数(行動)の選択」という新機能が生成AIに追加されたのです。この機能によって、ロボットには実行可能な動きを関数として複数登録しておけば、人からの指示に対して最適と判断した関数を選択し実行できるようになったのです。

生成AIの新機能によりロボットの柔軟な動作が実現可能に

阿佐 志保(以下、阿佐)  日本マイクロソフト カスタマーサクセス事業本部App Innovationアーキテクト第一本部クラウドソリューションアーキテクトの阿佐 志保です。例えばロボットには「ベルを鳴らす」という関数が登録されているとします。人が「ベルを2回鳴らして」と指示すれば、生成AIは「ベルを鳴らす」という関数を実行すれば良いと答えます。合わせて関数の実行に必要な引数として「2回」も提示することで、プログラム側では「ベルを鳴らす」という関数を「2回」実行することになります。

 つまり、個々の動きを人が指定しなくても、「自分が実行可能な行動(登録されている関数)」の中から、必要な動きや、その順序や回数など「何をやれば良いのか」をロボット自身が判断し動作できるのです。「ネジを締めてほしい」「部品を取り付けてほしい」などの関数を追加していけば、ロボットのふるまいも増やせます。

 新機能を実際に試したところ、それまで試行錯誤してきた生成AIを使って都度の制御コードを生成する手法よりも、ロボットの動作精度を格段に高められました。以後、ロボットの制御手法は、新機能を活用した仕組みに見直しました。特にインタフェースとしての能力の高さに驚いています。

 従来のロボットは、できないことを指示されると「できない」となるだけです。それが生成AIを利用すると、与えられている関数群から「この作業ならできる」と提案が可能です。例えばコーヒーという対象に対し、人が「(水と比べて)黒いほう」とか「眠気が覚める飲み物」などと指示すれば、生成AIはネット上での事前学習によって、それがコーヒーだと判断できます。

 こうした動きを実現するためには、従来は行動分岐のために膨大なコードを記述する必要がありました。生成AIなら「それ」や「あれ」といった言葉が何を指しているのかまで判断し、現実世界の動きに収束させるかたちでロボットを動作させられるのです。

 ロボットに登録する関数の開発には、ソフトウェア開発基盤「GitHub」用の生成AI機能「GitHub Copilot」を利用しています。GitHub Copilotは、開発者が記述したコードの文脈を読み取り、次に書くべきコードを推奨できるため、短期開発やコスト削減などの面で大いに役立っています。

 こうしたGitHub Copilotを使ってロボットを動作させる関数を高速に開発し、生成AIの機能によりロボットに思考させて必要な関数を呼び出すという仕組みは、当社独自のロボット制御技術「Generative-AI-Robot Technology」の柱にもなっています。

宮坂 航亮(以下、宮坂)  日本マイクロソフト クラウドandAIソリューション事業本部アプリイノベーションスペシャリストの宮坂 航亮です。GitHub Copilotは我々もAzure OpenAI Serviceを使ったロボットの実行基盤の開発に活用しています。

写真5:日本マイクロソフト クラウドandAIソリューション事業本部アプリイノベーションスペシャリストの宮坂 航亮 氏

 協働ロボの実行基盤としては、社会実装を考慮すれば、拡張性や共通機能の範囲、機能追加のためのレイヤーといったアーキテクチャーを検討し実装する必要があります。そこにGitHub Copilotを利用することで、基本アーキテクチャーの実装は2日間で完了できました。コードの自動生成だけでなく、コードを理解するための説明文の挿入やエラー原因の探索など作業負荷が大幅に軽減され、頭を使うべき作業に集中できたからです。