AgenticROS is a framework that uses AI agents (via CrewAI) to bridge natural language task definitions with ROS robotics operations, enabling more intuitive and intelligent robot development.
- 🤖 Natural language robot task definition
- 🧠 LLM-powered task decomposition and planning
- 🔄 Seamless ROS integration
- 📊 Context-aware decision making
- 🛠️ CrewAI-based cognitive architecture
- Install ROS (tested with ROS Noetic)
# Follow ROS installation instructions for your system
# http://wiki.ros.org/noetic/Installation- Install Python dependencies
pip install crewai openai- Clone AgenticROS
cd ~/catkin_ws/src
git clone https://github.com/yourusername/agentic_ros.git
cd ..
catkin_make- Set up your OpenAI API key
export OPENAI_API_KEY='your-api-key-here'- Source your workspace
source ~/catkin_ws/devel/setup.bash- Run the example
# Terminal 1
roscore
# Terminal 2
rosrun agentic_ros test_agentic_ros.py
# Terminal 3
rosrun agentic_ros agentic_ros.pyfrom agentic_ros import AgenticRobot
# Initialize robot
robot = AgenticRobot()
# Define tasks using natural language
@agentic_task
def pick_and_place(object_name: str, location: str):
"""
Pick up the {0} and place it at {1}.
Be careful with the object and avoid any obstacles.
"""
pass
# Execute tasks
robot.pick_and_place("red cube", "table A")AgenticROS
├── Cognitive Layer (LLM-based)
│ ├── TaskAnalyzer
│ ├── ContextManager
│ └── BehaviorGenerator
├── Bridge Layer
│ ├── ROSTranslator
│ ├── StateTracker
│ └── FeedbackProcessor
└── Execution Layer
├── ActionExecutor
├── SafetyMonitor
└── PerformanceTracker
We welcome contributions! Please check out our contributing guidelines and code of conduct.
MIT License - see LICENSE file for details
- ROS Community
- CrewAI Framework
- OpenAI
If you use AgenticROS in your research, please cite:
@misc{AgenticROS,
author = {Kirill Balakhonov},
title = {AgenticROS: Bridging LLMs and ROS for Intelligent Robotics},
year = {2024},
publisher = {GitHub},
url = {https://github.com/NethermindEth/AgenticROS}
}For questions and support, please open an issue or contact [kirill.balakhonov@nethermind.io]