MEC-B / Mbed 2 deprecated AR_MastarNode_copy

Dependencies:   DriveConroller IMU MDD Mycan Odometer PID RotaryEncoder UART USS mbed

Fork of AR_MastarNode by MEC-B

stateLib.h

Committer:
TanakaTarou
Date:
2018-10-07
Revision:
20:1957c67ab740
Parent:
19:bdb503dd1e8c
Child:
21:4912835805a8

File content as of revision 20:1957c67ab740:

#define LIBNUM 45
//(X, Y, θ, speed, angle)
#define NEUTRAL 0
#define A1 1
#define A2 2
#define A3 3
#define B1 4
#define B2 5
#define C1 6
#define C2 7
#define C3 8
/*
#define B_x 1.740f
#define B_y 1.5f
#define e_posi 2.740f
#define C1_x 3.740f
#define C2_x 4.740f
#define C3_x 5.740f
#define A_x 0.8f
#define A1_y 1.5f
#define A2_y 2.5f
#define A3_y 3.5f
#define A_yow 90.0f
*/
#define B_x 0.3f
#define B_y 0.3f
#define e_posi 0.4f
#define C1_x 0.5f
#define C2_x 0.7f
#define C3_x 0.9f
#define A_x 0.2f
#define A1_y 0.2f
#define A2_y 0.4f
#define A3_y 0.6f
#define A_yow 90.0f

float state_lib[LIBNUM][5] ={{0.0, 0.0, 0, NEUTRAL, 0},//スタートゾーン
                            
                            {B_x, B_y,  0, B1, 0},
                            {B_x, 20.0, 0, B1, 0},
                            {B_x, 20.0, 0, B1, 1},
                            {B_x, B_y,  0, B1, 0},//4
                            
                            {B_x, B_y,  0, B2, 0},
                            {B_x, 13.0, 0, B2, 0},
                            {B_x, 13.0, 0, B2, 1},
                            {B_x, B_y,  0, B2, 0},//8
                            
                            {B_x, B_y,  0, B1, 0},
                            {B_x, 20.0, 0, B1, 0},
                            {B_x, 20.0, 0, B1, 1},
                            {B_x, 20.0, 0, B1, 0},//12
                            
                            {B_x, 20.0, 0, B2, 0},
                            {B_x, 13.0, 0, B2, 0},
                            {B_x, 13.0, 0, B2, 1},
                            {B_x, B_y,  0, B2, 0},//16
                            
                            {e_posi, 0.0,  0, NEUTRAL, 0},//17
                            
                            {C1_x, 0.0,  0, C1, 0},
                            {C1_x, 16.0, 0, C1, 0},
                            {C1_x, 16.0, 0, C1, 1},
                            {C1_x, 0.0,  0, C1, 0},//21
                            
                            {C2_x, 0.0,  0, C2, 0},
                            {C2_x, 16.0, 0, C2, 0},
                            {C2_x, 16.0, 0, C2, 1},
                            {C2_x, 0.0,  0, C2, 0},//25
                            
                            {C3_x, 0.0,  0, C3, 0},
                            {C3_x, 16.0, 0, C3, 0},
                            {C3_x, 16.0, 0, C3, 1},
                            {C3_x, 0.0,  0, C3, 0},//29
                            
                            {e_posi, 0.0,  0, NEUTRAL, 0},//30
                            
                            {0.3, A1_y, A_yow, A1, 0}, 
                            {-17, A1_y, A_yow, A1, 0},
                            {-17, A1_y, A_yow, A1, 1},
                            {A_x, A1_y, A_yow, A1, 0},//34
                            
                            {A_x, A2_y, A_yow, A2, 0},
                            {-17, A2_y, A_yow, A2, 0},
                            {-17, A2_y, A_yow, A2, 1},
                            {A_x, A2_y, A_yow, A2, 0},//38
                            
                            {A_x, A3_y, A_yow, A3, 0},
                            {-17, A3_y, A_yow, A3, 0},
                            {-17, A3_y, A_yow, A3, 1},
                            {A_x, A3_y, A_yow, A3, 0},//42
                            
                            {A_x, A1_y, 0, NEUTRAL, 0},// 43
                            
                            {0.0, 0.0, 0, NEUTRAL, 0}// 補給, スタートゾーン戻る
                            };

float tops_lib[4][3] = 
{
    {   0,   90, 0},
    {   0,   90, 1},
    {   0,   90, 0},
    {   0,   90, 0}
};

typedef struct topsPara
{
    float vel, angle;
}topsPara;

topsPara para_NEUTRAL = {0, 90};

/*
topsPara para_A1 = {18, 83};
topsPara para_A2 = {24, 83};
topsPara para_A3 = {18, 83};

topsPara para_B1 = {32, 84.5};
topsPara para_B2 = {58, 84.8};

topsPara para_C1 = {32, 84.5};
topsPara para_C2 = {38, 85.5};
topsPara para_C3 = {44, 87.0};
*/
topsPara para_A1 = {0, 84};
topsPara para_A2 = {0, 84};
topsPara para_A3 = {0, 84};

topsPara para_B1 = {0, 82.5};
topsPara para_B2 = {0, 84.8};

topsPara para_C1 = {0, 82.5};
topsPara para_C2 = {0, 83.5};
topsPara para_C3 = {0, 85.5};

topsPara para_lib[9] = 
{
    para_NEUTRAL,
    para_A1,
    para_A2,
    para_A3,
    para_B1,
    para_B2,
    para_C1,
    para_C2,
    para_C3
};

typedef struct state
{
    float x, y , theta, shoot, angle, supply;
}state;

typedef struct elements
{
    float x, y , theta;
}elements;