No version for distro humble showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rosgpt package from rosgpt repo

rosgpt

ROS Distro
github

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Description ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. T
Checkout URI https://github.com/aniskoubaa/rosgpt.git
VCS Type git
VCS Version main
Last Updated 2025-04-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • akoubaa

Authors

No additional authors.

ROSGPT: ChatGPT Interface for ROS2 for Human-Robot Interaction

ROSGPT is a pioneering approach that combines the power of ChatGPT and ROS (Robot Operating System) to redefine human-robot interaction. By leveraging large language models like ChatGPT, ROSGPT enables the conversion of unstructured human language into actionable robotic commands. This repository contains the implementation of ROSGPT, allowing developers to explore and contribute to the project.

Reference Papers

  1. DOI

Author: Anis Koubaa

Citation: Koubaa, A. (2023). ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS. Preprints.org, 2023, 2023040827. https://www.preprints.org/manuscript/202304.0827/v2

BibTeX Citation:

@article{koubaa2023rosgpt,
  title={ROSGPT: Next-Generation Human-Robot Interaction with ChatGPT and ROS},
  author={Koubaa, Anis},
  journal={Preprints.org},
  year={2023},
  volume={2023},
  pages={2023040827},
  doi={10.20944/preprints202304.0827.v2}
}

  1. DOI: 10.1002/spe.3377

Citation: Koubaa, A., Ammar, A., & Boulila, W. (2024). Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System. Software: Practice and Experience, September 2024. https://onlinelibrary.wiley.com/doi/10.1002/spe.3377

BibTeX Citation:

  title={Next-Generation Human-Robot Interaction with ChatGPT and Robot Operating System},
  author={Koubaa, Anis and Ammar, Adel and Boulila, Wadii},
  journal={Software: Practice and Experience},
  year={2024},
  month={September},
  doi={10.1002/spe.3377}
}

Video Demo

Explore ROSGPT in action with this video demonstration, showcasing the process of getting started and the capabilities of the system.

ROSGPT Video Demonstration

ROSGPT ROS2 Package Description

The ROSGPT ROS2 package includes a collection of scripts that work together to provide a convenient way of translating natural human language text into structured JSON commands, which can be utilized by robots like Turtlesim and Turtlebot3. Below is a brief overview of each script:

  • rosgpt.py: This script creates the ROSGPT node, which is a ROS2 node with a REST server that takes in POST requests containing natural human language text. It then translates the text into structured JSON commands via an API call to ChatGPT. The script also defines an ontology-based prompt that helps ChatGPT convert human commands into JSON commands. The ROSGPT node publishes the JSON command on the /voice_cmd topic.
  • rosgpt_client_node.py: This script establishes a ROS2 client node that sends POST requests with natural human language text to the ROSGPT REST server. It waits for the structured JSON commands and displays them upon receipt. Use the ros2 run command to execute this node.
  • rosgpt_client.py: Similar to rosgpt_client_node.py, this script sends POST requests with natural human language text to the ROSGPT REST server, but without implementing a ROS2 node. It solely functions as a REST client for ROSGPT. Use the python command, not ros2 run, to execute this script.
  • rosgptparser_turtlesim.py: This script implements the ROSGPTParser, which subscribes to the /voice_cmd topic and receives JSON commands. The node parses the JSON command and determines the ROS2 primitives required to execute the specified tasks. In this script, a simple navigation task for the Turtlesim robot is considered, including move and rotate functions.
  • rosgptparser_tb3_nav.py: This script also implements the ROSGPTParser, subscribing to the /voice_cmd topic and receiving JSON commands. The JSON commands are parsed and transformed into navigation goal tasks for the Turtlebot3 robot.

Getting Started

To get started with ROSGPT, follow these steps:

  1. Clone the repository to your local machine.
  2. Install the dependencies listed in the environment setup section.
  3. After following the environment setup steps, run the ROSGPT flask server using
   ros2 run rosgpt rosgpt
   
  1. Run the turtlesim node using
   ros2 run turtlesim turtlesim_node
   
  1. Run the rosgptparser_turtlesim.py using
   ros2 run rosgpt rosgptparser_turtlesim 
   
  1. Run the rosgpt_client_node.py using
   ros2 run rosgpt rosgpt_client_node 
   
  1. Now you can start giving commands to the robot using the rosgpt_client_node terminal .for example you can say “ı want that you move forward 1 meter speed 1” and the robot will move forward 1 meter with speed 1.

Environment Setup

This ROS 2 package was tested using ROS 2 Humble with Ubuntu 22.04. It should also work with ROS 2 Foxy and other ROS 2 versions. You need to install the following dependencies:

  • Add your OpenAI API Key in your .bashrc as an environment variable
  echo 'export OPENAI_API_KEY=your_api_key' >> ~/.bashrc

  
  • Install the dependencies required for the text-to-speech functionality

```bash sudo apt-get install libespeak1 sudo apt install ros-humble-turtlesim*

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rosgpt at Robotics Stack Exchange