HKUST-Aerial-Robotics / EPSILON

MIT License
641 stars 232 forks source link

the ego car looks like it can only go straight #20

Closed wentunshui closed 2 years ago

wentunshui commented 2 years ago

HI! Thank you for your wonderful work! However, when I try to run your demo, I found that in certain circumstances, such as in the leftmost Lane, when there are vehicles in front of the lane where the self driving vehicle is located, but there are no obstacles in the surrounding lanes, the self driving vehicle only adopts the following strategy, rather than choosing to detour. In addition, can you explain the meaning of automatic driving level and aggressive level in their respective levels? thank you.

wentunshui commented 2 years ago

I have conducted more experiments to confirm that the algorithm itself has no problem, but the performance of avoiding obstacles is different every time.

MasterIzumi commented 2 years ago

@wentunshui sorry for the late reply. The lane-changing decision depends on the cost evaluation, which is not that consistent during the experiment, especially in the asynchronous simulation. If you want the ego vehicle becomes more "active", you can tune the parameters in eudm_config.pb.txt, for example, enlarging 'ego_speed_blocked_by_leading_unit_cost' will make the ego vehicle tends to overtake :)

As for the second question: autonomouslevel<3 means we disable "smart" lateral behavior, the ai agents only keep their lanes. When autonomouslevel>=3, active lane-changing is enabled for the ai agents, however, this is not recommended since it will cost much more computation.

aggressivelevel will change the simulation parameters for the ai agents. Since our driver model for ai is pretty simple, we only change the parameters of the IDM and pure-pursuit model. Please refer to multimodal_forward.h for detailed values.

wentunshui commented 2 years ago

@wentunshui sorry for the late reply. The lane-changing decision depends on the cost evaluation, which is not that consistent during the experiment, especially in the asynchronous simulation. If you want the ego vehicle becomes more "active", you can tune the parameters in eudm_config.pb.txt, for example, enlarging 'ego_speed_blocked_by_leading_unit_cost' will make the ego vehicle tends to overtake :)

As for the second question: autonomouslevel<3 means we disable "smart" lateral behavior, the ai agents only keep their lanes. When autonomouslevel>=3, active lane-changing is enabled for the ai agents, however, this is not recommended since it will cost much more computation.

aggressivelevel will change the simulation parameters for the ai agents. Since our driver model for ai is pretty simple, we only change the parameters of the IDM and pure-pursuit model. Please refer to multimodal_forward.h for detailed values.

Thank you very much for your answer. It helps me a lot.:)