{"id":15116039,"url":"https://github.com/nasa-jpl/rosa","last_synced_at":"2025-05-14T07:10:12.871Z","repository":{"id":251828634,"uuid":"838528318","full_name":"nasa-jpl/rosa","owner":"nasa-jpl","description":"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.","archived":false,"fork":false,"pushed_at":"2025-04-21T23:07:05.000Z","size":137,"stargazers_count":1118,"open_issues_count":5,"forks_count":104,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-04-21T23:36:57.180Z","etag":null,"topics":["agents","ai","developer-tools","jpl","llm","nasa","robotics","ros","ros2"],"latest_commit_sha":null,"homepage":"https://github.com/nasa-jpl/rosa/wiki","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nasa-jpl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-05T20:35:20.000Z","updated_at":"2025-04-21T23:05:46.000Z","dependencies_parsed_at":"2024-08-29T20:04:14.354Z","dependency_job_id":"893ce5ee-23d8-4fa5-bb28-a0cc3e3f6cd6","html_url":"https://github.com/nasa-jpl/rosa","commit_stats":{"total_commits":42,"total_committers":6,"mean_commits":7.0,"dds":"0.47619047619047616","last_synced_commit":"5471dc2d2b942bdfeab79e5e5fd56f7a98c4c966"},"previous_names":["nasa-jpl/rosa"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nasa-jpl%2Frosa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nasa-jpl%2Frosa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nasa-jpl%2Frosa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nasa-jpl%2Frosa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nasa-jpl","download_url":"https://codeload.github.com/nasa-jpl/rosa/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092792,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","developer-tools","jpl","llm","nasa","robotics","ros","ros2"],"created_at":"2024-09-26T01:44:08.009Z","updated_at":"2025-05-14T07:10:07.852Z","avatar_url":"https://github.com/nasa-jpl.png","language":"Python","funding_links":[],"categories":["Command Line Tools","Python","Research-Grade Frameworks","ROS2"],"sub_categories":["ML \u0026 Vision","ROS2 Packages"],"readme":"\u003c!-- Header block for project --\u003e \u003chr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003c!--   \u003cimg width=\"292\" alt=\"ROSA_logo_dark_bg@2x\" src=\"https://github.com/user-attachments/assets/7b4a8e64-9a08-4180-806a-5076d3672c05\"\u003e --\u003e\n\u003c!--   \u003cimg width=\"213\" alt=\"ROSA_sticker_color@2x\" src=\"https://github.com/user-attachments/assets/5fa3a03e-5ef8-4942-84ac-95acf2f1777d\"\u003e --\u003e\n\u003c!--   \u003cimg width=\"426\" alt=\"ROSA_sticker_color@2x\" src=\"https://github.com/user-attachments/assets/98b0a0ed-6b14-420c-83af-9067ab2d2d22\"\u003e --\u003e\n\u003c!-- \u003cimg src=\"https://github.com/user-attachments/assets/d7175d5e-63d2-448c-b9d3-59ca0016ef7a\"\u003e --\u003e\n\u003cimg width=\"2057\" alt=\"image\" src=\"https://github.com/user-attachments/assets/ddbd3281-79f0-4d29-b0cd-30a5188ad061\"\u003e\n\n  \n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n  The ROS Agent (ROSA) is designed to interact with ROS-based\u003cbr\u003erobotics systems using natural language queries. 🗣️🤖\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\n[![arXiv](https://img.shields.io/badge/arXiv-2410.06472-b31b1b.svg)](https://arxiv.org/abs/2410.06472)\n![ROS 1](https://img.shields.io/badge/ROS_1-Noetic-blue)\n![ROS 2](https://img.shields.io/badge/ROS_2-Humble|Iron|Jazzy-blue)\n![License](https://img.shields.io/pypi/l/jpl-rosa)\n[![SLIM](https://img.shields.io/badge/Best%20Practices%20from-SLIM-blue)](https://nasa-ammos.github.io/slim/)\n\n![Main Branch](https://img.shields.io/github/actions/workflow/status/nasa-jpl/rosa/ci.yml?branch=main\u0026label=main)\n![Dev Branch](https://img.shields.io/github/actions/workflow/status/nasa-jpl/rosa/ci.yml?branch=dev\u0026label=dev)\n![Publish Status](https://img.shields.io/github/actions/workflow/status/nasa-jpl/rosa/publish.yml?label=publish)\n![Version](https://img.shields.io/pypi/v/jpl-rosa)\n![Downloads](https://img.shields.io/pypi/dw/jpl-rosa)\n\n\u003c/div\u003e\n\u003c!-- Header block for project --\u003e\n\n\u003e [!IMPORTANT]\n\u003e 📚 **New to ROSA?** Check out our [Wiki](https://github.com/nasa-jpl/rosa/wiki) for documentation, guides and FAQs!\n\n\nROSA is your AI-powered assistant for ROS1 and ROS2 systems. Built on the [Langchain](https://python.langchain.com/v0.2/docs/introduction/) framework, ROSA helps you interact with robots using natural language, making robotics development more accessible and efficient.\n\n#### ROSA Demo: NeBula-Spot in JPL's Mars Yard (click for YouTube)\n[![Spot YouTube Thumbnail](https://github.com/user-attachments/assets/19a99b5c-6103-4be4-8875-1810cf4558c5)](https://www.youtube.com/watch?v=mZTrSg7tEsA)\n\n\n## 🚀 Quick Start\n\n### Requirements\n- Python 3.9+\n- ROS Noetic or higher\n\n### Installation\n```bash\npip3 install jpl-rosa\n```\n\n### Usage Examples\n\n```python\nfrom rosa import ROSA\n\nllm = get_your_llm_here()\nagent = ROSA(ros_version=1, llm=llm)\nagent.invoke(\"Show me a list of topics that have publishers but no subscribers\")\n```\n\nFor detailed information on configuring the LLM, please refer to our [Model Configuration Wiki page](https://github.com/nasa-jpl/rosa/wiki/Model-Configuration).\n\n\n## Adapting ROSA for Your Robot 🔧\n\nROSA 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.\n\nFor detailed information on creating custom agents, adding tools, and customizing prompts, please refer to our [Custom Agents Wiki page](https://github.com/nasa-jpl/rosa/wiki/Custom-Agents).\n\n\n## TurtleSim Demo 🐢\n\nWe 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. 🐳\n\nThe following video shows ROSA reasoning about how to draw a 5-point star, then \nexecuting the necessary commands to do so.\n\nhttps://github.com/user-attachments/assets/77b97014-6d2e-4123-8d0b-ea0916d93a4e\n\nFor detailed instructions on setting up and running the TurtleSim demo, please refer to our [TurtleSim Demo Guide](https://github.com/nasa-jpl/rosa/wiki/Guide:-TurtleSim-Demo) in the Wiki.\n\n\n## IsaacSim Extension (Coming Soon)\n\nROSA 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\nin 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.\n\n#### ROSA Demo: Nvidia IsaacSim Extension (click for YouTube)\n[![Carter YouTube Thumbnail Play](https://github.com/user-attachments/assets/a6948d5e-2726-4dd8-8dee-19dfb5188f1d)](https://www.youtube.com/watch?v=mm5525G_EfQ)\n\n## 📘 Learn More\n\n- [📕 Read the paper](https://arxiv.org/abs/2410.06472)\n- [🗺️ Roadmap](https://github.com/nasa-jpl/rosa/wiki/Feature-Roadmap)\n- [🏷️ Releases](https://github.com/nasa-jpl/rosa/releases)\n- [❓ FAQ](https://github.com/nasa-jpl/rosa/wiki/FAQ)\n\n\n## Changelog\n\nSee our [CHANGELOG.md](CHANGELOG.md) for a history of our changes.  \n\n## Contributing\n\nInterested in contributing to our project? Please see our: [CONTRIBUTING.md](CONTRIBUTING.md)\n\nFor guidance on how to interact with our team, please see our code of conduct located\nat: [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)\n\nFor guidance on our governance approach, including decision-making process and our various roles, please see our\ngovernance model at: [GOVERNANCE.md](GOVERNANCE.md)\n\n## License\n\nSee our: [LICENSE](LICENSE)\n\n## Support\n\nKey points of contact are:\n\n- [@RobRoyce](https://github.com/RobRoyce) ([email](mailto:01-laptop-voiced@icloud.com))\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  ROSA: Robot Operating System Agent 🤖\u003cbr\u003e\n  Copyright (c) 2024. Jet Propulsion Laboratory. All rights reserved.\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-jpl%2Frosa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasa-jpl%2Frosa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-jpl%2Frosa/lists"}