ROScribe release v0.0.3: Supporting ROS2
Tags: ai, robotics, opensource, openai
Published: 2023-09-27 19:28:18

We are pleased to announce that we have released a new version of ROScribe that supports ROS2 and well as ROS1.

**ROScribe** 
[ROScribe](https://github.com/RoboCoachTechnologies/ROScribe) is an open source project that uses human language interface to capture the details of your robotic project and creates the entire ROS packages for you.

**ROScribe motivates you to learn ROS**
Learning ROS might feel intimidating for robotic enthusiasts, college students, or professional engineers who are using it for the first time. Sometimes this skill barrier forces them to give up on ROS altogether and opt out for non-standard options. We believe ROScribe helps students to better learn ROS and encourages them to adopt it for their projects.
ROScribe eliminates the skill barrier for beginners, and saves time and hassle for skilled engineers.

**Using LLM to generate ROS**
[ROScribe](https://github.com/RoboCoachTechnologies/ROScribe) combines the power and flexibility of large language models (LLMs) with prompt tuning techniques to capture the details of your robotic design and to automatically create an entire ROS package for your project. As of now, ROScribe supports both ROS1 and ROS2.

**Keeping human in the loop**
Inspired by [GPT-Synthesizer](https://github.com/RoboCoachTechnologies/GPT-Synthesizer), the design philosophy of [ROScribe](https://github.com/RoboCoachTechnologies/ROScribe) is rooted in the core belief that a single prompt is not enough to capture the details of a complex design. Attempting to include every bit of detail in a single prompt, if not impossible, would cause losing efficiency of the LLM engine. Powered by LangChain, ROScribe captures the design specification, step by step, through an AI-directed interview that explores the design space with the user in a top-down approach. We believe that keeping human in the loop is crucial for creating a high quality output.

**Code generation and visualization**
After capturing the design specification, ROScribe helps you with the following steps:
1. Creating a list of ROS nodes and topics, based on your application and deployment (e.g. simulation vs. real-world)
2. Visualizing your project in an RQT-style graph
3. Generating code for each ROS node
4. Writing launch file and installation scripts

**Source code and demo** 
For further detail of how to install and use ROScribe, please refer to our Github and watch our demo:
[ROScribe open source repository](https://github.com/RoboCoachTechnologies/ROScribe) 
[TurtleSim demo](https://www.youtube.com/watch?v=H2QaeelkReU) 

**Version v0.0.3 release notes**
ROS2 integration:
- Now ROScribe supports both ROS1 and ROS2.
- Code generation for ROS2 uses rclpy instead of rospy
- Installation scripts for ROS2 use setup.py and setup.cfg instead of CMakeLists.txt.

**Roadmap**
ROScribe supports both ROS1 and ROS2 with Python code generation. We plan to support the following features in the upcoming releases:

1. C++ code generation
2. ROS1 to ROS2 automated codebase migration
3. ROS-Industrial support
4. Verification of an already existing codebase
5. Graphic User Interface
6. Enabling and integrating other robotic tools

**Call for contributions**
ROScribe is a free and open source software. We encourage all of you to try it out and let us know what you think. We have a lot of plans for this project and we intend to support and maintain it regularly. we welcome all robotics enthusiasts to contribute to ROScribe. During each release, we will announce the list of new contributors.