Skip to main content

image
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)

Spot YouTube Thumbnail

🚀 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.

https://github.com/user-attachments/assets/77b97014-6d2e-4123-8d0b-ea0916d93a4e

For detailed instructions on setting up and running the TurtleSim demo, please refer to our TurtleSim Demo Guide in the Wiki.

IsaacSim Extension (Coming Soon)

ROSA is coming to Nvidia IsaacSim! While you can already use ROSA with robots running in IsaacSim (using the ROS/ROS2 bridge), we are adding direct integration in the form of an IsaacSim extension. This will allow you not only to control your robots in IsaacSim, but control IsaacSim itself. Check out the video below to learn mroe.

ROSA Demo: Nvidia IsaacSim Extension (click for YouTube)

Carter YouTube Thumbnail Play

📘 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.

Metadata

Release files for jpl-rosa 1.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jpl-rosa 1.0.10
File Size Uploaded
jpl_rosa-1.0.10.tar.gz 48.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jpl-rosa 1.0.10
File Interpreter ABI Platform
jpl_rosa-1.0.10-py3-none-any.whl Python 3 none any Details

Total release size: 104.0 kB

Release files / jpl_rosa-1.0.10.tar.gz

Download URL jpl_rosa-1.0.10.tar.gz
Size 48.4 kB
Tags Source
SHA-256 checksum
How to use checksums
027917167f5df5616b42060bf79f0a2f8ea795a03d89c96b240c65128ade77dd
BLAKE2b-256 checksum
How to use checksums
5af3b055e9ff1a58f1842f9cb2f1b9fdcb0192b901c3347651f9ae0b69497a18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / jpl_rosa-1.0.10-py3-none-any.whl

Download URL jpl_rosa-1.0.10-py3-none-any.whl
Size 55.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2afd7309d28dcebf8801dc9099a7d11492ec9d22262348f4730d47795644616e
BLAKE2b-256 checksum
How to use checksums
d67b59b4f0b6b2736e6051ad8fd83d62683f1e381d55eeb0b54a08ec43c725b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.0.10 This release

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page