ROScribe - LLMs At The Service Of Robotics
Monday, 22 January 2024

ROScribe is an open source tool that utilizes prompt engineering to get a LLM to generate ROS compatible software packages for managing your robots.

ROS was made as a solution to the complexity of writing robot
controlling software, and while referred to as a Robot Operating System, it merely is a framework that provides tools, libraries, drivers, and conventions for creating complex and robust robot behavior.

Operating system aside, ROS also forms the backbone on which other tools are built, for example the Gazebo simulator. With Gazebo, which resembles a CAD tool, instead of designing buildings you can instead design robots before they get manufactured.

To do so, Gazebo builds on the shoulders of ROS, and emulates working with models from simple biped robots up to Nasa's Robonaut 2. That way you can test all combinations of sensor payloads and modes virtually before moving to the real hardware.

Now things get even easier thanks to the advent of Large Language Models. As we know LLMs are very good at generating artifacts, be it images, text, animation or even code. ROScribe uses a LLM to generate code for robotics something which lessens the skill barrier of becoming familiar with ROS.

ROScribe generates software as a three-way process:

  • ROS graph synthesis
  • ROS node synthesis
  • ROS-specific installation scripts generation

Under the spell of prompt engineering, ROScribe engages in a question-answer activity with its user. Initially it asks about the overall design of the system, and increasingly gets more specialized as the specs do crystalize. Once the specs are complete, it then generates a graph that represents the parts of the robot (sensors, controllers etc ) known as ROS Nodes, as well as the way they communicate with each other, known as ROS Topics. The gist of the graph is that it allows the user to get involved in the design by modifying it to add, remove or replace nodes with custom ones.

At the next stage of the ROS node synthesis, ROScribe implements the nodes one by one, while at the final stage , that of Scripts generation, ROScribe creates the files needed for the installation.

After ROScribe finishes with generating your ROS package, you can install it by using catkin, and launch it by using the roslaunch command calling the generated launch file.

There are two ways to install ROScribe:

Recommended for end-users. Install the PyPi package:

pip install roscribe

Recommended for developers. Clone the GitHub repository and install using pip:


git clone https://github.com/RoboCoachTechnologies/ROScribe.git
cd ROScribe
pip install -e .

On the roadmap of the project lies adding RAG support so that it can produce better quality results. However you can right now explore ROS Repositories with RAG, since there's a vector database of all open-source ROS repositories, and using retrieval augmented generation (RAG), ROScribe can answer every question regarding relevant ROS packages for your project. In order to use it :

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

  • Start ROScribe-RAG by typing roscribe-rag in the terminal.

  • Describe your robotics project, and ROScribe will provide you with open-source ROS packages that would help you with your project.

To conclude, LLMs are really simplifying procedures that once were properties of an expert's domain, thus lowering the barrier for the wider public to engage in. This time its Robotics;If you ever thought that writing software for Robots
was out of reach, now it isn't, thanks to ROScribe.

 

More Information

Looking inside ROScribe and the idea of LLM-based robotic platform

ROScribe on Github 

Related Articles

Dashing Diademata, the Future of ROS  

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


GNU libmicrohttpd 1.0 Released - The Web For IoT
05/02/2024

The IoT is very dependent on web technologies, but for many applications the software needed is excessive. libmicrohttp is a small C library that lets you add HTTP to your C programs.



Visual Studio Adds #include Diagnostics
05/02/2024

Microsoft has released Visual Studio 2022 17.9 Preview 5, with minor improvements including the ability to run form under the System account. This is the most recent of four preview versions in a mont [ ... ]


More News

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 22 January 2024 )