AI-powered ROS 2 development assistant
Project description
ROS2-GPT
AI-powered ROS 2 development assistant — workspace scanning, package parsing, dependency analysis, build error diagnosis, code generation, and more.
Features
| Feature | Description |
|---|---|
| Workspace Scanner | Discover packages, categorize 15+ file types, incremental re-indexing (<30s for 100 packages) |
| Package Parser | Parse package.xml, CMakeLists.txt, setup.py, launch files, URDF/Xacro |
| Dependency Graph | NetworkX DAG with cycle detection, topological build order, DOT/Mermaid/JSON export |
| LLM Integration | Multiple providers (Ollama, OpenAI-compatible), code explanation, package generation |
| RAG Pipeline | ChromaDB vector search, documentation indexing (ROS2 core, Nav2, MoveIt2, etc.), workspace memory |
| Code Generation | C++/Python nodes (pub/sub, services, actions, lifecycle, composable), launch files, interfaces |
| Build Analysis | Log parsing, CMake/package.xml validation, QoS mismatch, TF errors, URDF/Xacro validation, DDS issues |
| REST API | 13 endpoints + WebSocket — integrate with any frontend |
| Desktop UI | PySide6 tabbed interface with dashboard, scanner, graph, build analyzer, generator, settings |
| VS Code Extension | Tree view, commands, diagnostics integration |
Quick Start
pip install -e ".[dev]"
ros2-gpt scan /path/to/ros2_workspace
Installation
Basic
pip install -e .
With all extras
pip install -e ".[all]"
Optional dependency groups
| Group | Includes |
|---|---|
[ai] |
sentence-transformers, chromadb, openai, ollama |
[gui] |
PySide6 (desktop UI) |
[server] |
fastapi, uvicorn, websockets (REST API) |
[dev] |
pytest, mypy, ruff, pre-commit |
CLI Commands
Workspace & Package
ros2-gpt scan <workspace> # Scan workspace
ros2-gpt parse <package> # Parse a package
ros2-gpt graph <workspace> # Generate dependency graph
ros2-gpt deps <workspace> <pkg> # Show deps for a package
ros2-gpt stats <workspace> # Workspace statistics
ros2-gpt launch <file> # Parse launch file
ros2-gpt urdf <file> # Parse URDF/Xacro file
Build Analysis
ros2-gpt analyze-build-log <file> # Analyze colcon build log
ros2-gpt check-cmake <file> # Check CMakeLists.txt
ros2-gpt check-package-xml <file> # Check package.xml
ros2-gpt check-qos <file> # Check QoS mismatches
ros2-gpt check-tf-log <file> # Check TF issues in logs
ros2-gpt check-tf-code <file> # Check TF issues in code
ros2-gpt check-urdf <file> # Check URDF validity
ros2-gpt check-xacro <file> # Check Xacro validity
ros2-gpt check-dds-log <file> # Check DDS issues in logs
ros2-gpt check-dds-config <file> # Check DDS configuration
REST API
# Start the server
python -m ros2_gpt.api.server
# Health check
curl http://127.0.0.1:8420/health
Full swagger docs at http://127.0.0.1:8420/docs
Desktop UI
python -m ros2_gpt.ui
VS Code Extension
See vscode-extension/ for setup instructions.
Development
make install-dev # pip install -e ".[all]"
make lint # ruff check
make typecheck # mypy
make test # pytest
make test-cov # pytest with coverage
Architecture
ros2_gpt/
├── config/ # Pydantic settings
├── logging/ # Structured logging
├── plugins/ # Plugin system
├── scanner/ # Workspace discovery
├── parser/ # ROS2 file parsers
├── graph/ # Dependency graph
├── llm/ # LLM provider abstraction
├── ai/ # AI engine, prompts
├── vector_db/ # ChromaDB wrapper
├── search/ # Semantic search
├── docs/ # Documentation indexer
├── memory/ # Workspace memory
├── rag/ # RAG pipeline
├── generator/ # Code generation
├── build_analysis/ # Build error diagnosis
├── api/ # REST API + WebSocket
├── ui/ # Desktop UI (PySide6)
└── cli/ # CLI commands
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ros2_gpt-0.1.0.tar.gz
(116.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ros2_gpt-0.1.0-py3-none-any.whl
(118.8 kB
view details)
File details
Details for the file ros2_gpt-0.1.0.tar.gz.
File metadata
- Download URL: ros2_gpt-0.1.0.tar.gz
- Upload date:
- Size: 116.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46697b2b9aed6d648823fcc345973f564726342a9a18ba270591fa968848a85a
|
|
| MD5 |
1d1406953528e1d60d1af72cab472d76
|
|
| BLAKE2b-256 |
91ab0e444f30e62f260f42ccf11684237458f8b49a65544242b82bd85bf1371a
|
File details
Details for the file ros2_gpt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ros2_gpt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 118.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6b3bd09155c24c2d08d7be504997b887dc599e39977d4c3195981a640599e75
|
|
| MD5 |
fd5f7310449061316bee79af36443fa2
|
|
| BLAKE2b-256 |
200bfa71307b04499d5118e398606dfd93a6e7719e1703d67b0aa335926d5ce6
|