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-11-07
Revision:
30:0e6f5ed45445
Parent:
29:ec1a10c7c4c8
Child:
32:952bf02857f8

File content as of revision 30:0e6f5ed45445:

#define LIBNUM 86

#define NEUTRAL 0
#define A1 1
#define A2 2
#define A3 3
#define B1 4
#define B1_a 5
#define B1_b 6
#define B2 7
#define B2_a 8
#define B2_b 9
#define B2_c 10
#define C1 11
#define C2 12
#define C3 13

#define B_x_1 0.840f
#define B_x_2 1.840f
#define B_x_3 2.840f
#define B_x_s1 1.750f
#define B_x_s3 1.930f
#define B_x_s4 1.795f
#define B_x_s5 1.885f
#define B_y_1 1.5f
#define B_y_2 2.5f
#define B_y_3 3.5f
#define B_uss 105.0f
#define e_posi 2.840f
#define C1_x 3.840f
#define C2_x 4.840f
#define C3_x 5.840f
#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_1 0.280f
#define B_x_2 0.613f
#define B_x_3 0.947f
#define B_x_s1 0.513f
#define B_x_s3 0.713f
#define B_y_1 0.5f
#define B_y_2 0.833f
#define B_y_3 1.167f
#define B_uss 105.0f
#define e_posi 0.947f
#define C1_x 1.28f
#define C2_x 1.613f
#define C3_x 1.947f
#define A_x 0.3f
#define A1_y 0.5f
#define A2_y 0.833f
#define A3_y 1.167f
#define A_yow 90.0f
*/

float state_lib[LIBNUM][5] ={{0.0, 0.0, 0, NEUTRAL, 0},//スタートゾーン
                            
                            {B_x_1, B_y_2, -90, B2, 0},//手前側面単発
                            {B_uss, B_y_2, -90, B2, 0},
                            {B_uss, B_y_2, -90, B2, 1},
                            {B_x_1, B_y_1, -90, B2, 0},//4
                            
                            {B_x_2,      0,  0, B2, 0},//奥側面単発
                            {B_x_3,  B_y_2, 90, B2, 0},
                            {-B_uss, B_y_2, 90, B2, 0},
                            {-B_uss, B_y_2, 90, B2, 1},
                            {B_x_3,  B_y_1,  0, B2, 0},//9
                            
                            {B_x_s1, B_y_1, 0, B1_b, 0},//B1  7発
                            {B_x_s1, B_uss, 0, B1_b, 0},
                            {B_x_s1, B_uss, 0, B1_b, 1},
                            {B_x_2,  B_uss, 0, B1_b, 0},
                            {B_x_2,  B_uss, 0, B1_b, 1},
                            {B_x_s3, B_uss, 0, B1_b, 0},
                            {B_x_s3, B_uss, 0, B1_b, 1},//16
                            
                            {B_x_s1, B_y_1, 0, B1_a, 0},
                            {B_x_s1, B_uss, 0, B1_a, 0},
                            {B_x_s1, B_uss, 0, B1_a, 1},
                            {B_x_2,  B_uss, 0, B1_a, 0},
                            {B_x_2,  B_uss, 0, B1_a, 1},
                            {B_x_s3, B_uss, 0, B1_a, 0},
                            {B_x_s3, B_uss, 0, B1_a, 1},//23
                            
                            {B_x_s4, B_y_1, 0, B2_c, 0},//B2  奥5発
                            {B_x_s4, B_uss, 0, B2_c, 0},
                            {B_x_s4, B_uss, 0, B2_c, 1},
                            {B_x_s5, B_uss, 0, B2_c, 0},
                            {B_x_s5, B_uss, 0, B2_c, 1},
                            {B_x_s1, B_uss, 0, B2_b, 0},
                            {B_x_s1, B_uss, 0, B2_b, 1},
                            {B_x_2,  B_uss, 0, B2_b, 0},
                            {B_x_2,  B_uss, 0, B2_b, 1},
                            {B_x_s3, B_uss, 0, B2_b, 0},
                            {B_x_s3, B_uss, 0, B2_b, 1},//34
                            
                            {B_x_s1, B_y_1, 0, B2_a, 0},//B2  真ん中3発
                            {B_x_s1, B_uss, 0, B2_a, 0},
                            {B_x_s1, B_uss, 0, B2_a, 1},
                            {B_x_2,  B_uss, 0, B2_a, 0},
                            {B_x_2,  B_uss, 0, B2_a, 1},
                            {B_x_s3, B_uss, 0, B2_a, 0},
                            {B_x_s3, B_uss, 0, B2_a, 1},//41
                            
                            {B_x_s4, B_uss, 0, B2,   0},//B2  手前2発
                            {B_x_s4, B_uss, 0, B2,   1},
                            {B_x_s5, B_uss, 0, B2,   0},
                            {B_x_s5, B_uss, 0, B2,   1},//45
                            
                            {B_x_2, B_y_1, 0, B1, 0},//B1単発
                            {B_x_2, B_uss, 0, B1, 0},
                            {B_x_2, B_uss, 0, B1, 1},//48
                        
                            {B_x_2, B_y_1, 0, B2, 0},//B2単発
                            {B_x_2, B_uss, 0, B2, 0},
                            {B_x_2, B_uss, 0, B2, 1},//51
                            
                            {B_x_2, B_y_1, 0, B2, 0},//B1・B2連続射出
                            {B_x_2, B_uss, 0, B2, 0},
                            {B_x_2, B_uss, 0, B2, 1},
                            {B_x_2, B_uss, 0, B1, 0},
                            {B_x_2, B_uss, 0, B1, 0},
                            {B_x_2, B_uss, 0, B1, 1},//57
                            
                            {e_posi, 0.0,  0, NEUTRAL, 0},//58
                            
                            {C1_x, 0.0,  0, C1, 0},
                            {C1_x, 20.0, 0, C1, 0},
                            {C1_x, 20.0, 0, C1, 1},
                            {C1_x, 0.0,  0, C1, 0},//62
                            
                            {C2_x, 0.0,  0, C2, 0},
                            {C2_x, 20.0, 0, C2, 0},
                            {C2_x, 20.0, 0, C2, 1},
                            {C2_x, 0.0,  0, C2, 0},//66
                            
                            {C3_x, 0.0,  0, C3, 0},
                            {C3_x, 20.0, 0, C3, 0},
                            {C3_x, 20.0, 0, C3, 1},
                            {C3_x, 0.0,  0, C3, 0},//70
                            
                            {e_posi, 0.0,  0, NEUTRAL, 0},//71
                            
                            {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},//75
                            
                            {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},//79
                            
                            {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},//83
                            
                            {A_x, A1_y, 0, NEUTRAL, 0},//84
                            
                            {0.0, 0.0, 0, NEUTRAL, 0}// 補給, スタートゾーン戻る
                            };

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

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

topsPara para_NEUTRAL = {0, 89.6};

topsPara para_A1 = {18, 83};
topsPara para_A2 = {26, 83.5};
topsPara para_A3 = {18, 83};

topsPara para_B1 = {32, 85.2};
topsPara para_B1_a = {35, 84.5};
topsPara para_B1_b = {38, 83.8};

topsPara para_B2 = {58, 85.0};
topsPara para_B2_a = {58, 84.4};
topsPara para_B2_b = {58, 83.9};
topsPara para_B2_c = {58, 83.5};

topsPara para_C1 = {34, 84.2};
topsPara para_C2 = {41, 85.2};
topsPara para_C3 = {48, 86.0};
/*
topsPara para_A1 = {0, 83};
topsPara para_A2 = {0, 83.5};
topsPara para_A3 = {0, 83};

topsPara para_B1 = {0, 85.2};
topsPara para_B1_a = {0, 84.5};
topsPara para_B1_b = {0, 83.8};

topsPara para_B2 = {0, 85.0};
topsPara para_B2_a = {0, 84.4};
topsPara para_B2_b = {0, 83.9};
topsPara para_B2_c = {0, 83.5};

topsPara para_C1 = {0, 84.2};
topsPara para_C2 = {0, 85.2};
topsPara para_C3 = {0, 86.0};
*/
topsPara para_lib[14] = 
{
    para_NEUTRAL,
    para_A1,
    para_A2,
    para_A3,
    para_B1,
    para_B1_a,
    para_B1_b,
    para_B2,
    para_B2_a,
    para_B2_b,
    para_B2_c,
    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;