Skip to content

Latest commit

 

History

History
112 lines (75 loc) · 2.95 KB

File metadata and controls

112 lines (75 loc) · 2.95 KB

Getting Started

cev-sim is a browser-based autonomous vehicle and cev-sim workbench. It uses Next.js and React for the UI, Three.js for the 3D simulator, a visual scripting canvas for node programs, and an external Python orchestrator process for ROS-style topic integration.

Requirements

  • Node.js and npm.
  • Python 3.9+ only if you plan to run the external orchestrator.
  • Optional ROS 2 environment if you want the orchestrator to bridge real ROS 2 topics.

Install

Fastest path — fetch and run the installer (requires git, Node.js 20+, and npm):

curl -fsSL https://raw.githubusercontent.com/cornellev/ev-sim/main/install.sh | bash

Options:

# custom directory
curl -fsSL https://raw.githubusercontent.com/cornellev/ev-sim/main/install.sh | bash -s -- --dir ~/ev-sim

# clone + install + start the dev server
curl -fsSL https://raw.githubusercontent.com/cornellev/ev-sim/main/install.sh | bash -s -- --start

If you already cloned the repo:

npm install

Run The App

npm run dev

Open the local URL printed by Next. Press Escape to open the app menu. From there you can switch between:

  • Scripting — visual node editor.
  • Simulation — vehicles, sensors, and scenario playback.
  • Environment Editor — author roads, buildings, props, and import real-world geography.

For a production-style local run:

npm run build
npm run start

npm run start launches server/App.js, which serves Next through Express on PORT or 3000.

Useful Commands

npm run dev
npm run build
npm run start
npm run lint
npm test

npm test runs the Node built-in test runner against tests/*.test.js.

Optional Orchestrator

Live ROS-style topics are served by a separate repository:

git clone https://github.com/cornellev/orchestrator.git
cd orchestrator
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py

By default cev-sim expects:

  • WebSocket topics at ws://localhost:8080.
  • Message type sync at http://localhost:8090.

To enable the orchestrator's ROS 2 bridge, run it from a ROS 2 environment:

ROS_ENABLED=true python main.py

See ROS Integration for the integration boundary and current topic usage.

Optional Scenario Assets

CommonRoad scenarios are not committed to this repo. Download them from https://gitlab.lrz.de/tum-cps/commonroad-scenarios and place the scenarios folder under public/, creating paths like:

public/scenarios/recorded/NGSIM/Peachtree/USA_Peach-1_1_T-1.xml

See Assets before adding large or generated files.

Optional: Earth Import

To preview Google Photorealistic 3D Tiles in the environment editor, add a Google Maps API key to .env.local:

NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_key_here

Restart the dev server after adding the key. See Earth Import for the full workflow.