Migration from BeamNGpy on BeamNG.tech.v0.38 to C++ ROS2 integration on BeamNG.tech.v0.39

Hi,

I have developed the BeamNG.tech.v0.38.3.0 ROS2 implementation through ROS2 packages and command-line executions. I have tried the new C++ implementation, and I have realised that both the server and ROS2 sensors are loaded through the BeamNG World Editor. Is it possible to load the ROS2 sensor JSON configuration created with the World Editor through a ROS2 service (Similar to what has been done here: beamng-ros2-integration/beamng_ros2/beamng_ros2/examples/start_scenario.py at main · BeamNG/beamng-ros2-integration · GitHub )? I would also like to know if there is a flag to start the server with the required “-disable-sandbox”.

Thank you for your support. BR

Hello,

Thank you for reaching out!

At the moment it is not possible to load a World Editor ROS2 sensor JSON configuration through a ROS2 service (or otherwise drive the C++ ROS2 stack without the World Editor) in the way start_scenario.py does for the Python integration. Enabling C++ ROS2 stack, starting vehicle nodes, and applying sensor configs currently go ONLY through the World Editor UI. and you need the C++ Bridge and ROS2 Editor — BeamNG-ROS2 documentation

We have noted this as a requested improvement and will add it to our changelog for a future release.

Regarding the BeamNGpy / tech communication server: you can start it from the command line with -tcom (and optionally -tport <port>) when launching BeamNG.tech, so you do not need to start it from the World Editor. ex,
Bin64\BeamNG.tech.x64.exe -tcom -nosteam -level smallgrid -vehicle etk800 -disable-sandbox

follow Arguments and Settings, for more information.

Please let me know if you have any further questions or require additional assistance.

Best regards,

Abdulrahman Saeed
Junior Research Software Engineer
BeamNG.tech Support Team
BeamNG GmbH