Project

General

Profile

Revision 751d4f4f

ID751d4f4fca7ad338301c065f7b3ad680c3570e6c
Parent ae23d242
Child 5925bbbb

Added by Alex Zirbel almost 11 years ago

Made danger_marking depend on Odometry correctly

View differences:

scout/libscout/src/behaviors/Odometry.h
12 12
#define ENCODER_COUNT (2*WHEEL_RADIUS*350*M_PI/WHEEL_BASE)
13 13
#define DIST_PER_TICK (WHEEL_CIRCUM/ENCODER_COUNT)
14 14

  
15
class Odometry : Behavior{
15
class Odometry : public Behavior {
16 16

  
17
  public:
17
    public:
18 18

  
19
  /** Set up the odometry node and prepare communcations over ROS */
20
  Odometry(std::string scoutname, Sensors* sensors);
19
        /** Set up the odometry node and prepare communcations over ROS */
20
        Odometry(std::string scoutname, Sensors* sensors);
21 21

  
22
  /** Query encoders and estimate position based on encoder reading */
23
  void get_position();
22
        /** Set up the odometry node and prepare communcations over ROS */
23
        Odometry(std::string scoutname, std::string behavior_name, Sensors* sensors);
24 24

  
25
  /** Gets scout position and prints to screen */
26
  void run();
27
  
28
  private:
25
        /** Query encoders and estimate position based on encoder reading */
26
        void get_position();
29 27

  
30
    /** ROS publisher and client declaration */
31
    ros::NodeHandle node;
32
    ros::Publisher scout_position;
33
    ros::ServiceClient query_encoders_client;
34
    messages::ScoutPosition position;
28
        /** Gets scout position and prints to screen */
29
        void run();
35 30

  
36
    std::string name;
31
    protected:
37 32

  
38
    float msg_time_in;
33
        pos* scout_pos;
39 34

  
40
    int motor_fl_dist;
41
    int motor_fr_dist;
42
    int motor_bl_dist;
43
    int motor_br_dist;
35
    private:
44 36

  
45
    unsigned int motor_fl_ticks;
46
    unsigned int motor_fr_ticks;
47
    unsigned int motor_bl_ticks;
48
    unsigned int motor_br_ticks;
49
    float scout_theta;
37
        /** ROS publisher and client declaration */
38
        ros::NodeHandle node;
39
        ros::Publisher scout_position;
40
        ros::ServiceClient query_encoders_client;
41
        messages::ScoutPosition position;
50 42

  
51
    pos* scout_pos;
43
        std::string name;
44

  
45
        float msg_time_in;
46

  
47
        int motor_fl_dist;
48
        int motor_fr_dist;
49
        int motor_bl_dist;
50
        int motor_br_dist;
51

  
52
        unsigned int motor_fl_ticks;
53
        unsigned int motor_fr_ticks;
54
        unsigned int motor_bl_ticks;
55
        unsigned int motor_br_ticks;
56
        float scout_theta;
52 57
};
53 58

  
54 59
#endif

Also available in: Unified diff