Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DriveConroller IMU MDD Mycan Odometer PID RotaryEncoder UART USS mbed
Fork of AR_MastarNode by
stateLib.h
- Committer:
- TanakaTarou
- Date:
- 2018-10-19
- Revision:
- 25:0176b8d3d042
- Parent:
- 24:91ecfbbf23ee
- Child:
- 26:322309c42aa4
File content as of revision 25:0176b8d3d042:
#define LIBNUM 78
//(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 0.840f
#define B_x_2 1.840f
#define B_x_3 2.840f
#define B_x_s1 1.804f
#define B_x_s3 1.876f
#define B_y_1 1.5f
#define B_y_2 2.5f
#define B_y_3 3.5f
#define B_y_s1 2.4295f
#define B_y_s3 2.5705f
#define e_posi 2.840f
#define C1_x 3.840f
#define C2_x 4.840f
#define C3_x 5.840f
#define A_x 0.9f
#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.420f
#define B_x_2 0.920f
#define B_x_3 1.420f
#define B_x_s1 0.920f
#define B_x_s3 0.920f
#define B_y_1 0.75f
#define B_y_2 1.25f
#define B_y_3 1.75f
#define B_y_s1 1.25f
#define B_y_s3 1.25f
#define e_posi 1.420f
#define C1_x 1.920f
#define C2_x 2.420f
#define C3_x 2.920f
#define A_x 0.45f
#define A1_y 0.75f
#define A2_y 1.25f
#define A3_y 1.75f
#define A_yow 90.0f
float state_lib[LIBNUM][5] ={{0.0, 0.0, 0, NEUTRAL, 0},//スタートゾーン
{B_x_2, B_y_1, 0, B1, 0},
{B_x_2, 103.0, 0, B1, 0},
{B_x_2, 103.0, 0, B1, 1},
{B_x_2, B_y_1, 0, B1, 0},//4
{B_x_2, B_y_1, 0, B2, 0},
{B_x_2, 103.0, 0, B2, 0},
{B_x_2, 103.0, 0, B2, 1},
{B_x_2, B_y_1, 0, B2, 0},//8
{B_x_2, B_y_1, 0, B2, 0},
{B_x_2, 103.0, 0, B2, 0},
{B_x_2, 103.0, 0, B2, 1},
{B_x_2, 103.0, 0, B2, 0},//12
{B_x_2, 103.0, 0, B1, 0},
{B_x_2, 103.0, 0, B1, 0},
{B_x_2, 103.0, 0, B1, 1},
{B_x_2, B_y_1, 0, B1, 0},//16
{e_posi, 0.0, 0, NEUTRAL, 0},//17
{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},//21
{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},//25
{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},//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
{B_x_s1, B_y_1, 0, B2, 0},
{B_x_s1, 103.0, 0, B2, 0},
{B_x_s1, 103.0, 0, B2, 1},//B2手前 手前
{B_x_s1, 103.0, 0, B2, 0},
{B_x_2, 103.0, 0, B2, 0},
{B_x_2, 103.0, 0, B2, 1},//B2手前 真ん中
{B_x_2, 103.0, 0, B2, 0},
{B_x_s3, 103.0, 0, B2, 0},
{B_x_s3, 103.0, 0, B2, 1},//B2手前 奥
{B_x_s3, B_y_1, 0, B2, 0},//53
{0, B_x_1, 0, B2, 0},
{-B_y_2, B_x_1, 0, B2, 0},
{-B_y_2, 103.0, 0, B2, 0},
{-B_y_2, 103.0, 0, B2, 1},
{-B_y_1, B_x_1, 0, B2, 0},//58
{-B_x_1, 0, 0, B2, 0},
{-B_x_1, -B_y_3, 0, B2, 0},
{-B_x_s1,-B_y_3, 0, B2, 0},
{-B_x_s1, 103.0, 0, B2, 0},
{-B_x_s1, 103.0, 0, B2, 1},//B2奥 手前
{-B_x_s1, 103.0, 0, B2, 0},
{-B_x_2, 103.0, 0, B2, 0},
{-B_x_2, 103.0, 0, B2, 1},//B2奥 真ん中
{-B_x_2, 103.0, 0, B2, 0},
{-B_x_s3, 103.0, 0, B2, 0},
{-B_x_s3, 103.0, 0, B2, 1},//B2奥 奥
{-B_x_1, -B_y_3, 0, B2, 0},
{-B_x_1, -B_y_1, 0, B2, 0},//71
{0, -B_x_3, 0, B2, 0},
{B_y_2, -B_x_3, 0, B2, 0},
{B_y_2, 103.0, 0, B2, 0},
{B_y_2, 103.0, 0, B2, 1},
{B_y_1, -B_x_3, 0, B2, 0},//76
{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 = {26, 83.5};
topsPara para_A3 = {18, 83};
topsPara para_B1 = {32, 85.5};
topsPara para_B2 = {58, 84.8};
topsPara para_C1 = {32, 84.0};
topsPara para_C2 = {40, 85.0};
topsPara para_C3 = {46, 86.1};
/*
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;
