Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Platoon-aware lane change logic #14809

Merged
merged 13 commits into from May 2, 2024

Conversation

michele-segata
Copy link
Contributor

This PR solves the long-lasting problem of making Plexe-controlled platoons change lane atomically (#14623). It does so by slightly changing MSLaneChanger enabling to have a custom lane change model. The changes to core files are backward compatible and do not affect "standard" SUMO simulations. A summary of the changes is listed below:

  • This commit is the one making changes to the core files (MSLaneChanger and MSAbstractLaneChangeModel). As you can see the change is minimal and totally backward compatible. The idea is, when a vehicle wants to change lane and it is not blocked, call the checkChangeBeforeCommitting method to re-evaluate the blocking state. If not implemented, this method simply returns 0 (so not blocked) and thus have no effect.
  • This commit instead adds a custom lane change model that extends LC2013 and which is platoon-aware. For vehicles not using MSCFModel_CC the lane change model has no effect, but in any case people not using platooning features would not even instantiate that.

We tested the changes running several simulations with hundreds of vehicles and platoons that can autonomously change lane and verified that no collisions occur. In fact, the test campaign revealed another bug, that is, an invalid reference to a pointer when the leader vehicle leaves the simulation. We fixed this in this commit.
The last commit is another issue related to the realistic engine model which caused platooning vehicles not to converge to the desired distance due to friction forces. The commit now uses friction forces only to compute the physical limits of the vehicle.

@namdre namdre merged commit 274fe5d into eclipse-sumo:main May 2, 2024
55 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants