2月25日

Dependencies:   uw_28015 mbed ros_lib_kinetic move4wheel2 EC CruizCore_R6093U CruizCore_R1370P

movement/movement.h

Committer:
yuki0701
Date:
2020-02-25
Revision:
0:44f9a43e4ab2

File content as of revision 0:44f9a43e4ab2:

#ifndef HARUROBO2019_MOVEMENT
#define HARUROBO2019_MOVEMENT

extern char can_ashileddata[2];
extern char can_ashileddata2[8];
extern char can_num[1];
extern double info_x, info_y, info_r;
//extern char can_ashileddata3[2];
//extern char can_ashileddata4[2];
//extern char can_ashileddata5[2];

void print_gyro();

extern int16_t m1,m2,m3,m4;

extern int flag;

void UserLoopSetting_sensor();

void UserLoopSetting_enc_right();

void UserLoopSetting_enc_left();

void calOmega();

void cal_uw();

void output(double FL,double BL,double BR,double FR);

void base(double FL,double BL,double BR,double FR,double Max);

void ashi_led();

void calc_gyro();

void calc_xy_enc();

void set_cond(int t, int px, double bx, int py, double by);

void calc_xy_usw(double tgt_angle);

void uwflag_reset();

void uwflag_change(int u1,int u2, int u3, int u4);

void calc_xy(double tgt_angle, double u, double v);

void copy_xyr_usw();

void enc_correction(int x_select,int y_select);

void enc_correction2(int x_plot1, int y_plot2);

void purecurve(int type,double u, double v,          //正面を変えずに円弧or楕円を描いて曲がる
               double point_x1,double point_y1,
               double point_x2,double point_y2,
               int theta,
               double speed,
               double q_p,double q_d,
               double r_p,double r_d,
               double r_out_max,
               double target_angle, double v_base, double q_out_max);

void gogo_straight(double u, double v, double x1_point,double y1_point,  //直線運動プログラム
                   double x2_point,double y2_point,
                   double speed1,double speed2,
                   double q_p,double q_d,
                   double r_p,double r_d,
                   double r_out_max,
                   double target_angle, double v_base, double q_out_max);

double spline_base(int i, int k, double t, int nv[]);

void spline_move(double u, double v,
                 double st_x,double st_y,double end_x,double end_y,
                 double cont1_x,double cont1_y,double cont2_x,double cont2_y,
                 double st_speed, double end_speed,
                 double q_p,double q_d,
                 double r_p,double r_d,
                 double r_out_max,
                 double target_angle, double v_base, double q_out_max, int num);

void pos_correction(double tgt_x, double tgt_y, double tgt_angle, double u, double v, double v_base);

void mt_stop();

void mt_check(double out, int dr);
#endif