Upgraded Sensor Suit, Experimental ROS and Linux available.

BeamNG.tech v0.25 is finally here! This time we are coming with a major upgrade to our autonomous sensor suite, and we are finally releasing the long-awaited Linux version, though this is only experimental at the moment!

BeamNG.tech now features an ultrasonic sensor with physically-based graphic visualisation functionality in Lua. The ultrasonic sensors, commonly used as parking assistance sensors, will visually show the distance to nearby surfaces and objects. Ultrasonic parking assist technology plays a significant role in automated driving and automated parking functions.

For Linux enthusiasts, we have added native Linux binaries in the BinLinux folder, using the new Vulkan render back-end. It is highly EXPERIMENTAL but we wanted to give you the chance and time to experiment with this. Since it is an experimental work in progress, we do not offer customer at the moment. This product may be buggy, crashy, unstable or all of the above, but if you are a Linux enthusiast we encourage you to try it out. Your feedback will be invaluable in helping us get a properly supported version of BeamNG for Linux. In case of questions, please make use of this thread, but make sure to read the guidelines first.

We have also fixed the annotations on the Italy and East Coast USA maps.

Our Tech team has also worked on the BeamNG.tech Python API - BeamNGpy and an EXPERIMENTAL ROS bridge.

ROS examples:

As always, the BeamNG.tech v0.25 release includes all the cool features of BeamNG.drive. Check the full report on the BeamNG.drive release. However, the main changes are as follows:

  • 100 new missions
  • a re-done traffic system
  • new modern supercar: Italian Civeta Scintilla
  • revamp of the Garage Mode
  • updating maps to PBR (Physically-based rendering)

Here is our changelog:

Sensors

  • Sensor Suite API: Major changes to the Lua API and Python API. A new Lua extension introduced in tech now manages the life cycle of sensors through ID numbers. Currently this is for LiDAR and ultrasonic sensors. 
  • LiDAR sensor:  Fixed various bugs mostly related to shared memory and the API. Some general improvements to performance of LiDAR Code, and some testing. 
  • Ultrasonic sensor:  Major upgrade to ultrasonic sensor.  Now includes a physically-based graphic visualisation in Lua.  Uses the new API. 
  • Sensor Attachment:  The new API changes include a more robust and usable way in which to attach sensors to vehicles, with several options.  We also now allow fixed-position sensors at points on the map. 
  • BeamNGPy: Updated to support new sensor API. Example scripts added, and existing scripts modified accordingly. 

Annotations

  • fixed semantic annotations on Italy and East Coast USA

Game Engine

  • Added native Linux binaries in BinLinux (experimental) using the new Vulkan render backend
  • Unified BeamNG.tech + BeamNG.drive builds. You can now dynamically switch to BeamNG.tech if you have the license

BeamNGpy

  • Fixed camera sensor logging error.
  • Fixed semantic annotations.
  • Added support to teleport vehicle without resetting its physics state.
  • Removed the setup phase of BeamNGpy - setting up a BeamNGpy workspace is not needed anymore.
  • Annotated example notebooks with the information if the notebook is runnable with BeamNG.tech/BeamNG.drive or BeamNG.drive only.
  • Added the option to set the velocity of a spawned vehicle.

ROS

  • ROS integration is built on top of Windows Subsystem for Linux (WSL2) through python API support from BeamNGpy
  • Basic ROS functionality are included i.e., sensors streaming, Rviz simulation, direct keyboard control (Teleop)
  • ROS topics for Sensor Suite:  multiple filters of the camera ( Annotated, instance, Depth, and RGB), 3D Lidar, Ultrasonic, IMU, vehicle electrics (speed, fuel, temperature, gear, signals, lights, etc)
  • ROS packages: 
    • beamng_agent: for the control of a driving agent used for Teloep movement of the beamng_teleop_keyboard package, also used for enable/disable keyboard remote control to the BemaNG.Tech simulation platform.
    • beamng_control: loading the ROS-BeamNG.Tech bridge and the scenario details ( vehicle, environment, sensors, location, etc.) 
    • beamng_msgs: defind the custom messages of the BemaNG.Tech simulator to be readable by ROS-standards. 
    • beamng_teleop_keyboard: keyboard remote control of the BemaNG.Tech simulation platform through ROS bridge. 

Customizable shortcuts for quick access to several features:

  • Ctrl+Shift+A: toggles ABS off/on (note: works with vehicles that feature ABS only)
  • Ctrl+Shift+L: installs a LIDAR sensor on top of the vehicle, and activates a visualization of the resulting point cloud in real time
  • Ctrl+Shift+U: installs several ultrasonic sensors on the front and rear bumpers of the vehicle, visualizing the ultrasonic pulses on screen
  • Ctrl+Shift+O: cycles the graphics render, from normal visible spectrum camera, to annotated object types
  • Ctrl+Shift+P: cycles the graphics render, from normal visible spectrum camera, to annotated object instances