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

139 feature reduce decision tree #142

Merged
merged 4 commits into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 1 addition & 41 deletions code/planning/behavior_agent/src/behavior_agent/behavior_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,47 +61,7 @@ def grow_a_tree(role_name):
("Leave Change")
])
]),
Inverter(Selector("Overtaking", children=[
behaviours.traffic_objects.NotSlowedByCarInFront
("Not Slowed By Car in Front?"),
Selector("Number of Lanes", children=[
Sequence("Multi Lane", children=[
behaviours.road_features.MultiLane("Multi Lane?"),
behaviours.road_features.LeftLaneAvailable
("Left Lane Available?"),
behaviours.traffic_objects.WaitLeftLaneFree
("Wait for Left Lane Free"),
behaviours.maneuvers.SwitchLaneLeft("Switch Lane Left")
]),
Sequence("Single Lane", children=[
behaviours.road_features.SingleLineDotted
("Single Lane with dotted Line?"),
behaviours.traffic_objects.WaitLeftLaneFree
("Wait for Left Lane Free"),
behaviours.maneuvers.SwitchLaneLeft
("Switch Lane Left"),
Selector("Driving on Left Side", children=[
Sequence("Overtake", children=[
behaviours.traffic_objects.OvertakingPossible
("Overtaking Possible?"),
behaviours.maneuvers.Overtake("Overtake"),
behaviours.maneuvers.SwitchLaneRight
("Switch Lane Right")
]),
behaviours.maneuvers.SwitchLaneRight("Switch Lane Right")
])
])
]),
Running("Can't Overtake")
])),
Sequence("Back to Right Lane", children=[
behaviours.road_features.RightLaneAvailable("Right Lane Available"),
behaviours.traffic_objects.NotSlowedByCarInFrontRight
("Not Slowed By Car in Front Right?"),
behaviours.traffic_objects.
WaitRightLaneFree("Wait for Right Lane Free"),
behaviours.maneuvers.SwitchLaneRight("Switch Lane Right")
])

]),
behaviours.maneuvers.Cruise("Cruise")
])
Expand Down
4 changes: 2 additions & 2 deletions doc/03_research/03_planning/00_paf23/01_Planning.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Finding the optimal path from start to goal, taking into account the static and

### [PAF21 - 2](https://github.com/ll7/paf21-2)

![Planning](Planning_paf21.png)
![Planning](../../../00_assets/planning/Planning_paf21.png)

Input:

Expand Down Expand Up @@ -55,7 +55,7 @@ Map Manager

### [Autoware](https://github.com/autowarefoundation/autoware)

![https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/planning/](Planning.png)
![https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/planning/](../../../00_assets/planning/Planning.png)

Input:

Expand Down
2 changes: 1 addition & 1 deletion doc/03_research/03_planning/00_paf23/02_PlanningPaf22.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Architecture

![overview](overview.jpg)
![overview](../../../00_assets/planning/overview.jpg)

### Preplanning

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Provide an overview for a possible planning architecture consisting of Global P

## Overview

![overview](overview.png)
![overview](../../../00_assets/planning/overview.png)

The **Global Plan** gathers all data relevant to build a copy of the town the car is driving in. It also computes an optimal global path, which includes all waypoints. The Decision Making can order a recalculation of the global path.

Expand All @@ -19,7 +19,7 @@ Motions like lane changing must be approved by the decision making and they get

### Global Plan

![overview](Globalplan.png)
![overview](../../../00_assets/planning/Globalplan.png)

*Map Generator:* Gathers map data from Carla and prepares it for the PrePlanner

Expand Down Expand Up @@ -69,7 +69,7 @@ See Behaviour Tree.

### Local Plan

![Local Plan](localplan.png)
![Local Plan](../../../00_assets/planning/localplan.png)

*Local Preplan:* Segements the global path and calculates the middle of the lane. Is not called in every cycle.

Expand Down Expand Up @@ -128,4 +128,4 @@ See Behaviour Tree.

Red must have for next Milestone, Orange needed for future milestones, Green can already be used or is not that important

![prios](prios.png)
![prios](../../../00_assets/planning/prios.png)
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Julius Miller

Paper: [Behavior Planning for Autonomous Driving: Methodologies, Applications, and Future Orientation](https://www.researchgate.net/publication/369181112_Behavior_Planning_for_Autonomous_Driving_Methodologies_Applications_and_Future_Orientation)

![Overview_interfaces](overview_paper1.png)
![Overview_interfaces](../../../00_assets/planning/overview_paper1.png)

Rule-based planning

Expand Down Expand Up @@ -49,7 +49,7 @@ Leader, Track-Speed

Github: [Decision Making with Behaviour Tree](https://github.com/kirilcvetkov92/Path-planning?source=post_page-----8db1575fec2c--------------------------------)

![github_tree](BehaviorTree_medium.png)
![github_tree](../../../00_assets/planning/BehaviorTree_medium.png)

- No Intersection
- Collision Detection in behaviour Tree
Expand All @@ -58,7 +58,7 @@ Paper: [Behavior Trees for
decision-making in Autonomous
Driving](https://www.diva-portal.org/smash/get/diva2:907048/FULLTEXT01.pdf)

![Behaviour Tree](BT_paper.png)
![Behaviour Tree](../../../00_assets/planning/BT_paper.png)

- simple simulation
- Car only drives straight
Expand All @@ -81,17 +81,17 @@ Low Level Decision:
- Emergency Brake
- ACC

![localplan](localplan.png)
![localplan](../../../00_assets/planning/localplan.png)

Scenarios:

![Intersection](intersection_scenario.png)
![Intersection](../../../00_assets/planning/intersection_scenario.png)

Left: Behaviour Intersection is triggered for motion planning, acc publishes speed. -> Lower speed is used to approach intersection

Right: Behaviour Intersection is used for motion planning, acc is ignored (no object in front)

![Overtake](overtaking_scenario.png)
![Overtake](../../../00_assets/planning/overtaking_scenario.png)

Left: Overtake gets triggered to maintain speed, acc is ignored

Expand Down
Loading