Проект 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:
Если у вас нет ключа API OpenAI, вы можете получить его на платформе OpenAI. Используйте скрипт ниже, чтобы настроить ключ API OpenAI.
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. Запустите демо:
Создайте сценарий установки и запустите демо-версию Turtlesim с помощью облачного ASR.
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, чтобы лучше обслуживать разработчиков и робототехников в сообществе. Ниже приведены ключевые изменения, которые мы планируем реализовать в следующих обновлениях:
Добавление механизма агентов позволяет четко разделить задачи с длинной последовательностью.
Мы планируем добавить механизм обратной связи для получения роботом информации от внешних функций. Это значительно облегчит процессы принятия решений на основе моделей.
Новый интерфейс для навигации роботов также находится в стадии разработки. Это позволит использовать эту структуру в задачах, ориентированных на навигацию.
Еще одним важным достижением является добавление других входных интерфейсов датчиков. Это включит восприятие окружающей среды в предпосылки принятия решений модели, подготавливая такие функциональные возможности, как предотвращение препятствий.
Мы стремимся расширить возможности ROS-LLM за счет интеграции моделей, допускающих визуальный ввод, таких как Palm-e. Это позволит использовать передовые технологии компьютерного зрения для лучшего взаимодействия с окружающей средой.
И последнее, но не менее важное: мы сосредоточимся на постоянной оптимизации платформы. Мы стремимся улучшить рациональность и расширяемость 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.