ChatGPT interface for ROS2 enables human-robot interaction
Top 70.3% on sourcepulse
ROSGPT bridges the gap between human language and robot control by integrating ChatGPT with the Robot Operating System (ROS). It allows users to convert natural language commands into structured JSON commands executable by robots like Turtlesim and Turtlebot3, enhancing human-robot interaction.
How It Works
The core of ROSGPT is a ROS2 node (rosgpt.py
) that functions as a REST server. It accepts natural language text via POST requests, translates it into JSON commands using an ontology-based prompt sent to ChatGPT, and publishes the JSON to the /voice_cmd
topic. Specialized parser nodes (rosgptparser_turtlesim.py
, rosgptparser_tb3_nav.py
) subscribe to this topic, interpret the JSON, and translate it into specific ROS2 primitives or navigation goals for the target robot.
Quick Start & Requirements
OPENAI_API_KEY
in .bashrc
, install dependencies (pip3 install -r requirements.txt
), build (colcon build --packages-select rosgpt
), and source (source install/setup.bash
).libespeak1
, turtlesim
ROS package. Downgrading setuptools
to 58.0.2
is required for ROS 2 Humble.Highlighted Details
Maintenance & Community
Licensing & Compatibility
Limitations & Caveats
The project is primarily tested with ROS 2 Humble on Ubuntu 22.04, with stated compatibility for ROS 2 Foxy. ROS1 support requires manual code adaptation and is not fully implemented. The license restricts commercial use.
3 months ago
Inactive