9 #include "RTT/SEGGER_RTT.h" 11 #include "RTT/SEGGER_RTT.h" 13 #define ABS(x) (x > 0 ? x : -x) 28 #define EPSILON (0.1f) 34 #define M_TO_MM(x) ((x) / 1000) 41 delta_ticks.left = left_ticks - previous_ticks.left;
42 previous_ticks.left = left_ticks;
44 delta_ticks.right = right_ticks - previous_ticks.right;
45 previous_ticks.right = right_ticks;
56 float orientation_f = (float)
orientation / ANGLE_MULT_RAD;
63 static ticks_t cur_pos_previous_ticks = {0, 0};
68 cur_pos_delta_ticks.right = right_ticks - cur_pos_previous_ticks.right;
69 cur_pos_delta_ticks.left = left_ticks - cur_pos_previous_ticks.left;
71 cur_pos_previous_ticks.right = right_ticks;
72 cur_pos_previous_ticks.left = left_ticks;
74 d = (cur_pos_delta_ticks.right + cur_pos_delta_ticks.left) / 2.0f;
77 if (fabs((
double) delta_alpha) > EPSILON){
79 R = d / (2 * delta_alpha);
void update_position(void)
Update the position according to the information given by the coding wheels.
void compute_movement(void)
Compute the coding wheels movements.
volatile robot_settings_t settings
Global variable used to store the configuration in use.