diff --git a/docs/assets/img/tutorial_arbitrator_ChaseGhost.png b/docs/assets/img/tutorial_arbitrator_ChaseGhost.png new file mode 100644 index 00000000..ea2b238b Binary files /dev/null and b/docs/assets/img/tutorial_arbitrator_ChaseGhost.png differ diff --git a/docs/assets/img/tutorial_arbitrator_EatDotsByReward.png b/docs/assets/img/tutorial_arbitrator_EatDotsByReward.png new file mode 100644 index 00000000..9c6ccf83 Binary files /dev/null and b/docs/assets/img/tutorial_arbitrator_EatDotsByReward.png differ diff --git a/docs/assets/img/tutorial_arbitrator_EatDotsRandomly.png b/docs/assets/img/tutorial_arbitrator_EatDotsRandomly.png new file mode 100644 index 00000000..93ab48b8 Binary files /dev/null and b/docs/assets/img/tutorial_arbitrator_EatDotsRandomly.png differ diff --git a/docs/assets/img/tutorial_arbitrator_verification.png b/docs/assets/img/tutorial_arbitrator_verification.png new file mode 100644 index 00000000..9a653cb6 Binary files /dev/null and b/docs/assets/img/tutorial_arbitrator_verification.png differ diff --git a/docs/assets/img/tutorial_scenario_ChaseGhost_cropped.png b/docs/assets/img/tutorial_scenario_ChaseGhost_cropped.png new file mode 100644 index 00000000..ab540c5b Binary files /dev/null and b/docs/assets/img/tutorial_scenario_ChaseGhost_cropped.png differ diff --git a/docs/tasks/1_implement_behavior_component.md b/docs/tasks/1_implement_behavior_component.md index 0341802a..ed977457 100644 --- a/docs/tasks/1_implement_behavior_component.md +++ b/docs/tasks/1_implement_behavior_component.md @@ -8,6 +8,10 @@ tagline: "Task 1: Implement a Behavior Component" Implement your first `checkInvocationCondition()` and `getCommand()` function, such that the ChaseGhost behavior component passes its unit tests. +

+ +

+ ## Context Before we start building our arbitration graph, we want to take a closer look into behavior components. diff --git a/docs/tasks/2_extend_arbitration_graph.md b/docs/tasks/2_extend_arbitration_graph.md index 413cbf8f..8e392066 100644 --- a/docs/tasks/2_extend_arbitration_graph.md +++ b/docs/tasks/2_extend_arbitration_graph.md @@ -76,6 +76,13 @@ explicit PacmanAgent(const entt::Game& game) rootArbitrator_->addOption(moveRandomlyBehavior_, PriorityArbitrator::Option::Flags::INTERRUPTABLE); } ``` + +Your arbitration graph should now look like this: + +

+ +

+ diff --git a/docs/tasks/3_nested_arbitrators.md b/docs/tasks/3_nested_arbitrators.md index 48b92d28..ffc81687 100644 --- a/docs/tasks/3_nested_arbitrators.md +++ b/docs/tasks/3_nested_arbitrators.md @@ -8,6 +8,8 @@ tagline: "Task 3: Nested arbitration graphs" Integrate a long-term behavior and add another layer to the arbitration graph. +![](../assets/img/tutorial_arbitrator_EatDotsRandomly.png) + ## Context We have now implemented a behavior component and integrated it into the arbitration graph. diff --git a/docs/tasks/4_cost_arbitration.md b/docs/tasks/4_cost_arbitration.md index b49113cc..4499306b 100644 --- a/docs/tasks/4_cost_arbitration.md +++ b/docs/tasks/4_cost_arbitration.md @@ -8,6 +8,8 @@ tagline: "Task 4: Arbitrate based on predicted utility" Learn how the cost arbitrator can help you to arbitrate between behaviors based on their expected cost/utility. +![](../assets/img/tutorial_arbitrator_EatDotsByReward.png) + ## Context The `EatDot` arbitrator we added in the [previous task](3_nested_arbitrators.md) decides between the two dot eating strategies randomly. diff --git a/docs/tasks/5_verification.md b/docs/tasks/5_verification.md index bcf6ecf8..1b1f766f 100644 --- a/docs/tasks/5_verification.md +++ b/docs/tasks/5_verification.md @@ -8,6 +8,8 @@ tagline: "Task 5: Better safe than sorry" Execute only safe commands and add a fallback strategy. +![](../assets/img/tutorial_arbitrator_verification.png) + ## Context The arbitration graph is now complete and Pac-Man is eating dots like a pro.