ROS Agents เป็นเฟรมเวิร์กที่โหลดเต็มรูปแบบสำหรับการสร้างตัวแทนแบบโต้ตอบที่สามารถเข้าใจ จดจำ และดำเนินการตามข้อมูลเชิงบริบทจากสภาพแวดล้อมของพวกเขา
คำแนะนำในการติดตั้งชำระเงิน
เริ่มต้นใช้งานคู่มือเริ่มต้นใช้งานฉบับย่อ
ทำความคุ้นเคยกับแนวคิดพื้นฐาน
เจาะลึกด้วยตัวอย่าง
ROS Agents ถูกสร้างขึ้นเพื่อใช้กับ ROS2 รองรับการกระจาย ROS ทั้งหมดที่เริ่มต้นจาก Iron ติดตั้ง ROS2 โดยทำตามคำแนะนำบนเว็บไซต์อย่างเป็นทางการ
แกนหลักของตัวแทน ROS นั้นไม่เชื่อเรื่องพระเจ้าในการสร้างแบบจำลองแพลตฟอร์มการให้บริการ ปัจจุบันรองรับ Ollama และ RoboML โปรดติดตั้งอย่างใดอย่างหนึ่งเหล่านี้โดยทำตามคำแนะนำที่ให้ไว้โดยโครงการที่เกี่ยวข้อง การสนับสนุนสำหรับแพลตฟอร์มใหม่จะถูกเพิ่มอย่างต่อเนื่อง หากคุณต้องการสนับสนุนแพลตฟอร์มใดแพลตฟอร์มหนึ่ง โปรดเปิดประเด็น/ประชาสัมพันธ์
แพ็คเกจไบนารีสำหรับ Ubuntu จะเปิดตัวเร็ว ๆ นี้ ตรวจสอบพื้นที่นี้
ติดตั้งการพึ่งพาหลาม
pip install pillow numpy opencv-python-headless ' attrs>=23.2.0 ' jinja2 httpx setproctitle msgpack msgpack-numpy numpy-quaternion
ดาวน์โหลด ROS Sugar
git clone https://github.com/automatika-robotics/ros-sugar
git clone https://github.com/automatika-robotics/ros-agents.git
cd ..
colcon build
source install/setup.bash
python your_script.py
ไม่เหมือนกับแพ็คเกจ ROS อื่นๆ ROS Agent มอบวิธีการอธิบายกราฟโหนดโดยใช้ ROS Sugar ในรูปแบบไพโธนิกอย่างแท้จริง คัดลอกโค้ดต่อไปนี้ในสคริปต์ Python แล้วรัน
from agents . clients . ollama import OllamaClient
from agents . components import MLLM
from agents . models import Llava
from agents . ros import Topic , Launcher
# Define input and output topics (pay attention to msg_type)
text0 = Topic ( name = "text0" , msg_type = "String" )
image0 = Topic ( name = "image_raw" , msg_type = "Image" )
text1 = Topic ( name = "text1" , msg_type = "String" )
# Define a model client (working with Ollama in this case)
llava = Llava ( name = "llava" )
llava_client = OllamaClient ( llava )
# Define an MLLM component (A component represents a node with a particular functionality)
mllm = MLLM (
inputs = [ text0 , image0 ],
outputs = [ text1 ],
model_client = llava_client ,
trigger = [ text0 ],
component_name = "vqa"
)
# Additional prompt settings
mllm . set_topic_prompt ( text0 , template = """You are an amazing and funny robot.
Answer the following about this image: {{ text0 }}"""
)
# Launch the component
launcher = Launcher ()
launcher . add_pkg ( components = [ mllm ])
launcher . bringup ()
และเช่นเดียวกับที่เรามีตัวแทนที่สามารถตอบคำถามเช่น 'คุณเห็นอะไร' - หากต้องการโต้ตอบกับตัวแทนนี้ ตัวแทน ROS จะรวมเว็บไคลเอ็นต์ขนาดเล็กไว้ด้วย ดูคู่มือเริ่มต้นใช้งานฉบับย่อเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานร่วมกันของส่วนประกอบและรุ่น
ตัวอย่างการเริ่มต้นอย่างรวดเร็วด้านบนเป็นเพียงความสนุกของสิ่งที่เป็นไปได้ด้วยตัวแทน ROS ใน ROS Agent เราสามารถสร้างกราฟส่วนประกอบที่ซับซ้อนได้ตามต้องการ นอกจากนี้ระบบของเรายังสามารถกำหนดค่าให้เปลี่ยนแปลงหรือกำหนดค่าใหม่ตามเหตุการณ์ภายในหรือภายนอกระบบได้ ตรวจสอบรหัสสำหรับตัวแทนต่อไปนี้ที่นี่
รหัสในการแจกจ่ายนี้เป็นลิขสิทธิ์ (c) 2024 Automatika Robotics เว้นแต่จะระบุไว้เป็นอย่างอื่นอย่างชัดเจน
ROS Agents มีให้บริการภายใต้ใบอนุญาต MIT รายละเอียดสามารถพบได้ในไฟล์ LICENSE
ROS Agents ได้รับการพัฒนาโดยความร่วมมือระหว่าง Automatika Robotics และ Inria การมีส่วนร่วมจากชุมชนเป็นที่ยินดีมากที่สุด