ROS-LLM:基于 ROS 生态的具身智能框架项目

ROS-LLM is a framework designed for embodied intelligence applications in ROS. It allows natural language interactions and leverages Large Language Models (LLMs) for decision-making and robot control. With an easy configuration process, this framework allows for swift integration, enabling your robot to operate with it in as little as ten minutes.

分支2Tags0
文件最后提交记录最后更新时间
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前
2 年前

ROS-LLM

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 平台 获取。使用以下脚本来配置你的 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 <你的工作区>
rosdep install --from-paths src --ignore-src -r -y  # 安装依赖
colcon build --symlink-install

6. 运行演示:

源化设置脚本,并使用云端 ASR 启动 TurtleSim 演示。

source <你的工作区>/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_robotllm_config 包以适应你机器人的规格。这允许你自定义机器人的行为。

🧑‍💻 未来开发计划

我们持续努力改进 ROS-LLM,以更好地服务于社区中的开发者和机器人专家。以下是未来更新中计划的关键开发:

  • 代理机制

添加代理机制以更好地分割长序列任务。

  • 外部函数反馈通道

我们计划添加一种让机器人从外部功能接收信息的机制。这将极大地辅助模型基

👋致用户

如果您觉得这个项目对您有所帮助,请考虑在GitHub上给它点一个✨星标!您的支持能帮助我们改进项目,并激发更进一步的发展。别忘了也把它分享给可能受益的朋友和同事哦。感谢您的支持!

🏆 贡献指南

欢迎贡献!在提交Pull Request之前,请先阅读贡献指南

📄 许可证

版权所有 2023 额尔赫尼·叶@Auromix
根据Apache License 2.0(“许可”)授权;
除非遵守许可,否则您不得使用此文件。
您可以在此处获取许可的副本:http://www.apache.org/licenses/LICENSE-2.0
除非根据适用法律要求或书面同意,软件
在许可下分发是基于“原样”基础的,
没有任何明示或暗示的保证或条件。
参阅许可以了解特定的权限和限制规定。 

项目介绍

ROS-LLM 是专为 ROS 中的具身智能应用而设计的框架。它支持自然语言交互,并利用大型语言模型(LLMs)进行决策和机器人控制。通过简单的配置过程,该框架能够快速集成,使您的机器人仅需十分钟即可与之协同运作。【此简介由AI生成】

定制我的领域