Overview
The Adaptive Cruise Control (ACC) is an ADAS feature that allows a vehicle to maintain a certain speed. This speed can vary over time since is computed as the minimum between the reference value set by the user and the speed that allows the vehicle to fulfill some distance constraints with respect to the surrounding cars. The actual implementation of the ACC exploits simulation information about the surroundings, which is also included in ideal RADAR sensor output, and controls the vehicle actuating the brake and throttle pedals. The type of controller used is a linear and unconstrained Model Predictive Control (MPC).
Usage
In order to load the ACC extension the user has to call the following command in the game engine console that can be accessed pressing Ctrl + @
.
extensions.tech_ACC.loadACC(targetSpeeed, debugFlag)
This command will automatically load and start running the ACC.
The inputs are:
targetSpeed
desired speed in m/sdebugFlag
Boolean value, if true then the controller generate a .CSV file stored inAppData/Local/BeamNG.drive/<current version>
containing target speed, real speed and control input over time.
The fixed target speed can be changed also once the extension is loaded with the following command :
extensions.tech_ACC.changeSpeed(targetSpeed)
.
In order to deactivate the extension the following command can be used :
extensions.tech_ACC.unloadACC()
.
Example
Here is an example how to load ACC in the console. Similar way, the user can unload the ACC or change the target speed. ACC load example.