open-rmf / open-rmf/rmf_task

Generalized Task Planning

Open
#34 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement priority:low
Dominant language
C++
Stars
27
Forks
30
PR merge metrics
No merged PRs in 30d

Description

Currently, the rmf_task::agv::TaskPlanner performs task allocation, ie, given a set of agents and requests, it optimally assigns the different requests across the agents such that a cost function is minimized while ensuring all agents has sufficient resources (battery, consumables) to perform the requests. The current planner also works assuming all the agents share similar mechanical and electrical traits along with other constraints and are all capable of performing the reqeusts. Hence, it is more suitable for planning within a fleet where all the robots in the fleet are similar.

This is not the same as task planning where a task is defined by series of actions that need to execute in a meaningful sequence while respecting constraints. For example, we may want to define a new task Clean to have an area of the floor be cleaned. We want to be able to define the expectation of Clean as having the floor vacuumed first, followed by mopped, then wait for 20 mins and finally disinfected. Each of the above processes (vacuuming, mopping, disinfecting) may need to be performed by a different agent. The task planner should then optimally assign each action to suitable agents such that battery/resource constraints are respected along with the goal of minimizng an overall cost.

A PDDL based planner may allow for such generalized task planning.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the rmf_task::agv::TaskPlanner entry point and its current task-allocation assumptions. Define how sequenced actions, heterogeneous agents, resource constraints, and cost minimization should be represented; done would mean generalized tasks such as Clean can be planned and assigned across suitable agents.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.