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.0.tar.gz (116.8 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.0-py3-none-any.whl (118.8 kB view details)

Uploaded Python 3

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

Hashes for ros2_gpt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 46697b2b9aed6d648823fcc345973f564726342a9a18ba270591fa968848a85a
MD5 1d1406953528e1d60d1af72cab472d76
BLAKE2b-256 91ab0e444f30e62f260f42ccf11684237458f8b49a65544242b82bd85bf1371a

See more details on using hashes here.

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

Hashes for ros2_gpt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6b3bd09155c24c2d08d7be504997b887dc599e39977d4c3195981a640599e75
MD5 fd5f7310449061316bee79af36443fa2
BLAKE2b-256 200bfa71307b04499d5118e398606dfd93a6e7719e1703d67b0aa335926d5ce6

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