From 23d2afc814cfc6b489e23706452d650081fc3b45 Mon Sep 17 00:00:00 2001 From: nobodyczcz Date: Sun, 17 Nov 2024 22:26:14 +1100 Subject: [PATCH] fix missing docs --- Changelog.md | 1 + Prepare_Your_Submission.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index c09dcdc..b588b27 100644 --- a/Changelog.md +++ b/Changelog.md @@ -16,6 +16,7 @@ Changes: - The `update_goal_locations` function in Default Entry is updated to use the new `task_pool` API. (Warning, when updating your entry, make sure you review the changes on `Entry.cpp` and decide how you adapt the changes to your entry implementation.) - Update the Python binding to support the updated API. - Updated the example python scheduler to use the new API. (Warning, when updating, make sure you review the changes on `pyTaskScheduler.py` and decide how you adapt the changes to your scheduler implementation.) +- Assigning `task_id` `-1` to an agent to indicate no assigned task. This drops any existing but unopened task. However, assign `-1` to an agent with opened task leads to an invalid schedule error Version 2.0.0 - 2024-10-2 ---------------------------- diff --git a/Prepare_Your_Submission.md b/Prepare_Your_Submission.md index 64bbd42..7cd7655 100644 --- a/Prepare_Your_Submission.md +++ b/Prepare_Your_Submission.md @@ -92,6 +92,7 @@ The scheduler should return one task schedule per robot to the simulator environ - one task is assigned to more than one agent, - it includes completed task, - a task already opened by an agent is reassgned to another agent. +Additionally, assigning `task_id` `-1` to an agent to indicate no assigned task. This drops any existing but unopened task. However, assign `-1` to an agent with opened task leads to an invalid schedule error. If the scheduler returns invalid `proposed_schedule`, the `proposed_schedule` will be rejected and `current_schedule` remain unchanged. @@ -111,7 +112,7 @@ The starting point of your implementation is the file `src/MAPFPlanner.cpp` and At the end of each planning episode, you return one `Action` per robot to the simulator environment. The actions are written into the `actions` vector, which is input to the `plan()` function as a reference. `actions[i]` should be a valid `Action` for robot `i` which do not move the agent to obstacles and do not raise edge or vertex conflict with any other robot. If the planner returns any invalid `Action`, all agents wait at this timestep. -Similar to the scheduler, the planner can access the `SharedEnvironment` API. You need to use this API to read the current state of the system. +Similar to the scheduler, the planner can access the `SharedEnvironment` API. You need to use this API to read the current state of the system. The default `Entry` implementation writes next goal locations of agents with assigned tasks in `env->goal_locations`. The planner could refer to these goal locations to compute the next actions for the agents. The planner could also access the `env->curr_task_schedule` to know the detailed task schedule and task details. ### Implement your entry For participants that compete in the combined track, you can modify the `Entry`, `MAPFPlanner`, and `TaskScheduler` freely to meet your needs.