โครงการ 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 ภายใน คุณสามารถข้ามขั้นตอนนี้ได้
สำหรับแพลตฟอร์ม Edge แบบฝังตัวประสิทธิภาพต่ำ ขอแนะนำให้ใช้บริการคลาวด์ ASR เพื่อลดแรงกดดันในการประมวลผล และสำหรับโฮสต์ส่วนบุคคลประสิทธิภาพสูง ขอแนะนำให้ใช้บริการ ASR ในพื้นที่เพื่อเพิ่มความเร็วในการตอบสนอง
cd ROS-LLM/llm_install
bash config_aws.sh
4. กำหนดการตั้งค่า OpenAI Whisper (ไม่บังคับ):
สำหรับความสามารถในการโต้ตอบตามธรรมชาติในท้องถิ่น ให้กำหนดการตั้งค่า OpenAI Whisper หากคุณต้องการใช้ Cloud ASR คุณสามารถข้ามขั้นตอนนี้ได้
สำหรับแพลตฟอร์ม Edge แบบฝังตัวประสิทธิภาพต่ำ ขอแนะนำให้ใช้บริการคลาวด์ 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 ด้วย Cloud 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 เพื่อให้นักพัฒนาปรับแต่งและขยายกรอบงานตามความต้องการได้ง่ายขึ้น
จับตาดู repo นี้เพื่อรับการอัปเดต ข้อเสนอแนะและการมีส่วนร่วมของคุณยินดีต้อนรับเสมอ!
หากคุณพบว่าโปรเจ็กต์นี้มีประโยชน์ โปรดพิจารณาให้ ️ ดาวบน 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.