sisl / AutomotiveDrivingModels.jl

Driving simulation architecture for Julia
Other
63 stars 29 forks source link

IDM leading to negative velocities #43

Closed mattuntergassmair closed 4 years ago

mattuntergassmair commented 4 years ago

Currently, in the case where the distance to the lead vehicle is smaller than s_min a full break with maximum deceleration is returned. At this maximum deceleration, the resulting velocity may become negative (e.g. at dt=1s, initial state with v=2m/s, deceleration=9m/s -> v_new=-7m/s). It is probably safe to say that negative velocities (i.e. backward driving, against the flow of traffic) are usually not desired. I suggest changing the model such that it does not reach negative velocities, as this seems out of the scope of an IDM.

mattuntergassmair commented 4 years ago

It may be difficult to implement this change - IDM does not have access to the timestep and propagate(... LaneFollowingAccel ...) applies the action without knowledge about what model produced it. @MaximeBouton

MaximeBouton commented 4 years ago

It seems like this could be solve by having a different action type that would prevent negative velocities in the propagate, something like ForwardAccel. One would then wrap the IDM model to output such action, or we could make it the default action for IDM but I am not sure if this is a good idea.

wbrannon commented 4 years ago

Would it be reasonable to introduce proportional braking, with -d_max as the bound to which deceleration is maximized?

mattuntergassmair commented 4 years ago

I think that's already the case, but depending on how long you apply your deceleration d_max for, the resulting velocity could be negative