Project

General

Profile

Statistics
| Branch: | Revision:

root / scout / libscout / src / behaviors / WH_Robot.h @ d37cfc69

History | View | Annotate | Download (881 Bytes)

1 bebd9bcb Leon
#ifndef _WH_ROBOT_
2
#define _WH_ROBOT_
3
4 6761a531 Priya
#define DEFAULT_TASK NULL
5 9b4328d7 Priya
#define TASK_COMPLETED 0
6
#define TASK_FAILED -1
7 bebd9bcb Leon
8 9b4328d7 Priya
#include "../Behavior.h"
9
#include "navigationMap.h"
10 bebd9bcb Leon
#include "../helper_classes/Order.h"
11 9b4328d7 Priya
#include <assert.h>
12
#include <stdlib.h>
13 bebd9bcb Leon
14 9b4328d7 Priya
class WH_Robot : Behavior{
15 3f72678f Priya
        std::string name;
16
        int id;
17
18
        int reg_failed;
19 bebd9bcb Leon
20 9b4328d7 Priya
        Order* curr_task;
21 6761a531 Priya
        navigationMap* nav_map;
22 bebd9bcb Leon
23 92d4adda Priya
        Duration get_worst_case_time(State start_state, State target_state);
24 9b4328d7 Priya
        int exec_task();
25 bebd9bcb Leon
26 7ac5e9bc Priya
        void robot_callback(const std_msgs::String::ConstPtr& msg);
27 3f72678f Priya
28 bebd9bcb Leon
    public:
29 3f72678f Priya
        WH_Robot(std::string scoutname);
30 9b4328d7 Priya
        ~WH_Robot();
31 bebd9bcb Leon
        void run();
32 9b4328d7 Priya
33
        void set_task(Order order);
34 d37cfc69 Leon
        void follow_path(Path path_to_follow);
35 9b4328d7 Priya
36 3f72678f Priya
        ros::Publisher robot_to_sched;
37
        ros::Subscriber sched_to_robot;
38
39 bebd9bcb Leon
};
40
41
#endif