/SORA-SVL

Local SVL Cloud

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

SORA-SVL: 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 SVL Simulator cannot be used without a cloud which provides necessary information (e.g. assetGuid) and download endpoints for SVL client. As an effort to keep the tool available for future researches, a draft for a local cloud has been started here.

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

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 #33 (comment)

    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.

  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

  • Gradually incorporate original LGSVL documentation
  • Allow uploading sensor configuration
  • Allow creating new simulation templates
  • Allow creating new vehicle sensor configurations
  • Add cluster feature to the cloud
  • Allow website to reflect client connection status.
  • Host assets at a different location

Known Issues

  • It is possible that permission settings related to Docker can cause project to fail (unable to load preview, unable to download assets). See #11 (comment)
  • I recommend installing docker following instructions in https://docs.docker.com/engine/install/ubuntu/
  • There may be issues with npm/docker image which causes docker compose up -d to fail, see #84 (comment)

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