ROS 에이전트는 환경의 상황별 정보를 이해하고, 기억하고, 이에 따라 조치를 취할 수 있는 대화형 구현 에이전트를 생성하기 위한 완전히 로드된 프레임워크입니다.
체크아웃 설치 지침
빠른 시작 가이드로 시작하기
기본 개념 익히기
예제를 통해 바로 살펴보세요
ROS 에이전트는 ROS2와 함께 사용하도록 제작되었습니다. Iron 에서 시작하는 모든 ROS 배포판이 지원됩니다. 공식 사이트의 지침에 따라 ROS2를 설치하세요.
ROS 에이전트의 핵심은 모델 제공 플랫폼에 구애받지 않습니다. 현재 Ollama와 RoboML을 지원합니다. 해당 프로젝트에서 제공하는 지침에 따라 이들 중 하나를 설치하십시오. 새로운 플랫폼에 대한 지원은 지속적으로 추가될 예정입니다. 특정 플랫폼을 지원하고 싶다면 이슈/PR을 열어주세요.
Ubuntu용 바이너리 패키지가 곧 출시될 예정입니다. 이 공간을 확인해 보세요.
Python 종속성 설치
pip install pillow numpy opencv-python-headless ' attrs>=23.2.0 ' jinja2 httpx setproctitle msgpack msgpack-numpy numpy-quaternion
ROS 설탕 다운로드
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 에이전트는 ROS Sugar를 사용하여 노드 그래프를 설명하는 순수한 Python 방식을 제공합니다. 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 에이전트에서는 임의로 정교한 구성 요소 그래프를 만들 수 있습니다. 또한 시스템 내부 또는 외부 이벤트에 따라 자체적으로 변경하거나 재구성하도록 시스템을 구성할 수도 있습니다. 여기에서 다음 에이전트의 코드를 확인하세요.
이 배포판의 코드는 별도로 명시하지 않는 한 Copyright (c) 2024 Automatika Robotics의 소유입니다.
ROS 에이전트는 MIT 라이선스에 따라 제공됩니다. 자세한 내용은 LICENSE 파일에서 확인할 수 있습니다.
ROS 에이전트는 Automatika Robotics와 Inria가 공동으로 개발했습니다. 커뮤니티의 기여를 환영합니다.