Skip to main content

AI-powered ROS 2 development assistant

Project description

ROS2-GPT

CI License: MIT

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


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.1.tar.gz (117.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ros2_gpt-0.1.1-py3-none-any.whl (118.8 kB view details)

Uploaded Python 3

File details

Details for the file ros2_gpt-0.1.1.tar.gz.

File metadata

  • Download URL: ros2_gpt-0.1.1.tar.gz
  • Upload date:
  • Size: 117.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for ros2_gpt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 92645b3d8bfb802b5ad037a49d2e815277c17a9e355038ee507e74bda3288ab4
MD5 dce7505122428ab65c02b1ea452eb62c
BLAKE2b-256 7ff2f359ca2d8bdeae63cb0ad16255e56a571e30a2f32c30c9a2059cb61f45f3

See more details on using hashes here.

File details

Details for the file ros2_gpt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ros2_gpt-0.1.1-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

Hashes for ros2_gpt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ae8032816809a881ac0135caa18f5fe0cb0f91636fa98b06023f6931926d146
MD5 fccb2e4f7d2c3793dcbc0224f63097e6
BLAKE2b-256 9cf30c6aa8ee926b6e48a5ad79cda0fb968c4d3ec81515e2bacab41ed40a929c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page