Closed namdre closed 1 year ago
The model oscillates between these two states
The Krauss-based speed override does not come into play and the behavior takes place at speeds below 5m/s
@robertalms Would you care to take a look at this? Frankly, I'm baffled that nobody noticed this since it happens at the step-lengths that this model was being developed for and the situation is extremely common.
Sure, I'll have a look at it.
I can only speculate that nobody noticed this issue so far, since the CACC model was only used in the later half of the TransAID project for a very limited number of use cases (3 that I know of). Those were mostly highway scenarios to investigate traffic flow behavior with ToCs. Probably no one looked into this low speed behavior in more detail. Nevertheless - it's pretty odd
some acceleration spikes remain:
(from test cf_model/CACC/slow_approach_standing)
@namdre Your initial guess of adding a spacing error of somewhat around 2m was pretty accurate. I came to a value of > 1.66 . Adding this to the time gap condition in line 365 (time gap > 2) eliminates those remaining spikes for the standstill scenario.
The micro oscillations you discovered for the platooning scenarios stem from the model frequently switching between mode (ii) and (iv) because the spacing error oscillates around zero... that's part of the original implementation/parametrization of the CACC model and should be tackled in another ticket.
Thanks! Would you do a pull request with the proposed changes?
PR done.
Feel free to change the speed division with an epsilon (NUMERICAL_EPS_SPEED?), as discussed - I didn't really know how to do that. (From what I saw on in the platoon tests, a time gap around 1sec, would be reasonable, even with speed close to zero.)
Hm. I'd say it's better than before but there is still something "creepy" about the way the vehicle fails to stop for ~20s and then there is still an acceleration spike at the end:
also the test tests/sumo/devices/driverstate/queue_stop_start_cacc_apply now has emergency braking which it didn't have before ('m guessing that the new space threshold now creates instability when the driverstate model applies an error term to the remaining gap).
Attached you may find three platooning tests that aim to replicate platooning maneuvers from the original publications. ACC_CACC_tests.zip
only marginally related but probably of interested to @robertalms : 03482f3daef2d0a0739ac2819ca1702f58a11c7f
I suggest to close this issue and would refer to the newly opened #11776 for further CACC model discussions.
This ticket and #11776 could also be reviewed by @vmintsis @dimikout3 and @kporfyri.
Attached you may find three platooning tests that aim to replicate platooning maneuvers from the original publications. ACC_CACC_tests.zip
@robertalms: I've adapted the tests so that they run without traci by using type calibrators that change the permitted acceleration and deceleration for the leader
Nice. I guess you still had to mimick the test by a positional definition, right? The original definition of the test is time based (accel/decel for x seconds and so on) and I didn't know how to do that with waypoints or calibrators, therefore I tried to replicate the leader behavior via traci. Nevertheless, the new test should do just fine to test stabilities. Thanks!
The setup with calibrators makes it very hard to replicate the desired timing so this test doesn't really try. A better solution would be #1922