Changelog

All notable changes and release notes for SVL Simulator will be documented in this file.

[2021.1] - 2021-03-23#

Added#

  • New cloud-based web user interface including:
    • Asset Store for downloading assets, uploading and sharing assets publicly
    • user account password management
    • user assets management library
    • support for private assets
    • private assets/simulations sharing with registered users
    • cluster/Simulation status handling
    • SVL Simulator content from this release will be available in the Asset Store
  • New and updated runtime templates for simulations with automatic bringup and execution:
    • Random Traffic
    • Visual Scenario Editor
    • Python API
    • API Only
  • Visual Scenario Editor for creating scenarios including support for:
    • traffic vehicle and pedestrian waypoints
    • previews
    • copy/paste/undo feature
    • ability to specify ego vehicle target destination
    • support for controllables with ability to edit default policy
    • color selection for actors
    • waypoint positions snapped to HD map lanes
    • support for distance, time, and time-to-collision triggers
    • traffic lights control
  • Automatically generated test case reports of simulations including:
    • success/failure scenario evaluation
    • simulation statistics
    • analytics data per sensor
    • video recording of simulation
    • multiple violation event detection: collision, stopline, stopsign, ego-stuck, sudden jerk/brake/turn, speed-limit, etc.
  • PythonAPI: many improvements including:
    • added cloudiness and road damage to weather parameters
    • ability to specify date in environment configuration
    • added Dreamview API as sub-module
    • added callback agents_traversed_waypoints
    • added ability to set speed at WalkWaypoints
    • added waypoint trigger system
    • ability to set simulator camera free-state position and rotation
    • sample Python API scripts based on NHTSA-defined scenarios for end-to-end testing
    • additional Python API test samples: random-traffic mode, cut-in, sudden-braking, etc.
  • Environment configuration improvements:
    • moon position in nighttime environment configurations
    • Improved environment road wetness layer
    • UI for FPS and SIM time
    • Improved rain particles
    • Increased types of traffic lights, model improvements
  • Improvements in Developer Mode:
    • developer settings to use ego vehicle within Developer Mode
    • ability to select and add actors to simulation in Developer Settings
    • added sensor debug mode
    • added tool to rotate Editor scene view to -X north
  • Features for traffic agents in simulation:
    • support for bicyclist traffic agents
    • support for custom traffic vehicle behavior plugins
    • pedestrian crosswalk support with yield for traffic vehicles (SanFrancisco map)
    • added direction for pedestrian crosswalk annotation tool
    • spawning NPCs now raycasts target bounds from egos' positions
  • New map/environment creation improvements:
  • General simulation improvements:
    • ability to create and run a Distributed Simulation from web user interface
    • offline mode for running saved simulation configurations
    • improved cache control for downloaded assets
  • Sensors improvements:
    • new sensors: StopLine, HUDKeyboardControl, AutowareAIControl, LGSVLControl, etc.
    • improved LiDAR simulation performance
    • sun-flare, raindrops, greyscale, and video artifacts effects for sensors
    • support for sensor post-distortion effects
    • Default values for simple and complex sensor parameter types
    • Enabled sensors to load texture assets
  • Improvements around support for AD stacks:

Changed#

  • Product branding changed from "LGSVL Simulator" to "SVL Simulator"
  • Old local web user interface is now deprecated. Users need to migrate to new web user interface
  • Old content website will be deprecated
  • All content now managed on cloud - downloaded as needed by simulation configuration
  • Unity update to 2019.4.18f1
  • All sensors are now sensor plugins - default sensors are part of user plugin library
  • Sensor plugins no longer bundled with simulator executable
  • Distributed simulation: fixed pedestrian movement animation bug
  • Distributed simulation: video artifact fix
  • Fixed wrong timestamp error in clock and IMU sensors
  • Fix acceleration/angular velocity in Apollo imu/corrected_imu
  • Fixed way of handling failed downloads
  • Fixed bugs and issues in OpenDrive HD map importer and exporter
  • Point cloud rendering: added alternative method for removing obscured points (reduces flickering, requires depth prepass)
  • Point cloud rendering: Fill scarce depth map holes through neighborhood sampling
  • Point Cloud Rendering: Fix skybox blending in unlit point cloud
  • Improved traffic lights in environments
  • Rain/clouds/lights improvements
  • NPC spawn logic improvements
  • Fix old NPC models and prefab
  • Adjust camera distance from ego bounds
  • HD map import: Fix keyError in lanelet2 and improve grouping lanes at intersections
  • HD map import: Fix map origin update during OpenDrive map import

[2020.06] - 2020-08-31#

Added#

Changed#

  • Fixed 90 degree orientation offset in GPS odometry sensor
  • Replaced default ROS2 bridge to improved custom ROS2 bridge instead of ros2-web-bridge
  • Unity update to 2019.3.15f1
  • Fixed timestamps in GPS, IMU
  • Added timestamp to default LiDAR sensor PointCloud message
  • Fixed bugs in OpenDrive map importer to correctly compute reference lines and lane widths for edge cases
  • Improved OpenDrive map exporter to export parametric cubic curves instead of simple lines for each reference line segment

[2020.05] - 2020-06-02#

Added#

  • Support for custom traffic vehicle behavior plugins
  • Support for Apollo 5.5 (latest master)
  • Support for distributed simulation
  • Velodyne VLS-128 support
  • Python API function to spawn random non-ego vehicles and pedestrians
  • Unlit shadows support for point cloud environment rendering
  • AD system-agnostic message definitions to "lgsvl_msgs" for vehicle control, CAN bus and status data, etc.

Changed#

  • Refactored traffic agent Waypoint Mode with fixes for idle and trigger waypoints
  • Changed gnss_odom message coordinate system to right-handed coordinate system
  • Fixed "ignore map origin" option for gnss_odom message
  • Fixed acceleration values in IMU sensor
  • Fix sky flickering issue during point cloud rendering
  • Fixed LiDAR readback error
  • Removed and replaced documentation source files from main repository to separate Documentation repository

[2020.03] - 2020-04-03#

Added#

  • Velodyne VLP-16 and VLP-32C support through custom LiDAR sensor plugin
  • Support for LiDAR sensor plugin with direct UDP socket interface
  • Support for point cloud environment rendering
  • Extensible vehicle dynamics
  • Functional Mockup Interface 2.0 (FMI 2.0) interface for vehicle dynamics
  • Support for fisheye camera lens distortion
  • Support for sensor_msgs/NavSatFix message type for GPS messages in ROS2
  • Vehicle Odometry sensor for reporting steering angles and velocity in ROS2

Changed#

  • Upgraded to Unity 2019.3.3f1
  • Fixed black artifacts in Linux bug
  • Fixed display issues in Unity Editor bug
  • Fixed camera sensor invalid data bug
  • 3D Ground Truth sensor now generates different ID for vehicle after each respawn

[2020.01] - 2020-01-31#

Added#

  • Controllable Object plugin support, dynamically add and control Controllables with the Python API
  • Ability to create LIDAR sensor with non-uniform beam distribution
  • Ability to add distortion effects to Camera sensors
  • Support for Autoware.Auto messages (ROS2)
  • Ability to create custom message types for sensor plugins
  • TransformSensor which can act as a parent for other sensors
  • VehicleStateSensor which is needed by Autoware.Auto

Changed#

  • Added SanFrancisco map as a default map option
  • Allow null texture bundles without an error
  • Pedestrian mass reduced to 70kg
  • Fixed lagging of 2D Ground Truth boxes (in visualization and data)
  • ComfortSensor included with Simulator binary
  • TrafficCone included with Simulator binary
  • Fixed exported HD map lane relations
  • Fixed ROS2 GPS

[2019.12] - 2020-01-21#

Added#

  • Custom callback for Python API, useful in sensor plugins.
  • Ability to specify count and types of NPCs to spawn on the map.

Changed#

  • Optimized texture usage in maps - significantly reduces size on disk and GPU memory used.
  • Allow boundary type to be optional for Apollo HD map import.
  • Fix Python API to be able load maps & vehicles that are shared between multiple users.
  • Separated bundle file format version for map and vehicle bundles.
  • Improved headlights for EGO vehicles.
  • Improved HD map annotation icons.
  • Fixed Sedan NPC mesh.

[2019.11] - 2019-11-19#

Added#

  • OpenDrive 1.4 HD map import.
  • Rain drops on ground when it is raining.
  • Separated Apollo HD map export between version 3.0 and 5.0 to support 5.0 specific features.
  • Cache vehicle prefabs when loading same vehicle multiple times into simulation.
  • Ability to login to account via command-line.
  • Ability for vehicle to have multiple interior lights. Fixes #474.
  • Allow Color, Depth and Semantic cameras to have higher capture & publish rate.
  • Building & loading custom sensors as plugins.

Changed#

  • Fixed traffic lights signal colors on Shalun map.
  • Fixed exceptions when NPCs are despawned while still in intersection.
  • Fixed errors when adding pedestrian to map without NavMesh.
  • Fixed Lanelet2 boundary import and export.
  • Multiple fixes for OpenDrive import and export.
  • Fixed wrong raycast layers in 2D Ground Truth sensor to detect if NPC is visible.
  • Fixed missing timestamp when publishing ROS/Cyber messages from 2D Ground Truth sensor.
  • Limit number of spawned NPCs and vehicles for large maps.

[2019.10] - 2019-10-28#

Added#

  • Apollo HD map import
  • Accurate sun position in sky based of map location. Including time of sunrise and sunset.
  • Control calibration sensor to help calibrating AD stack control.
  • Ported Shalun map from previous non-HDRP simulator version.
  • Ground Truth sensor for traffic light.
  • Python API method to get controllable object by position.
  • Python API method to convert multiple map coordinates in single call.
  • Python API method to perform multiple ray-casts in single call.
  • Sensor for controlling vehicle with steering wheel (Logitech G920).
  • Platform independent asset bundles (Windows and Linux).
  • Allow to set custom data path for database and downloaded bundles.
  • Visualize data values for non-image senors (GPS, IMU, etc).
  • Populate scene with required objects when new scene is created in Unity Editor.

Changed#

  • Fixed exceptions in ROS Bridge where if it receives message on topic that it has not subscribed.
  • Fixed 3D Ground Truth sensor to report correct NPC orientation angles.
  • Fixed Radar sensor to visualize pedestrians.
  • Fixed Color camera to render mountains in BorregaAve.
  • Fixed EGO vehicle collision callback to Python API.
  • Fixed WebUI redirect loop that happens if you are logged out.
  • Fixed reported NPC vehicle speed. Fixes #347 and #317.
  • Fixed gear shifting for EGO vehicle control. Fixes #389.
  • Fixed NPC waypoint following where NPCs stopped if assigned speed is too low.
  • Fixed semantic segmentation for vehicles and pedestrians added with Python API.
  • Fixed ROS2 message publishing (seq field was missing in Header). Fixes #413.
  • Fixed issue with database on some non-English locales. Fixes #381.
  • Fixed point cloud generation in Unity Editor.
  • Fixed browser loosing cookie when session ends in WebUI.
  • Fixed slowness in Python API when running without access to Internet.
  • Fixed issue when multiple users could not use same map url.
  • Improved error messages when simulation fails to start.

[2019.09] - 2019-09-06#

Added#

  • Sensor visualization UI
  • HD map export to OpenDrive 1.4 format
  • ROS service support for ROS bridge
  • Python API to support more robust waypoints for NPC vehicles
  • Python API with ability to control traffic lights on map
  • Hyundai Nexo vehicle

Changed#

  • Improved NPC movement and right turns on red traffic light
  • Fixed NPC vehicle despawning logic so they don't get stuck in intersections
  • Change NPC vehicles colliders from box to mesh to improves collision precision
  • Updated generated protobuf message classes for latest Apollo 5.0
  • Fixed 3D Ground Truth message type for ROS
  • Fixed 3D and 2D Ground Truth bounding box locations

[2019.07] - 2019-08-09#

Added#

  • Separate Asset Bundles for environments and vehicles
  • Fully deterministic physics simulation
  • Faster-than-real-time capability with Python API
  • Lanelet2 HD map format import/export
  • Ability to edit sensor configuration dynamically
  • Multi-user support - account login allows different users to login to one machine running simulator
  • BorregasAve 3D environment as a default provided map
  • AutonomouStuff 3D environment as a default provided map of parking lot
  • SingleLaneRoad 3D environment as a default provided map
  • CubeTown 3D environment as a default provided map
  • Lexus RX and Lincoln MKZ vehicle support
  • LiDAR outputs intensity value based on reflectivity of material (instead of color)
  • Support for Apollo 5.0
  • Support for Autoware 1.12
  • Light reflections on road from wetness
  • Better sky rendering, including clouds
  • Ability to import point cloud files for visualization

Changed#

  • User interface - use web UI for main user interaction
  • Render pipeline - Unity High Definition Render Pipeline
  • Significantly improved LiDAR simulation performance using multithreading
  • Improved map annotation for easier use in Editor
  • Improved point cloud generation from 3D environment in Editor

Removed#

  • Support for Duckiebot, EP_rigged, SF_rigged, Tugbot vehicles
  • Support for SimpleLoop, SimpleMap, SimpleRoom, Duckietown, DuckieDownTown, SanFrancisco, Shalun maps

[2019.05 and older]#

Please see release notes for previous versions on our Github releases page.