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
androad_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
andLidar
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
andBeamNGpy.scenario.get_road_network
functions for major speedups. - Added the
integer_depth
argument to theCamera
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 to127.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