36 double timeoptimal_servo2(
double err,
double vel_max,
double vel,
double acc,
double vel_end);
double trans_q(double theta)
void robot_speed(SpurUserParamsPtr spur)
SpurRunMode get_run_mode(void)
void update_ref_speed(SpurUserParamsPtr spur)
int robot_speed_smooth(SpurUserParamsPtr spur)
double spin(OdometryPtr odm, SpurUserParamsPtr spur)
double dist_pos(OdometryPtr odm, SpurUserParamsPtr spur)
void wheel_vel(OdometryPtr odm, SpurUserParamsPtr spur)
void odometry(OdometryPtr xp, short *cnt, short *pwm, double dt, double time)
double timeoptimal_servo(double err, double vel_max, double vel, double acc)
void apply_motor_torque(SpurUserParamsPtr spur)
void run_control(Odometry odometry, SpurUserParamsPtr spur)
void init_control_thread(pthread_t *thread)
void set_run_mode(SpurRunMode mode)
double gravity_compensation(OdometryPtr odm, SpurUserParamsPtr spur)
double line_follow(OdometryPtr odm, SpurUserParamsPtr spur)
double timeoptimal_servo2(double err, double vel_max, double vel, double acc, double vel_end)
void wheel_angle(OdometryPtr odm, SpurUserParamsPtr spur)
double orient(OdometryPtr odm, SpurUserParamsPtr spur)
double circle_follow(OdometryPtr odm, SpurUserParamsPtr spur)
void apply_motor_speed(SpurUserParamsPtr spur)
void wheel_torque(OdometryPtr odm, SpurUserParamsPtr spur, double *torque)
double regurator(double d, double q, double r, double v_max, double w_max, SpurUserParamsPtr spur)
int stop_line(OdometryPtr odm, SpurUserParamsPtr spur)
int motor_control(SpurUserParamsPtr spur)