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

Understand vehicle's decisions #12

Open
RobertHilbrich opened this issue Sep 2, 2019 · 5 comments
Open

Understand vehicle's decisions #12

RobertHilbrich opened this issue Sep 2, 2019 · 5 comments

Comments

@RobertHilbrich
Copy link
Collaborator

@RobertHilbrich RobertHilbrich commented Sep 2, 2019

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

  • a list of possible driving choices (e.g., stay on current lane and gain a certain speed, or change lane and gain another speed)
  • actual choice with reason
  • possibility to investigate all potential sub-choices in a tree-like structure (e.g., stay on lane -> accelerate to meet desired speed OR stay within speed limit OR ...)
@behrisch

This comment has been minimized.

Copy link
Collaborator

@behrisch behrisch commented Sep 3, 2019

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

This comment has been minimized.

Copy link
Collaborator

@michele-segata michele-segata commented Oct 1, 2019

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

This comment has been minimized.

Copy link
Collaborator

@ZoltanBaksa ZoltanBaksa commented Oct 10, 2019

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

This comment has been minimized.

Copy link
Collaborator

@behrisch behrisch commented Oct 21, 2019

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

This comment has been minimized.

Copy link
Collaborator

@michele-segata michele-segata commented Oct 21, 2019

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.