Commit | Line | Data |
---|---|---|
4e04bcd3 L |
1 | #ifndef ROSTOCKSOLUTION_H |
2 | #define ROSTOCKSOLUTION_H | |
3 | #include "libs/Module.h" | |
4 | #include "libs/Kernel.h" | |
5 | #include "BaseSolution.h" | |
6 | #include "libs/nuts_bolts.h" | |
7 | ||
8 | #include "libs/Config.h" | |
9 | ||
deee97d2 L |
10 | #define arm_length_checksum CHECKSUM("arm_length") |
11 | #define arm_radius_checksum CHECKSUM("arm_radius") | |
12 | ||
33bb9d9a L |
13 | #define alpha_angle_checksum CHECKSUM("alpha_angle") |
14 | #define beta_relative_angle_checksum CHECKSUM("beta_relative_angle") | |
15 | #define gamma_relative_angle_checksum CHECKSUM("gamma_relative_angle") | |
4e04bcd3 L |
16 | |
17 | class RostockSolution : public BaseSolution { | |
18 | public: | |
78d0e16a MM |
19 | RostockSolution(Config*); |
20 | void cartesian_to_actuator( float[], float[] ); | |
21 | void actuator_to_cartesian( float[], float[] ); | |
4e04bcd3 | 22 | |
21461a92 JM |
23 | float solve_arm( float millimeters[] ); |
24 | void rotate( float in[], float out[], float sin, float cos ); | |
4e04bcd3 | 25 | |
21461a92 JM |
26 | float arm_length; |
27 | float arm_radius; | |
28 | float arm_length_squared; | |
29 | ||
30 | float sin_alpha; | |
31 | float cos_alpha; | |
32 | float sin_beta; | |
33 | float cos_beta; | |
34 | float sin_gamma; | |
35 | float cos_gamma; | |
4e04bcd3 L |
36 | }; |
37 | ||
38 | ||
39 | ||
40 | ||
41 | ||
42 | ||
43 | #endif // ROSTOCKSOLUTION_H |