YuqiHuai / SORA-SVL

Local SVL Cloud
132 stars 33 forks source link

SORA-SVL-Server: Local Cloud built for SVL Simulator

GitHub contributors


About the Project

LGSVL Simulator has been a powerful simulator that made many research projects possible. Unfortunately, LG has made the difficult decision to suspend active development of SVL Simulator, as of January 1, 2022. The official statement says the cloud will be up and running through at least Thursday, June 30, 2022.

The current version of the SVL Simulator cannot be used without a cloud that provides necessary information (e.g. assetGuid) and download endpoints for the SVL client. As an effort to keep the tool available for future research, a draft for a local cloud has been started here.

If you want to contribute to the project, please consider joining our Slack workspace.

Disclaimer

Thank you for using and considering citing this project! It is important to know that SORA-SVL is just a web application necessary to use the SVL simulator developed by LG without additional modification. To avoid potential confusion, please avoid describing SORA-SVL as a simulator! I am also adding the term "server" to the name of this project as of September 25, 2024, to avoid further confusion. I would greatly appreciate it if you could cite this work in addition to the appropriate source (the SVL simulator) in your academic work!

Built With

  1. Docker
  2. NGINX (Router)
  3. MongoDB (Database)
  4. NodeJS + ExpressJS (Server)
  5. React (Client)
  6. Sphinx (docs)

Getting Started

Current Version Supports:

  1. Viewing maps, vehicles, plugins (previews)
  2. Allow SVL Client to connect to a local cloud
  3. Start an API Only Simulation

To Run the Project

  1. Install Docker

  2. Clone the project

  3. Download assets needed from Google Drive and unzip them in server/assets. (preview, maps, plugins, vehicles, hdmaps)

    Since the compressed file for entire maps directory is too large, you will have to manually download map asset individually from the Google Drive folder. Also, when downloading individual asset file, make sure there is no file extension. Google sometimes automatically adds ".zip" to the end, make sure to remove this from the filename. See https://github.com/YuqiHuai/SORA-SVL/issues/33#issuecomment-1429161897

    UPDATE 2022-06-30: WISE provides geojson for some of the maps. To access those geojson, download geojson.json from Google Drive, and then import them into MongoDB.

    UPDATE 2024-09-30: For users in China, please download from Baidu Drive. Also see https://github.com/YuqiHuai/SORA-SVL/issues/84#issuecomment-2296465522 and https://github.com/YuqiHuai/SORA-SVL/issues/89#issuecomment-2370252260

  4. Run docker compose up --build -d

  5. Local SVL Cloud will be available at "http://localhost"

  6. Add config.yml to the root directory of SVL client with the following content:

    headless: false
    read_only: false
    api_hostname: "localhost"
    api_port: 8181
    cloud_url: "http://localhost"

    Note the cloud url starts with http (not https).

    See documentation from SVL archive.

  7. Now, SVL Client can be used without WISE.

Future Plans

Known Issues

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request