openmobility-wg / userstories

Eclipse Public License 2.0
8 stars 2 forks source link

Understand vehicle's decisions #12

Open RobertHilbrich opened 4 years ago

RobertHilbrich commented 4 years ago

As a Advanced User

I want to understand vehicle's decisions

In order to simplify the design, the upgrading, and the maintenance of car-following (but also lane-changing) models

Acceptance criteria

behrisch commented 4 years ago

Making the possiblities accessible in car following is probably not hard but very dependent on the model (with Krauss it is most of the time only full braking or accelerating to / keeping maximum speed). The same is true for lane changing. Evaluating all possible combinations may get very time consuming. Do you want to be able to override the decision before it is executed or is this only an information?

michele-segata commented 4 years ago

Actually I am not interested in overriding decisions, but rather knowing why a decision has been taken. I'll try to explain what I mean with an example. While I was developing the platooning car-following models, sometimes I stumbled upon misbehaving vehicles, e.g., a vehicle that was slowing down because it was approaching a junction even though I wanted the vehicle to continue straight at its own desired speed. The SUMO logic was taking the minimum speed value among all the possible ones. To understand what went wrong, I had to do a step-by-step debugging until finding the point where the decision was made, but sometimes this was taking a lot of time. Even by enabling the verbose output (the #define inside various modules) it was difficult to understand the behavior. Having something that collects all possible choices and tells the developed which choice has been made and why, would make things much much easier. Maybe this is simply unfeasible to implement, but at least I wanted to share the idea.

ZoltanBaksa commented 4 years ago

Hi, I would like to agree with Michela-Segata, Such decision trees are very important, because we can compare them to human decisions, or based on these comparisons we could improve autonomous vehicle decisions to.

behrisch commented 4 years ago

As of todays meeting in Ludwigsburg this was one of the most voted stories. Since it also needs more refinement, we decided not to tackle it first but keep working on it.

michele-segata commented 4 years ago

I totally understand this. This is most probably very challenging from a coding perspective, and at the same time it is a feature for a niche group of users. Feel free to write me for refinement questions.

namdre commented 3 years ago

sumo-gui exposes some state of lane-changing models current decision (vehicle parameter dialog). Likewise it would be feasible to name the traffic participant or environmental feature that was responsible for the current speed choice.

michele-segata commented 3 years ago

That would be a great feature. I would like to elaborate on this. Here you are proposing to name the traffic participant or the environmental feature responsible for the decision but additional in depth output might be needed. For example, there might be a high-level reason (a slower vehicle ahead) and a low-level reason (a specific action by a car following model). Maybe it would be possible to "append" decisions at different levels and show them in the inspection dialog.