ROS-LLM プロジェクトは、身体化されたインテリジェンス アプリケーションのための ROS フレームワークです。これにより、ROS 上で動作するあらゆるロボットの自然言語対話と、ロボットの動作とナビゲーションの大規模なモデルベースの制御が可能になります。
ROS-LLM を使用すると、GPT-4 や ChatGPT などの大規模言語モデルに基づく機能をロボットの意思決定と制御に利用できるようになります。
このフレームワークは、簡単に拡張できるように設計されています。提供されている例に従って、ロボットに関数インターフェイスを提供するだけで、10 分以内に ROS-LLM を統合して使用できます。
ROS-LLM は、あらゆるロボットでインタラクティブな制御エクスペリエンスを迅速に作成するためのシンプルなソリューションを提供します。
? ROS 統合: ロボット オペレーティング システム (ROS) とスムーズに連携して、拡張的なロボット制御を実現します。
?大規模言語モデルのサポート: GPT-4 と ChatGPT を活用して、意思決定とタスク管理を強化します。
自然なインタラクション: 会話による対話を通じてロボットとの直感的なコミュニケーションを促進します。
柔軟な制御: 言語モデルの解釈に基づいたモーションやナビゲーションなどのタスクに LLM ベースのシステムを利用します。
?簡素化された拡張性: ロボット機能をシームレスに統合するための簡単なインターフェイスを提供します。
クイック開発: インタラクティブなロボット制御エクスペリエンスを迅速に、場合によっては 10 分以内に作成します。
説明例: 理解と実装を容易にするための包括的なチュートリアルと例を提供します。
?️履歴ストレージ: 便利な確認と参照のためにローカル チャット履歴を保持します。
ROS-LLM をセットアップするには、以下の手順に従ってください。
1. リポジトリのクローンを作成します。
以下のコマンドを使用してリポジトリのクローンを作成します。
git clone https://github.com/Auromix/ROS-LLM.git
2. 依存関係をインストールします。
llm_install
ディレクトリに移動し、インストール スクリプトを実行します。
cd ROS-LLM/llm_install
bash dependencies_install.sh
3. OpenAI 設定を構成します。
OpenAI API キーをお持ちでない場合は、OpenAI Platform から取得できます。以下のスクリプトを使用して、OpenAI API キーを構成します。
cd ROS-LLM/llm_install
bash config_openai_api_key.sh
4. AWS 設定を構成します (オプション):
クラウドの自然なインタラクション機能については、AWS 設定を構成します。ローカル ASR を使用する場合は、この手順を省略できます。
低パフォーマンスのエッジ組み込みプラットフォームの場合は、コンピューティング負荷を軽減するために ASR クラウド サービスを使用することをお勧めします。また、高性能の個人ホストの場合は、応答を高速化するためにローカル ASR サービスを使用することをお勧めします。
cd ROS-LLM/llm_install
bash config_aws.sh
4. OpenAI Whisper 設定を構成します (オプション):
ローカルの自然なインタラクション機能については、OpenAI Whisper 設定を構成します。クラウド ASR を使用する場合は、この手順をスキップできます。
低パフォーマンスのエッジ組み込みプラットフォームの場合は、コンピューティング負荷を軽減するために ASR クラウド サービスを使用することをお勧めします。また、高性能の個人ホストの場合は、応答を高速化するためにローカル ASR サービスを使用することをお勧めします。
pip install -U openai-whisper
pip install setuptools-rust
5. ワークスペースを構築します。
ワークスペース ディレクトリに移動し、ワークスペースを構築します。
cd < your_ws >
rosdep install --from-paths src --ignore-src -r -y # Install dependencies
colcon build --symlink-install
6. デモを実行します。
セットアップ スクリプトを入手し、クラウド ASR を使用して Turtlesim デモを起動します。
source < your_ws > /install/setup.bash
ros2 launch llm_bringup chatgpt_with_turtle_robot.launch.py
聞き始める
ros2 topic pub /llm_state std_msgs/msg/String " data: 'listening' " -1
独自のロボットでフレームワークを使用するには、ロボットの仕様に合わせてllm_robot
およびllm_config
パッケージを変更します。これにより、ロボットの動作をカスタマイズできます。
私たちは、コミュニティの開発者やロボット技術者により良いサービスを提供できるよう、ROS-LLM の強化に継続的に取り組んでいます。今後のアップデートで予定されている主な開発は以下のとおりです。
エージェント メカニズムを追加すると、長いシーケンスのタスクを適切に分割できるようになります。
ロボットが外部機能から情報を受け取るためのフィードバック機構を追加する予定です。これは、モデルベースの意思決定プロセスを大幅に支援します。
ロボットナビゲーション用の新しいインターフェースも開発中です。これにより、ナビゲーション指向のタスクでこのフレームワークを利用できるようになります。
他のセンサー入力インターフェイスの追加も大きな進歩です。これにより、環境認識がモデルの決定前提に組み込まれ、障害物回避などの機能が準備されます。
私たちは、Palm-e のような視覚入力を可能にするモデルを統合することで、ROS-LLM の機能を拡張することを目指しています。これにより、高度なコンピュータ ビジョン テクノロジを使用して、環境との相互作用を改善できるようになります。
最後になりましたが、フレームワークの継続的な最適化に焦点を当てます。私たちは、開発者がニーズに応じてフレームワークをカスタマイズおよび拡張しやすくするために、ROS-LLM の合理性と拡張性を向上させることに取り組んでいます。
更新については、このリポジトリに注目してください。あなたの提案や貢献はいつでも大歓迎です!
このプロジェクトが役立つと思われる場合は、GitHub で ️ スターを付けることをご検討ください。あなたのサポートはプロジェクトを改善し、さらなる開発を促進するのに役立ちます。役に立つかもしれない友人や同僚と共有することも忘れないでください。ご支援ありがとうございます!
貢献は大歓迎です!プル リクエストを送信する前に、コントリビュート ガイドラインをお読みください。
Copyright 2023 Herman Ye @Auromix
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.