17#ifndef DAISI_CPPS_LOGICAL_TASK_MANAGEMENT_TASK_MANAGEMENT_H_
18#define DAISI_CPPS_LOGICAL_TASK_MANAGEMENT_TASK_MANAGEMENT_H_
26#include "cpps/amr/amr_description.h"
27#include "cpps/amr/amr_topology.h"
28#include "material_flow/model/task.h"
29#include "metrics_composition.h"
30#include "task_management_helper.h"
31#include "utils/structure_helpers.h"
39 : amr_description_(std::move(amr_description)),
40 topology_(std::move(topology)),
41 current_pose_(pose) {}
61 void addNotifyTaskAssignmentCallback(std::function<
void(
void)> callback) {
62 task_assignment_callbacks_.push_back(std::move(callback));
65 void clearNotifyTaskAssignmentCallback() { task_assignment_callbacks_.clear(); }
68 std::vector<std::function<void(
void)>> task_assignment_callbacks_;
Definition amr_description.h:27
Definition amr_topology.h:26
Definition task_management.h:35
virtual daisi::material_flow::Task getCurrentTask() const =0
get the current task
virtual bool addTask(const daisi::material_flow::Task &task)=0
insert a task into the management's queue.
virtual bool canAddTask(const daisi::material_flow::Task &task)=0
check wether a new task can be added to the management's queue
virtual bool hasTasks() const =0
check wether the task management has a current task assigned
virtual bool setNextTask()=0
replace the current task with the first task stored in the management's queue
Modified Round Robin Algorithm that centrally assigns tasks of incoming material flows to the corresp...
Definition algorithm_config.h:22
Definition structure_helpers.h:64