近年注目されているLLM,VLMなどの生成AIを活用したロボット制御AIエージェントフレームワーク「RAI」を利用し、言語による実機アームロボットの物体把持を検証。
また、従来の手法と比較し、必要工数についても評価を行った
近年、ChatGPTの登場を契機に、LLM(大規模言語モデル)やVLM(視覚言語モデル)、M365 Copilotなどの生成AIを活用したビジネスの可能性が広がり、ロボット制御分野でもVoxPoserやRT-2等の研究やPoCが増加しています。言語を用いることでアームロボットやAMR(自律移動ロボット)の制御が簡易化され、導入のハードルが下がるとともに、製造現場における生産性向上やコスト削減に寄与できると考え、当社でもその可能性について調査を進めています。
製造現場のような少量多品種生産を行う業種では、生産する製品が頻繁に変更されるため、ティーチング工数や標準化コストが増加する傾向にあります。このような現場で、生成AIを活用することにより、柔軟かつ効率的にロボット制御が行える可能性が高いと考えています。
当初、Open-VLAのような生成AIを業務に合わせてファインチューニングを行うライブラリを調査していました。しかし、環境や対象物体が変わるたびに再学習が必要となり、実際の現場で使用するにはコストが高いという課題が浮かび上がりました。
そこで本事例では、AIエージェントフレームワーク「RAI」を使用し、アームロボットによる物体把持の検証を行いました。AIエージェントとは、LLMを活用してタスクを理解し、適切なツールを選定・実行するシステムです。例えば、物体認識機能とロボット制御機能をエージェントに認識させて物体把持を命令することで、エージェントは両者を組み合わせてロボットを制御し、物体把持を実現します。
RAIは、ROS 2を基盤にLangChainを活用して実装したAIエージェントフレームワークで、VLM「Grounding DINO」を用いた物体検出や、ROS2との通信、アーム制御および自律移動ロボット機能を実装しています。RAIの機能群はPythonベースで実装されており、これにより開発者が新しい機能を追加・カスタマイズできる拡張性を提供しています。
まず、アームロボット、カメラ、物体を用意し、RAIへの命令から物体識別および把持が可能かを検証しました。RAIには元々搭載されている機能に加え、実機制御部分など不足していた機能について追加実装を行いました。
動画のように、「grab a black eraser.」と指示すると、黒い消しゴムを認識して把持し、「grab a pink eraser.」と指示すると、ピンクの消しゴムを把持していることが確認できます。また、指定したポイントで物体を離すといった制御も行っています。結果として各命令に対して物体を識別し、物体の把持が可能であることを確認しました。また、grab and releaseのように把持とリリースを一文で命令し、連続して動作することも別途確認を行っています。
また、RAIを用いた物体把持システムと既存の手法(ティーチングによる固定位置把持、プログラムによるランダムピッキング)を比較するために、各手法でシステムを構築し、タスクを行う際の初回作業量(工数)と2回目以降の作業量を検討しました。各システムの概要と工数は以下の通りです。初期工数についてはRAIも既存手法と同様に時間がかかるものの、追加作業においては、学習なしで検出できるVLMなどを活用することで、従来より工数が少なくなるという結論を出しました。
エージェントフレームワークで実際に物体を把持ができることを確認、既存手法との比較では、初期の工数には時間がかかるものの、追加作業時の調整時間の短縮が期待できることが示され、少量多品種の現場における生産性向上が期待できます。今後の検証として、業務に即したタスクや自律移動ロボットの制御や複数制御への適用等、生成AIに関する検証を検討しております。
当社では、先端的な技術を日々調査・研究し、ROS(ROS2)を活用した技術を保有しています。今後もお客様にご満足いただける開発を目指して、日々取り組んでまいります。
ROSとROS2開発はぜひ、
富士ソフトにご用命ください!