The ROS-LLM project is a ROS interface designed to provide natural language and visual interaction as well as motion control capabilities for your robot. This software package enables you to harness LLM-based features (such as GPT-4 and ChatGPT) to enhance robotic applications within the ROS ecosystem, including both ros1 and ros2. Through an easy-to-use installation and customization process, ROS-LLM offers a easy solution for crafting interactive experiences with any robot.
git clone https://github.com/Auromix/ROS-LLM.git
cd ROS-LLM/llm_install
. dependencies_install.sh
cd ROS-LLM/llm_install
. config_openai_api_key.sh
NOTES:
-
If you don't have an OpenAI API key, you can get one here.
-
Click on the user icon in the upper-right corner.
-
Click
View API keys
. -
Click
Create new secret key
. -
Enter a
name
and clickCreate secret key
. -
Copy your secret key.
cd <your_ws>
colcon build --symlink-install
Terminal 1:
source <your_ws>/install/setup.bash
ros2 launch llm_bringup chatgpt_with_robot_test.launch.py
Terminal 2:
ros2 service call /ChatGPT_service llm_interfaces/srv/ChatGPT '{request_text: "Let the turtlesim rotate counterclockwise at a great angular velocity of 50 rad/s and move forward at a certain linear velocity"}'
Modify the llm_robot and llm_config packages to fit your robot. You can customize behavior for your robot.
This project is still under development. We will release the second version in the near future. Please stay tuned.
-
Fix the
bug
of the robot to model service. -
Add the
audio input and output
function, this function has been completed and tesed, but it has not been merged into the main branch. -
Add the
model agent
function to let the model make its own decisions
If you find this project useful, please consider giving it a ⭐️ star on GitHub! Your support helps us improve the project and encourages further development. Don't forget to also share it with your friends and colleagues who might it beneficial. Thank you for your support!
Contributions are welcome! Please read the contributing guidelines before submitting a pull request.
Copyright 2023 HermanYe @Auromix
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.