ROS-LLM项目是一个用于具体智能应用的ROS框架。它可以为任何在 ROS 上运行的机器人提供自然语言交互以及基于大型模型的机器人运动和导航控制。
ROS-LLM 使您能够利用基于大型语言模型的功能(例如 GPT-4 和 ChatGPT)来进行机器人决策和控制。
该框架被设计为易于扩展。只需为您的机器人提供一个功能接口,按照提供的示例,您就可以在十分钟内集成并使用 ROS-LLM。
ROS-LLM 提供了一个简单的解决方案,可以快速创建与任何机器人的交互和控制体验。
? ROS 集成:与机器人操作系统 (ROS) 顺利交互,以实现扩展的机器人控制。
?大型语言模型支持:利用 GPT-4 和 ChatGPT 来增强决策和任务管理。
自然交互:通过对话参与促进与机器人的直观交流。
灵活控制:利用基于 LLM 的系统执行基于语言模型解释的运动和导航等任务。
?简化的可扩展性:为无缝机器人功能集成提供简单的界面。
快速开发:快速创建交互式机器人控制体验,有时不到十分钟。
教学示例:提供全面的教程和示例,以便于理解和实施。
️历史记录存储:保留本地聊天记录,方便查看和参考。
请按照以下说明设置 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.