eclipse-sumo / sumo

Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
https://eclipse.dev/sumo
Eclipse Public License 2.0
2.48k stars 1.4k forks source link

Cannot make car1(ego) follow car2(leader) by using the ACC carfollowingModel #8023

Closed mateen-malik closed 3 years ago

mateen-malik commented 3 years ago

Hi,

I wish to have car1 always follow car2, so what i did was as follows,

<vType id="car1" length="5" maxspeed="50" vClass="passenger" lcSpeedGain="0.1" speedFactor="1.0" carfollowingModel="ACC" minGap="2.5" accel="1.0" decel="4" sigma="0.5"/>

<vType id="car2" length="5" maxspeed="50" vClass="passenger" lcSpeedGain="0.0" speedFactor="0.7" carfollowingModel="Krauss" minGap="2.5" accel="3.5" decel="4" sigma="0.5"/>

I thought even if the lcSpeedGain of 'car1' is higher than 'car2', the car1 should still follow car2 as the carfollowingModel of car1 is set to ACC.

So ACC will adjust its speed according to the vehicle infront? But what i found was that, the car1 driving behaviour is dependent on the parameters, such as lcSpeedGain, speedFactor and accel . It totally ignores the carfollowingModel parameter.

I am using the latest version that is, sumo-1.8.0 what am i doing wrong here? :( Need some help.

Thanks alot for your help in advance.

Best regards,

namdre commented 3 years ago

I think the model name ACC is misleading you. The model just determines the following speed under the condition that there is a leader to be followed and no reason for lane changing exists. It does not activate any kind of platooning behavior.

mateen-malik commented 3 years ago

got it, thanks alot for the explanation. So, I wonder if i can make the ego vehicle (i.e. ca1) always follow the vehicle (i.e. car2) in front of it? even if the ego vehicle's speed is higher? How can i activate the platooning behavior?

Thanks again, Best regards,

namdre commented 3 years ago
mateen-malik commented 3 years ago

Hi again,

thank you sooo much for your generous help and guidance, really appreciated! One further question i have in mind which i need some help to understand that is as follows,

by setting lcSpeedGain="0" and lcKeepRight="0" and disabling laneChangeMode we can keep the vehicle in one lane following the vehicle in front. This behavior will be the same with both Krauss and ACC carfollowModels. Then what is the difference between Krauss and ACC models?

Thanks again, best regards, /MM

namdre commented 3 years ago

ACC uses a different formula to compute follow speed and this results in different gaps and accelerations.