michele-segata / plexe-pyapi

Python APIs to control Plexe models in SUMO
49 stars 14 forks source link

Vehicles ignore safe distances #14

Open zhaotuo0815 opened 1 year ago

zhaotuo0815 commented 1 year ago

PLATOON hello,developers,why do vehicles ignore the safety distance, and some vehicles stop suddenly, and then the front and rear vehicles are piled up together as the picture shows: PLATOON

zhaotuo0815 commented 1 year ago

PLATOON

problem
michele-segata commented 1 year ago

You are injecting platoons into an on ramp but the leader, which is driven by an ACC, has no notion of stops of right of ways, as it is in the real world. Platoons entering the highway thus basically jump into the main road without looking for incoming cars, as your car would do if you had ACC and you would not switch it off. This causes the first collision and the successive pile up.

zhaotuo0815 commented 1 year ago

You are injecting platoons into an on ramp but the leader, which is driven by an ACC, has no notion of stops of right of ways, as it is in the real world. Platoons entering the highway thus basically jump into the main road without looking for incoming cars, as your car would do if you had ACC and you would not switch it off. This causes the first collision and the successive pile up.

thank you so much.So how to solve this problem? Change the leader car's following model? By the way, I want the platoon vehicle to be released after reaching a certain road section. How should it be implemented?

michele-segata commented 1 year ago

This is the same problem in issue #9. At the end I suggest a way to do what you want to do, but you would need to modify the car following model MSCFModel_CC.

zhaotuo0815 commented 1 year ago

thank you so much.so the solution is to change the leader car's car-following model? By the way, if I want the vehicle platoon to be released after reaching a certain road segment, how should I achieve it?

------------------ 原始邮件 ------------------ 发件人: "michele-segata/plexe-pyapi" @.>; 发送时间: 2022年9月26日(星期一) 下午3:27 @.>; @.**@.>; 主题: Re: [michele-segata/plexe-pyapi] Vehicles ignore safe distances (Issue #14)

You are injecting platoons into an on ramp but the leader, which is driven by an ACC, has no notion of stops of right of ways, as it is in the real world. Platoons entering the highway thus basically jump into the main road without looking for incoming cars, as your car would do if you had ACC and you would not switch it off. This causes the first collision and the successive pile up.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

michele-segata commented 1 year ago

thank you so much.so the solution is to change the leader car's car-following model?

No, changing the platoon leader car following model will not work as Plexe relies on MSCFModel_CC to obtain leader acceleration and speed. Please read #9. There is no quick solution. You can use the same car following model and user the DRIVER control algorithm, which basically uses the Krauss car following model, but you need to modify MSCFModel_CC (and then re-compile SUMO) so that it is still capable of providing acceleration and speed to the followers, even when a "human" is driving the vehicle.

By the way, if I want the vehicle platoon to be released after reaching a certain road segment, how should I achieve it?

Please read the dedicated thread you opened.

zhaotuo0815 commented 1 year ago

thank you so much.so the solution is to change the leader car's car-following model?

No, changing the platoon leader car following model will not work as Plexe relies on MSCFModel_CC to obtain leader acceleration and speed. Please read #9. There is no quick solution. You can use the same car following model and user the DRIVER control algorithm, which basically uses the Krauss car following model, but you need to modify MSCFModel_CC (and then re-compile SUMO) so that it is still capable of providing acceleration and speed to the followers, even when a "human" is driving the vehicle.

By the way, if I want the vehicle platoon to be released after reaching a certain road segment, how should I achieve it?

Please read the dedicated thread you opened. thank you so much. But when I use driver the DRIVER following model like( plexe.set_active_controller(vid, DRIVER)), The vehicle will automatically separate, vehicles will no longer form platooning anymore.

zhaotuo0815 commented 1 year ago

thank you so much.so the solution is to change the leader car's car-following model?

No, changing the platoon leader car following model will not work as Plexe relies on MSCFModel_CC to obtain leader acceleration and speed. Please read #9. There is no quick solution. You can use the same car following model and user the DRIVER control algorithm, which basically uses the Krauss car following model, but you need to modify MSCFModel_CC (and then re-compile SUMO) so that it is still capable of providing acceleration and speed to the followers, even when a "human" is driving the vehicle.

By the way, if I want the vehicle platoon to be released after reaching a certain road segment, how should I achieve it?

Please read the dedicated thread you opened.

By the way, the car will not brake when I use the ACC or CACC following model. brake script

michele-segata commented 1 year ago

thank you so much. But when I use the DRIVER following model like( plexe.set_active_controller(vid, DRIVER)), The vehicle will automatically separate, vehicles will no longer form platooning anymore.

Yes, as I said before, you will need to modify MSCFModel_CC (and then re-compile SUMO) so that the leader vehicle still provides acceleration and speed to the followers, even when a "human" is driving the vehicle. By default it will no work, you will need to work on the source code.

zhaotuo0815 commented 1 year ago

thank you so much. But when I use the DRIVER following model like( plexe.set_active_controller(vid, DRIVER)), The vehicle will automatically separate, vehicles will no longer form platooning anymore.

Yes, as I said before, you will need to modify MSCFModel_CC (and then re-compile SUMO) so that the leader vehicle still provides acceleration and speed to the followers, even when a "human" is driving the vehicle. By default it will no work, you will need to work on the source code.

Thank you so much for your replying. The next question is how to re-compile SUMO.

michele-segata commented 1 year ago

Thank you so much for your replying. The next question is how to re-compile SUMO.

Please follow the instructions on the official SUMO website