Skip to content

Commit

Permalink
Merge pull request #2 from RoboCoachTechnologies/feature/ROS_index_RAG
Browse files Browse the repository at this point in the history
Feature/ros index rag
  • Loading branch information
RoboCoachian authored Nov 22, 2023
2 parents 8f1b11c + d23f5ea commit 4df5c8f
Show file tree
Hide file tree
Showing 19 changed files with 300 additions and 54 deletions.
64 changes: 12 additions & 52 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,61 +15,23 @@ If you are new to ROS, ROScribe will be your robot(ics) mentor 🤖️

If you are a seasoned ROS user, ROScribe can help with creating a blueprint for your ROS package 📦️

## Installation
**New in v0.0.4:**
ROScribe can now be used as your personal robotics consultant!

- `pip install roscribe`
A vector database of all open-source ROS repositories available on [ROS Index](https://index.ros.org/) is built, and using retrieval augmented generation (RAG), ROScribe can answer every question regarding relevant ROS packages for your project. Chekout [this wiki](https://github.com/RoboCoachTechnologies/ROScribe/wiki/3.-Explore-ROS-Repositories-with-RAG) for more information.

- For development:
- `git clone https://github.com/RoboCoachTechnologies/ROScribe.git`
- `cd ROScribe`
- `pip install -e .`
## How to use

## Usage
Please see our wiki page to learn how to install and use ROScribe in your robotics projects:
* [Installation](https://github.com/RoboCoachTechnologies/ROScribe/wiki/1.-Installation)
* [ROS Package Generation using ROScribe](https://github.com/RoboCoachTechnologies/ROScribe/wiki/2.-ROS-Package-Generation)
* [Explore Open-source Robotics Repositories using ROScribe-RAG](https://github.com/RoboCoachTechnologies/ROScribe/wiki/3.-Explore-ROS-Repositories-with-RAG)
* [Create Your Own ROS Index Database](https://github.com/RoboCoachTechnologies/ROScribe/wiki/4.-Create-Your-Own-ROS-Index-Database)

Watch this demo to see how ROScribe works:
- [ROScribe v0.0.2 demo: TurtleSim](https://www.youtube.com/watch?v=H2QaeelkReU)
## Demos

ROScribe uses OpenAI's `gpt-3.5-turbo-16k` as the default LLM. You can switch to other [supported models](https://python.langchain.com/docs/integrations/llms/) by LangChain; however you might have to get the API for each model or [run them locally](https://python.langchain.com/docs/integrations/llms/huggingface_pipelines).

- Setup your OpenAI API key: `export OPENAI_API_KEY=[your api key]`

**Run**:

- Start ROScribe by typing `roscribe` in the terminal.

![](docs/assets/start.gif)

- Briefly describe the robot software you want to deploy.

![](docs/assets/task_desc.gif)

- ROScibe asks you high-level questions regarding your deployment.

![](docs/assets/node_qa.gif)

- Once ROScribe learns about your project, it shows you a list of ROS nodes and topics that are involved in your software. The subscriber/publisher relationship between the ROS nodes can be visualized similar to RQT graph.

![](docs/assets/node_topic_viz.gif)

- Moreover, you can edit (i.e. add/remove) the list of ROS nodes and topics based on your preference.

![](docs/assets/mod_node_topic.gif)

- After you finalize the node list, ROScribe will start identifying the specifications of each ROS node through a Q&A process. This is the most important step since the final implementation would be highly influenced by this conversation.

![](docs/assets/spec_qa.gif)

- The code for each node is generated when ROScribe finds all the implementation details. Additionally, ROS launch file and installation scripts (package.xml and CMakeLists.txt) are created according to the project requirements. For Python ROS nodes, don't forget to allow executing your nodes as programs via `chmod +x ros_node.py`.

![](docs/assets/code_gen.gif)

- After ROScribe finishes code generation, you can install your ROS package by using `catkin`. After installation, source your workspace in order to link to your ROS packages.

![](docs/assets/install.gif)

- You can launch your ROS package by using `roslaunch` command and calling the generated launch file.

![](docs/assets/launch.gif)
- [TurtleSim Code Generation with ROScribe](https://www.youtube.com/watch?v=H2QaeelkReU)
- [ROScribe-RAG Demo](https://www.youtube.com/watch?v=3b5FyZvlkxI&list=PLN8Hz7F2GjIkiYVForVuyvNs17sggQYOt&index=3)

## Roadmap

Expand All @@ -87,8 +49,6 @@ As an open-source project, we encourage all robotics enthusiasts to contribute t

[Video recording of UCSD ROS workshop presentation Oct. 27, 2023](https://www.youtube.com/watch?v=CPHleR-3Wko)



## Contact

For business inquiries, such as consulting or contracting jobs, please contact [email protected].
Expand Down
Loading

0 comments on commit 4df5c8f

Please sign in to comment.