Skip to content

Commit

Permalink
Merge for v2.1.0 release (with doc fix).
Browse files Browse the repository at this point in the history
  • Loading branch information
grid-worlds committed Nov 17, 2024
2 parents 6e85d1c + 23d2afc commit 5ea4fa1
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
1 change: 1 addition & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
----------------------------
Expand Down
3 changes: 2 additions & 1 deletion Prepare_Your_Submission.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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.
Expand Down

0 comments on commit 5ea4fa1

Please sign in to comment.