Skip to content
/ rosa Public

ROSA 🤖 is an AI Agent designed to interact with ROS1- and ROS2-based robotics systems using natural language queries. ROSA helps robot developers inspect, diagnose, understand, and operate robots.

License

Notifications You must be signed in to change notification settings

nasa-jpl/rosa


ROSA - The ROS Agent 🤖

  The ROS Agent (ROSA) is designed to interact with ROS-based
robotics systems using natural language queries. 🗣️🤖

arXiv ROS 1 ROS 2 License SLIM

Main Branch Dev Branch Publish Status Version Downloads

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.

ROSA Demo: NeBula-Spot in JPL's Mars Yard (click for YouTube)

ROSA Demo: NeBula-Spot in JPL's Mars Yard

🚀 Quick Start

Requirements

  • Python 3.9+
  • ROS Noetic or higher

Installation

pip3 install jpl-rosa

Usage Examples

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.

Adapting ROSA for Your Robot 🔧

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.

TurtleSim Demo 🐢

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.

📘 Learn More

Changelog

See our CHANGELOG.md for a history of our changes.

Contributing

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

License

See our: LICENSE

Support

Key points of contact are:


ROSA: Robot Operating System Agent 🤖
Copyright (c) 2024. Jet Propulsion Laboratory. All rights reserved.