#include <kurt.h>
Public Member Functions | |
int | can_motor (int left_pwm, char left_dir, char left_brake, int right_pwm, char right_dir, char right_brake) |
int | can_read_fifo () |
void | can_rotunit_send (double speed) |
Kurt (Comm &comm, double wheel_perimeter, double axis_length, double turning_adaptation, int ticks_per_turn_of_wheel) | |
void | set_wheel_speed (double _v_l_soll, double _v_r_soll, double _AntiWindup) |
bool | setPWMData (const std::string &speedPwmLeerlaufTable, double feedforward_turn, double ki, double kp) |
~Kurt () | |
Private Member Functions | |
void | can_encoder (const can_frame &frame) |
void | can_gyro_mc1 (const can_frame &frame) |
void | can_rotunit (const can_frame &frame) |
void | can_sonar0_3 (const can_frame &frame) |
void | can_sonar4_7 (const can_frame &frame) |
void | can_sonar8_9 (const can_frame &frame) |
void | can_tilt_comp (const can_frame &frame) |
void | k_hard_stop (void) |
void | make_pwm_v_tab (int nr, double *v_pwm_l, double *v_pwm_r, int nr_v, int **pwm_v_l, int **pwm_v_r, double *v_max) |
int | normalize_ir (int ir) |
int | normalize_sonar (int s) |
void | odometry (int wheel_a, int wheel_b) |
bool | read_speed_to_pwm_leerlauf_tabelle (const std::string &filename, int *nr, double **v_pwm_l, double **v_pwm_r) |
void | set_wheel_speed1 (double v_l, double v_r, int integration_l, int integration_r) |
void | set_wheel_speed2 (double _v_l_soll, double _v_r_soll, double _v_l_ist, double _v_r_ist, double _omega, double _AntiWindup) |
void | set_wheel_speed2_mc (double _v_l_soll, double _v_r_soll, double _omega, double _AntiWindup) |
Private Attributes | |
double | axis_length_ |
CAN | can_ |
Comm & | comm_ |
double | feedforward_turn_ |
double | ki_l |
double | ki_r |
double | kp_l |
double | kp_r |
int | leerlauf_adapt_ |
const int | nr_v_ |
int * | pwm_v_l_ |
int * | pwm_v_r_ |
int | ticks_per_turn_of_wheel_ |
double | turning_adaptation_ |
bool | use_microcontroller_ |
bool | use_rotunit_ |
double | v_encoder_left_ |
double | v_encoder_right_ |
double | vmax_ |
double | wheel_perimeter_ |
Kurt::Kurt | ( | Comm & | comm, |
double | wheel_perimeter, | ||
double | axis_length, | ||
double | turning_adaptation, | ||
int | ticks_per_turn_of_wheel | ||
) | [inline] |
Kurt::~Kurt | ( | ) |
void Kurt::can_encoder | ( | const can_frame & | frame | ) | [private] |
void Kurt::can_gyro_mc1 | ( | const can_frame & | frame | ) | [private] |
int Kurt::can_motor | ( | int | left_pwm, |
char | left_dir, | ||
char | left_brake, | ||
int | right_pwm, | ||
char | right_dir, | ||
char | right_brake | ||
) |
int Kurt::can_read_fifo | ( | ) |
void Kurt::can_rotunit | ( | const can_frame & | frame | ) | [private] |
void Kurt::can_rotunit_send | ( | double | speed | ) |
void Kurt::can_sonar0_3 | ( | const can_frame & | frame | ) | [private] |
void Kurt::can_sonar4_7 | ( | const can_frame & | frame | ) | [private] |
void Kurt::can_sonar8_9 | ( | const can_frame & | frame | ) | [private] |
void Kurt::can_tilt_comp | ( | const can_frame & | frame | ) | [private] |
void Kurt::k_hard_stop | ( | void | ) | [private] |
void Kurt::make_pwm_v_tab | ( | int | nr, |
double * | v_pwm_l, | ||
double * | v_pwm_r, | ||
int | nr_v, | ||
int ** | pwm_v_l, | ||
int ** | pwm_v_r, | ||
double * | v_max | ||
) | [private] |
int Kurt::normalize_ir | ( | int | ir | ) | [private] |
int Kurt::normalize_sonar | ( | int | s | ) | [private] |
void Kurt::odometry | ( | int | wheel_a, |
int | wheel_b | ||
) | [private] |
bool Kurt::read_speed_to_pwm_leerlauf_tabelle | ( | const std::string & | filename, |
int * | nr, | ||
double ** | v_pwm_l, | ||
double ** | v_pwm_r | ||
) | [private] |
void Kurt::set_wheel_speed | ( | double | _v_l_soll, |
double | _v_r_soll, | ||
double | _AntiWindup | ||
) |
void Kurt::set_wheel_speed1 | ( | double | v_l, |
double | v_r, | ||
int | integration_l, | ||
int | integration_r | ||
) | [private] |
void Kurt::set_wheel_speed2 | ( | double | _v_l_soll, |
double | _v_r_soll, | ||
double | _v_l_ist, | ||
double | _v_r_ist, | ||
double | _omega, | ||
double | _AntiWindup | ||
) | [private] |
void Kurt::set_wheel_speed2_mc | ( | double | _v_l_soll, |
double | _v_r_soll, | ||
double | _omega, | ||
double | _AntiWindup | ||
) | [private] |
bool Kurt::setPWMData | ( | const std::string & | speedPwmLeerlaufTable, |
double | feedforward_turn, | ||
double | ki, | ||
double | kp | ||
) |
double Kurt::axis_length_ [private] |
CAN Kurt::can_ [private] |
Comm& Kurt::comm_ [private] |
double Kurt::feedforward_turn_ [private] |
double Kurt::ki_l [private] |
double Kurt::ki_r [private] |
double Kurt::kp_l [private] |
double Kurt::kp_r [private] |
int Kurt::leerlauf_adapt_ [private] |
const int Kurt::nr_v_ [private] |
int* Kurt::pwm_v_l_ [private] |
int * Kurt::pwm_v_r_ [private] |
int Kurt::ticks_per_turn_of_wheel_ [private] |
double Kurt::turning_adaptation_ [private] |
bool Kurt::use_microcontroller_ [private] |
bool Kurt::use_rotunit_ [private] |
double Kurt::v_encoder_left_ [private] |
double Kurt::v_encoder_right_ [private] |
double Kurt::vmax_ [private] |
double Kurt::wheel_perimeter_ [private] |