Proyek ROS-LLM adalah kerangka kerja ROS untuk aplikasi intelijen yang diwujudkan. Hal ini memungkinkan interaksi bahasa alami dan kontrol gerakan robot dan navigasi berbasis model besar untuk robot apa pun yang beroperasi pada ROS.
ROS-LLM memberdayakan Anda untuk memanfaatkan fungsionalitas berdasarkan Model Bahasa Besar, seperti GPT-4 dan ChatGPT, untuk pengambilan keputusan dan kontrol robot.
Kerangka kerja ini dirancang agar mudah diperluas. Dengan hanya menyediakan antarmuka fungsi untuk robot Anda, mengikuti contoh yang diberikan, Anda dapat mengintegrasikan dan menggunakan ROS-LLM dalam waktu sepuluh menit.
ROS-LLM menawarkan solusi sederhana untuk menciptakan pengalaman interaktif dan kontrol dengan robot apa pun dengan cepat.
? Integrasi ROS : Berinteraksi dengan lancar dengan Sistem Operasi Robot (ROS) untuk kontrol robot yang luas.
? Dukungan Model Bahasa Besar : Memanfaatkan GPT-4 dan ChatGPT untuk meningkatkan pengambilan keputusan dan manajemen tugas.
Interaksi Alami : Memfasilitasi komunikasi intuitif dengan robot melalui interaksi percakapan.
Kontrol Fleksibel : Memanfaatkan sistem berbasis LLM untuk tugas-tugas seperti gerak dan navigasi berdasarkan interpretasi model bahasa.
? Ekstensibilitas yang Disederhanakan : Menyediakan antarmuka yang mudah untuk integrasi fungsi robot tanpa hambatan.
Perkembangan Cepat : Menciptakan pengalaman kontrol robot interaktif dengan cepat, terkadang dalam waktu kurang dari sepuluh menit.
Contoh Instruksional : Menawarkan tutorial dan contoh komprehensif untuk pemahaman dan implementasi yang lebih mudah.
?️ Penyimpanan Riwayat : Menyimpan riwayat obrolan lokal untuk kemudahan peninjauan dan referensi.
Ikuti petunjuk di bawah ini untuk menyiapkan ROS-LLM:
1. Kloning Repositori:
Gunakan perintah di bawah ini untuk mengkloning repositori.
git clone https://github.com/Auromix/ROS-LLM.git
2. Instal Dependensi:
Arahkan ke direktori llm_install
dan jalankan skrip instalasi.
cd ROS-LLM/llm_install
bash dependencies_install.sh
3. Konfigurasikan Pengaturan OpenAI:
Jika Anda tidak memiliki kunci API OpenAI, Anda dapat memperolehnya dari OpenAI Platform. Gunakan skrip di bawah ini untuk mengonfigurasi kunci API OpenAI Anda.
cd ROS-LLM/llm_install
bash config_openai_api_key.sh
4. Konfigurasikan Pengaturan AWS (Opsional):
Untuk kemampuan interaksi alami cloud, konfigurasikan pengaturan AWS. Jika Anda lebih suka menggunakan ASR lokal, langkah ini dapat dilewati.
Untuk platform tertanam edge berkinerja rendah, disarankan untuk menggunakan layanan cloud ASR untuk mengurangi tekanan komputasi, dan untuk host pribadi berkinerja tinggi, disarankan untuk menggunakan layanan ASR lokal untuk mempercepat respons
cd ROS-LLM/llm_install
bash config_aws.sh
4. Konfigurasikan Pengaturan OpenAI Whisper (Opsional):
Untuk kemampuan interaksi alami lokal, konfigurasikan pengaturan OpenAI Whisper. Jika Anda lebih suka menggunakan cloud ASR, langkah ini dapat dilewati.
Untuk platform tertanam edge berkinerja rendah, disarankan untuk menggunakan layanan cloud ASR untuk mengurangi tekanan komputasi, dan untuk host pribadi berkinerja tinggi, disarankan untuk menggunakan layanan ASR lokal untuk mempercepat respons
pip install -U openai-whisper
pip install setuptools-rust
5. Bangun Ruang Kerja:
Navigasikan ke direktori ruang kerja Anda dan bangun ruang kerja.
cd < your_ws >
rosdep install --from-paths src --ignore-src -r -y # Install dependencies
colcon build --symlink-install
6. Jalankan Demonya:
Sumber skrip pengaturan dan luncurkan demo Turtlesim dengan cloud ASR.
source < your_ws > /install/setup.bash
ros2 launch llm_bringup chatgpt_with_turtle_robot.launch.py
mulai mendengarkan
ros2 topic pub /llm_state std_msgs/msg/String " data: 'listening' " -1
Untuk menggunakan kerangka kerja dengan robot Anda sendiri, modifikasi paket llm_robot
dan llm_config
agar sesuai dengan spesifikasi robot Anda. Ini memungkinkan Anda untuk menyesuaikan perilaku robot Anda.
Kami terus berupaya untuk meningkatkan ROS-LLM agar dapat melayani para pengembang dan ahli robotik di komunitas dengan lebih baik. Berikut adalah perkembangan utama yang kami rencanakan untuk dilakukan dalam pembaruan mendatang:
Menambahkan mekanisme agen memungkinkan tugas-tugas yang berurutan panjang dapat dibagi dengan baik.
Kami berencana menambahkan mekanisme umpan balik agar robot dapat menerima informasi dari fungsi eksternal. Hal ini secara signifikan akan membantu proses pengambilan keputusan berbasis model.
Antarmuka baru untuk navigasi robot juga sedang direncanakan. Ini akan memungkinkan pemanfaatan kerangka kerja ini dalam tugas-tugas berorientasi navigasi.
Penambahan antarmuka masukan sensor lainnya merupakan perkembangan besar lainnya. Hal ini akan memasukkan persepsi lingkungan ke dalam model pengambilan keputusan, mempersiapkan fungsi seperti penghindaran rintangan.
Kami bertujuan untuk memperluas kemampuan ROS-LLM dengan mengintegrasikan model yang memungkinkan masukan visual, seperti Palm-e. Hal ini akan memungkinkan penggunaan teknologi visi komputer canggih untuk interaksi lingkungan yang lebih baik.
Terakhir, kami akan fokus pada optimalisasi kerangka kerja secara berkelanjutan. Kami berkomitmen untuk meningkatkan rasionalitas dan ekstensibilitas ROS-LLM untuk memudahkan pengembang menyesuaikan dan memperluas kerangka kerja sesuai kebutuhan mereka.
Pantau repo ini untuk pembaruan. Saran dan kontribusi Anda selalu diterima!
Jika Anda merasa proyek ini bermanfaat, mohon pertimbangkan untuk memberikannya ️ bintang di GitHub! Dukungan Anda membantu kami meningkatkan proyek dan mendorong pengembangan lebih lanjut. Jangan lupa juga untuk membagikannya kepada teman dan rekan anda yang mungkin bermanfaat. Terima kasih atas dukungan Anda!
Kontribusi dipersilahkan! Harap baca pedoman kontribusi sebelum mengirimkan permintaan penarikan.
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.