Das ROS-LLM-Projekt ist ein ROS-Framework für verkörperte Intelligenzanwendungen. Es ermöglicht Interaktionen in natürlicher Sprache und eine umfassende modellbasierte Steuerung der Roboterbewegung und -navigation für jeden Roboter, der mit ROS arbeitet.
ROS-LLM ermöglicht Ihnen die Nutzung von Funktionalitäten, die auf großen Sprachmodellen wie GPT-4 und ChatGPT basieren, für die Entscheidungsfindung und Steuerung von Robotern.
Dieses Framework ist so konzipiert, dass es leicht erweiterbar ist. Indem Sie einfach eine Funktionsschnittstelle für Ihren Roboter bereitstellen und dem bereitgestellten Beispiel folgen, können Sie ROS-LLM innerhalb von zehn Minuten integrieren und verwenden.
ROS-LLM bietet eine einfache Lösung für die schnelle Erstellung interaktiver und gesteuerter Erlebnisse mit jedem Roboter.
? ROS-Integration : Interagiert reibungslos mit dem Robot Operating System (ROS) für eine umfassende Robotersteuerung.
? Unterstützung großer Sprachmodelle : Nutzt GPT-4 und ChatGPT für eine verbesserte Entscheidungsfindung und Aufgabenverwaltung.
Natürliche Interaktion : Erleichtert die intuitive Kommunikation mit Robotern durch Dialogeinbindung.
Flexible Steuerung : Nutzt LLM-basierte Systeme für Aufgaben wie Bewegung und Navigation basierend auf der Interpretation von Sprachmodellen.
? Vereinfachte Erweiterbarkeit : Bietet eine einfache Schnittstelle für die nahtlose Integration von Roboterfunktionen.
Schnelle Entwicklung : Erstellt schnell interaktive Robotersteuerungserlebnisse, manchmal in weniger als zehn Minuten.
Lehrbeispiele : Bietet umfassende Tutorials und Beispiele zum leichteren Verständnis und zur leichteren Umsetzung.
?️ Verlaufsspeicherung : Behält lokale Chat-Verläufe zur bequemen Überprüfung und Referenz bei.
Befolgen Sie die nachstehenden Anweisungen, um ROS-LLM einzurichten:
1. Klonen Sie das Repository:
Verwenden Sie den folgenden Befehl, um das Repository zu klonen.
git clone https://github.com/Auromix/ROS-LLM.git
2. Abhängigkeiten installieren:
Navigieren Sie zum Verzeichnis llm_install
und führen Sie das Installationsskript aus.
cd ROS-LLM/llm_install
bash dependencies_install.sh
3. Konfigurieren Sie die OpenAI-Einstellungen:
Wenn Sie keinen OpenAI-API-Schlüssel haben, können Sie einen von der OpenAI-Plattform erhalten. Verwenden Sie das folgende Skript, um Ihren OpenAI-API-Schlüssel zu konfigurieren.
cd ROS-LLM/llm_install
bash config_openai_api_key.sh
4. Konfigurieren Sie die AWS-Einstellungen (optional):
Für Funktionen zur natürlichen Interaktion mit der Cloud konfigurieren Sie die AWS-Einstellungen. Wenn Sie lieber lokales ASR verwenden möchten, kann dieser Schritt übersprungen werden.
Für Edge-Embedded-Plattformen mit geringer Leistung wird empfohlen, ASR-Cloud-Dienste zu verwenden, um den Rechendruck zu verringern, und für persönliche Hosts mit hoher Leistung wird empfohlen, lokale ASR-Dienste zu verwenden, um die Reaktion zu beschleunigen
cd ROS-LLM/llm_install
bash config_aws.sh
4. Konfigurieren Sie die OpenAI Whisper-Einstellungen (optional):
Für lokale natürliche Interaktionsfunktionen konfigurieren Sie die OpenAI Whisper-Einstellungen. Wenn Sie lieber Cloud-ASR verwenden möchten, kann dieser Schritt übersprungen werden.
Für Edge-Embedded-Plattformen mit geringer Leistung wird empfohlen, ASR-Cloud-Dienste zu verwenden, um den Rechendruck zu verringern, und für persönliche Hosts mit hoher Leistung wird empfohlen, lokale ASR-Dienste zu verwenden, um die Reaktion zu beschleunigen
pip install -U openai-whisper
pip install setuptools-rust
5. Erstellen Sie den Arbeitsbereich:
Navigieren Sie zu Ihrem Arbeitsbereichsverzeichnis und erstellen Sie den Arbeitsbereich.
cd < your_ws >
rosdep install --from-paths src --ignore-src -r -y # Install dependencies
colcon build --symlink-install
6. Führen Sie die Demo aus:
Besorgen Sie sich das Setup-Skript und starten Sie die Turtlesim-Demo mit Cloud-ASR.
source < your_ws > /install/setup.bash
ros2 launch llm_bringup chatgpt_with_turtle_robot.launch.py
Fang an zuzuhören
ros2 topic pub /llm_state std_msgs/msg/String " data: 'listening' " -1
Um das Framework mit Ihrem eigenen Roboter zu verwenden, ändern Sie die Pakete llm_robot
und llm_config
entsprechend den Spezifikationen Ihres Roboters. Dadurch können Sie das Verhalten Ihres Roboters individuell anpassen.
Wir sind kontinuierlich bestrebt, ROS-LLM zu verbessern, um den Entwicklern und Robotikern in der Community einen besseren Service zu bieten. Nachfolgend sind die wichtigsten Entwicklungen aufgeführt, die wir in den kommenden Updates planen:
Durch das Hinzufügen eines Agentenmechanismus können Aufgaben mit langer Abfolge gut aufgeteilt werden.
Wir planen, einen Feedback-Mechanismus hinzuzufügen, damit der Roboter Informationen von externen Funktionen erhält. Dies würde modellbasierte Entscheidungsprozesse erheblich unterstützen.
Auch eine neue Schnittstelle zur Roboternavigation ist in Planung. Es wird die Nutzung dieses Frameworks für navigationsorientierte Aufgaben ermöglichen.
Die Hinzufügung weiterer Sensoreingangsschnittstellen ist eine weitere wichtige Entwicklung. Dadurch wird die Umweltwahrnehmung in modellhafte Entscheidungsprämissen einbezogen und auf Funktionalitäten wie die Vermeidung von Hindernissen vorbereitet.
Unser Ziel ist es, die Fähigkeiten von ROS-LLM durch die Integration von Modellen zu erweitern, die visuelle Eingaben ermöglichen, wie z. B. Palm-e. Dies würde den Einsatz fortschrittlicher Computer-Vision-Technologien für eine bessere Interaktion mit der Umwelt ermöglichen.
Zu guter Letzt werden wir uns auf die kontinuierliche Optimierung des Frameworks konzentrieren. Wir sind bestrebt, die Rationalität und Erweiterbarkeit von ROS-LLM zu verbessern, um es Entwicklern zu erleichtern, das Framework entsprechend ihren Bedürfnissen anzupassen und zu erweitern.
Behalten Sie dieses Repo im Auge, um Updates zu erhalten. Ihre Vorschläge und Beiträge sind jederzeit willkommen!
Wenn Sie dieses Projekt nützlich finden, denken Sie bitte darüber nach, ihm auf GitHub einen Stern zu geben! Ihre Unterstützung hilft uns, das Projekt zu verbessern und fördert die Weiterentwicklung. Vergessen Sie nicht, es auch mit Ihren Freunden und Kollegen zu teilen, die davon profitieren könnten. Vielen Dank für Ihre Unterstützung!
Beiträge sind willkommen! Bitte lesen Sie die Beitragsrichtlinien, bevor Sie eine Pull-Anfrage einreichen.
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.