-
Notifications
You must be signed in to change notification settings - Fork 0
/
Robot.h
36 lines (30 loc) · 969 Bytes
/
Robot.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef ROBOT_H
#define ROBOT_H
#include "WorldState.h"
class Robot{
public:
Robot(float, float, float);
array <float, 3> get_velocities();
array <float, 3> get_pose();
void motion_model(float, WorldState&);
void jacobian_motion(float, WorldState&);
void generate_r_matrix();
void update_pose(float, float, float);
protected:
private:
float x;
float y;
float theta;
float v_tx = 0.0;
float v_ty = 0.0;
float omega_t = 0.0;
//Consider removing jacobian_matrix_low
array <array <float, 3>, 3> jacobian_matrix_low;
array <array <float, 3>, 3> r_matrix_low{{}};
array <array <float, dim>, dim> jacobian{{}};
array <array <float, dim>, dim> jacobian_transposed{{}};
array <array <float, dim>, dim> r_matrix{{}};
// Consider making global
array <float, 3> ret_matrix;
};
#endif // ROBOT_H