The ROS Agent (ROSA) is designed to interact with ROS-based
robotics systems using natural language queries. 🗣️🤖
Important
📚 New to ROSA? Check out our Wiki for documentation, guides and FAQs!
ROSA is your AI-powered assistant for ROS1 and ROS2 systems. Built on the Langchain framework, ROSA helps you interact with robots using natural language, making robotics development more accessible and efficient.
- Python 3.9+
- ROS Noetic or higher
pip3 install jpl-rosa
from rosa import ROSA
llm = get_your_llm_here()
agent = ROSA(ros_version=1, llm=llm)
agent.invoke("Show me a list of topics that have publishers but no subscribers")
For detailed information on configuring the LLM, please refer to our Model Configuration Wiki page.
ROSA is designed to be easily adaptable to different robots and environments. You can create custom agents by either inheriting from the ROSA
class or creating a new instance with custom parameters.
For detailed information on creating custom agents, adding tools, and customizing prompts, please refer to our Custom Agents Wiki page.
We have included a demo that uses ROSA to control the TurtleSim robot in simulation. To run the demo, you will need to have Docker installed on your machine. 🐳
The following video shows ROSA reasoning about how to draw a 5-point star, then executing the necessary commands to do so.
turtle_demo.mov
For detailed instructions on setting up and running the TurtleSim demo, please refer to our TurtleSim Demo Guide in the Wiki.
See our CHANGELOG.md for a history of our changes.
Interested in contributing to our project? Please see our: CONTRIBUTING.md
For guidance on how to interact with our team, please see our code of conduct located at: CODE_OF_CONDUCT.md
For guidance on our governance approach, including decision-making process and our various roles, please see our governance model at: GOVERNANCE.md
See our: LICENSE
Key points of contact are:
Copyright (c) 2024. Jet Propulsion Laboratory. All rights reserved.