scoutos / scout / libscout / src / behaviors / Scheduler.h @ 7ac5e9bc
History | View | Annotate | Download (746 Bytes)
1 | 97b6298e | unknown | #ifndef _SCHEDULER_
|
---|---|---|---|
2 | #define _SCHEDULER_
|
||
3 | |||
4 | 76cefba1 | Priya | #include "../helper_classes/PQWrapper.h" |
5 | #include "../helper_classes/Order.h" |
||
6 | #include "../Behavior.h" |
||
7 | 97b6298e | unknown | |
8 | 2f025967 | Priya | #define NUM_TASKS 5 |
9 | |||
10 | 3f72678f | Priya | typedef struct{ |
11 | std::string name; |
||
12 | 7ac5e9bc | Priya | ros::Publisher topic; |
13 | 3f72678f | Priya | } Robot; |
14 | |||
15 | 76cefba1 | Priya | class Scheduler : Behavior { |
16 | 3f72678f | Priya | std::vector<Robot> robots; |
17 | 2f025967 | Priya | PQWrapper* unassignedOrders; |
18 | 97b6298e | unknown | std::vector<Order> assignedOrders; |
19 | 3f72678f | Priya | std::queue<Robot> waitingRobots; |
20 | 76cefba1 | Priya | |
21 | void create_orders();
|
||
22 | |||
23 | void waiting_dance();
|
||
24 | |||
25 | 3f72678f | Priya | void msg_callback(const std_msgs::String::ConstPtr& msg); |
26 | |||
27 | 97b6298e | unknown | public:
|
28 | 2f025967 | Priya | Scheduler(std::string scoutname); |
29 | 97b6298e | unknown | ~Scheduler(); |
30 | |||
31 | 3f72678f | Priya | void get_task(int robot); |
32 | 97b6298e | unknown | |
33 | void task_complete(Order o);
|
||
34 | void task_failed(Order o);
|
||
35 | |||
36 | |||
37 | Order get_next_item(); |
||
38 | |||
39 | void run();
|
||
40 | 3f72678f | Priya | |
41 | 7ac5e9bc | Priya | ros::Subscriber robot_to_sched; |
42 | 97b6298e | unknown | |
43 | }; |
||
44 | 76cefba1 | Priya | #endif |