Built a tool that generates complete, production-ready ROS2 packages from plain English — web app and CLI. ros2vine.vercel.app · pip install ros2vine

I’m a second-year engineering student on the IIT Bombay Mars Rover Team. I built this because writing ROS2 boilerplate from scratch is slow, and Copilot gives you snippets — not a package that actually builds.

Describe what your robot should do. ros2vine writes the nodes, launch files, build config, and README — ready to colcon build.

ros2vine.vercel.app

Core features:

  • Complete packages, not snippets — every generation is a full colcon-buildable package
  • Python (rclpy) and C++ (rclcpp), or mixed
  • Static validator on every output — catches missing deps, bad entry points, wrong imports
  • Inferred details — if your prompt was brief, ros2vine documents every assumption it made (topic names, message types, defaults) so you know exactly what was generated
  • Iterative refinement — describe changes in plain English, regenerates with full context
  • Inline code editing — edit any file directly in the viewer before downloading
  • Interactive node graph — see topic flow between nodes visually
  • Parameter tuning — live sliders for every declared parameter, one-click params.yaml export
  • URDF-aware generation — upload your .urdf and generated nodes use your exact joint names, link names, and TF frame IDs
  • Node template library — PID controller, EKF, CAN bus driver, serial bridge, lifecycle node, action server, diagnostics, and more
  • Package history — every session saved locally, browse and reload any previous generation
  • Share link — a URL that recreates any generation exactly
  • Voice input — describe your node by speaking, useful when your hands are on hardware

Advanced modes (:high_voltage: more button):

  • Multi-package workspace — describe a full system, ros2vine plans 2–5 interdependent packages with matching topic names and generates all of them
  • Simulation package — Gazebo or Isaac Sim version of your package with the same topics, drop-in swap from sim to hardware
  • Hardware abstraction layer — sensor driver generation from a verified chip register database: AS5600, BNO055, MPU6050, VL53L0X, INA219
  • ROS1 bridge config — generates ros1_bridge YAML and launch file from your package’s topic graph

CLI:

bash

pip install ros2vine
ros2vine generate "wheel angle controller fusing AS5600 encoder and BNO055 IMU" --out ~/ros2_ws/src
ros2vine generate "EKF state estimator" --lang cpp --distro jazzy --out ~/ros2_ws/src

Built this for our rover team first, figured others might find it useful too.
Would love feedback, especially from people who actually use it on a real robot.

Happy ROSing!

Interesting application.

1 Like