BeamNG.tech v0.35 brings enhancements to simulation workflows and data collection. This update delivers performance upgrades to support seamless integration and tools improvements. Let us highlight here the new experimental headless mode, improvements on the World Editor to Python API cooperability, performance and functionality enhancements to the Python API itself and improved user-experience with our Simulink interface.

BeamNG.tech v0.35 also includes all updates from the BeamNG.drive 0.35 release and hotfixes; read the BeamNG.drive patch notes here.


Here is the changelog for BeamNG.tech v0.35:

Headless Mode

  • Added a new experimental headless mode, you can enable it by running with the -headless command-line argument.
  • This mode doesn’t have any GUI and can run on servers. Both Linux and Windows are supported.
  • For more info, check the documentation.

World Editor

  • Added an ‘Export to Python’ button to Sensor Configuration Editors
    Making vehicle + sensor placement and configuration in BeamNGpy easier than ever!
  • Added GUI for Road Network Exporter
    You can find the tool in the World Editor → Window → Tech → Road Network Exporter.
  • Map sensor configuration editor
    • Removed ‘snap to vehicle’ option;
    • Text correction on the sensors windows : deleted ‘vehicle center’ mention as impertinent for map sensor attachment.
  • Added road_invisible and road_asphalt_light materials to the Tech Ground level.

Sensors

  • LiDAR fix on dx11 renderer
    Fixed LiDAR on dx11 renderer as for missing sector in 360 degrees operating mode and missing point cloud on LFO and static modes.
  • Added LiDAR density parameter
    A density factor used for the point cloud (e.g., 1 = very dense, 100 = sparse).
  • Known LiDAR issue on Vulkan renderer LiDAR sensor underperforms on Vulkan renderer, with risk of point cloud issues and white static points.

Controllers

  • ACC operation improvement
    • Introduces additional safeguards and error-handling mechanisms, better speed control and smoother operation
    • Implements Cruise Control Override (MPCOverride) when the leading vehicle is lost.
    • Improved MPC() Function - Stricter constraints on acceleration/deceleration.
    • Enforces a minimum speed requirement before ACC activation.

BeamNGpy

  • Reduced the size of the Mesh, Camera and Lidar messages by removing redundant data.
  • fix camera API in BeamNGpy
  • Fix OpenDrive exporter to accept dead-end roads
    • refactor Opendrive exporter
  • Basic traffic configuration API
    This API allows to import the traffic setup made with the Traffic Manager tool.
  • ACC API update and example
    • update ACC API as compatible with ACC load function change (load with vehicle id)
    • add basic ACC example with data plot
  • Improved LiDAR test
    Updated test_lidar.py : it covers the 3 different LiDAR modes and perform various quality checks on the point cloud data;
    • it checks that data is present per mode
    • updates over time, for ad-hoc polling
    • it is consistent over a few takes and in 360 mode checks for correct points distribution.
  • Optimized the Scenario.sync_scene and BeamNGpy.scenario.get_road_network functions for major speedups.
  • Added the integer_depth argument to the Camera sensor which reduces the depth data sent to 1 byte, instead of the original 32-bit floating point number.
  • Added the -tcom BeamNG command-line argument to start the BeamNGpy server (defaults to 127.0.0.1:25252) and -tport to override the default TCP port.
  • Changed examples to use BeamNGpy.disconnect to avoid Python socket warnings.
  • Added a function BeamNGpy.system.get_environment_paths which gives the simulator filesystem paths.
  • Fixed a bug where some levels (Johnson Valley) could not be loaded using BeamNGpy.scenario.load.
  • Fixed a bug where data for road networks with non-numeric names could not be loaded.
  • BeamNGpy TCP server is now restarted after reloading Lua.
  • Added LiDAR density parameter
    A density factor used for the point cloud (eg 1 = very dense, 100 = sparse).

Matlab/Simulink

  • New documentation site with updated and improved content
  • Add easy way to get examples from installed toolbox using beamng.copy_examples
  • S-function block preserves user-defined path to CSV file now (no more automatic conversion to absolute path)
  • S-function path empty string (’’) now means “use path to default CSV file”
  • Minor improvements in examples

Open-Source repository

  • Update NCAP tests
  • Update BeamNG gym
  • Update impactgen