A lightweight web-based tool that allows users to upload ROS (Robot Operating System) packages, analyze code quality, and preview a mock robotic arm simulation — without installing ROS locally.
▶ Click here to watch the demo video
-
No ROS Installation Required
Works on Windows, Linux, and macOS with Python 3.7+. -
Static Code Analysis
Detects syntax issues, structural errors, and common ROS mistakes. -
Style Validation
Python (flake8) and C++ formatting checks based on ROS guidelines. -
Safety Rules Checker
Detects:- Unsafe joint limits
- Infinite loops without sleep
- Missing
init_node - Incorrect publishers/subscribers
-
Web Interface (Flask GUI)
Upload ZIP packages, view reports, and preview simulation output. -
Batch Processing
Analyze full ROS packages or single files.
-
Clone the repository git clone https://github.com/yourusername/ros_code_checker_tool.git cd ros_code_checker_tool
-
Create a virtual environment (recommended) python -m venv venv
-
Activate virtual environment Windows: venv\Scripts\activate
Linux/Mac: source venv/bin/activate
-
Install dependencies pip install -r requirements.txt
-
Run the tool python run.py --web
Once running, open your browser to:
http://localhost:5000
+---------------------------+
| Web Interface |
| (Flask / HTML) |
+--------------+------------+
|
| Upload ZIP
v
+---------------------------+
| Backend API |
| (run.py) |
+--------------+------------+
|
v
+------------------------------------------------+
| Code Checker |
|------------------------------------------------|
| Syntax Check | Structure Check | Safety Rules |
| flake8/g++ | pkg.xml, CMake | joint limits |
+------+-------+---------+-------+----------------+
| |
| Valid | Errors / Warnings
v v
+------------------+ +----------------------+ | Simulation Runner| | Report Generator | | (Mock UR5) | | TXT + JSON Output | +--------+---------+ +----------+-----------+ | | | Frames + Logs | Reports v v +-----------------------+ +--------------------------+ | Simulation Preview | | report.txt / report.json| +-----------------------+ +--------------------------+
A fully valid ROS package demonstrating:
- Proper ROS node structure
- Safe joint motion commands
- Valid publishers and subscribers
- Completes simulation without errors
Shows common ROS mistakes including:
- Missing
init_node - Infinite loop without
rate.sleep() - Invalid joint values
- Broken ROS package structure
The tool generates:
- report.txt – Summary of all errors/warnings
- report.json – JSON-structured output for automation
- Simulation logs – Internal debug information
- Simulation frames – Visual preview of robot motion
ros_code_checker_tool/ │ ├── backend/ │ ├── checker.py │ ├── simulation.py │ └── utils/ │ ├── tests/ │ ├── correct_package/ │ └── faulty_package/ │ ├── templates/ │ └── index.html │ ├── static/ │ └── styles.css │ ├── run.py ├── requirements.txt └── README.md
- Live ROS node graph visualization
- Plugin support for Gazebo/ROS2
- Real-time simulation rendering
- CI/CD integration for ROS codebases
MIT License — free for personal, academic, and commercial use.
Developed by Sunkeerth
ROS Tools • Robotics Simulation • AI/ML Engineering






