state_data.h
Go to the documentation of this file.
1 
7 #ifndef __STATE_DATA_H
8 #define __STATE_DATA_H
9 
14 class RobotState {
15 public: // methods
16 
18  RobotState(): x(0), y(0), theta(0) {}
19 
24  RobotState(double x, double y, double theta) : x(x), y(y), theta(theta) {}
25 
30  void update(double d_x, double d_y, double d_theta) {
31  // TODO: move update policy to Strategy.
32  // TODO: original gMapping adds a nose on udpate (motionmodel.cpp:13)
33  x += d_x;
34  y += d_y;
35  theta += d_theta;
36  }
37 public:
38  double x, y, theta;
39 };
40 
41 
42 #include "maps/grid_map.h"
43 
44 // TODO: try to simplify template params
48 template <typename ObservationType, typename MapType>
49 class World {
50 public:
51  // data-in
52 
57  virtual void update_robot_pose(double x, double y, double theta) {
58  _pose.update(x, y, theta);
59  }
60 
62  virtual void handle_observation(ObservationType&) = 0;
63 
64  // data-out
66  virtual const World<ObservationType, MapType>& world() const { return *this; }
67 
69  virtual const RobotState& pose() const { return _pose; }
70 
72  virtual const MapType& map() const = 0;
73 private:
75 };
76 
77 #endif
double x
Definition: state_data.h:38
virtual const RobotState & pose() const
Returns the robot pose.
Definition: state_data.h:69
RobotState(double x, double y, double theta)
Definition: state_data.h:24
double theta
The position of robot.
Definition: state_data.h:38
double y
Definition: state_data.h:38
void update(double d_x, double d_y, double d_theta)
Definition: state_data.h:30
Defines the Grid map.
Defines a robot position in cartesian coordinates and an angle of rotation.
Definition: state_data.h:14
virtual const World< ObservationType, MapType > & world() const
Returns this world.
Definition: state_data.h:66
RobotState()
Sets a robot in (0,0) oriented as zero angle.
Definition: state_data.h:18
RobotState _pose
Definition: state_data.h:74
virtual void update_robot_pose(double x, double y, double theta)
Definition: state_data.h:57


tiny_slam
Author(s):
autogenerated on Mon Jun 10 2019 15:30:57