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

Committer:
soyooo
Date:
Tue Sep 11 02:51:23 2018 +0000
Revision:
10:ebb59c1d369e
Parent:
9:ce5a1315fe0d
Child:
12:91218718ae75
???????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TanakaTarou 0:6db16ad02a1b 1 //オンボードLEDの使用宣言
TanakaTarou 0:6db16ad02a1b 2 DigitalOut LED[] = {DigitalOut(LED1),
TanakaTarou 0:6db16ad02a1b 3 DigitalOut(LED2),
TanakaTarou 0:6db16ad02a1b 4 DigitalOut(LED3),
TanakaTarou 0:6db16ad02a1b 5 DigitalOut(LED4),
TanakaTarou 0:6db16ad02a1b 6 };
TanakaTarou 0:6db16ad02a1b 7
TanakaTarou 0:6db16ad02a1b 8 //デバック用シリアル
TanakaTarou 0:6db16ad02a1b 9 Serial pc(USBTX, USBRX);
TanakaTarou 0:6db16ad02a1b 10
TanakaTarou 0:6db16ad02a1b 11 //CAN用 (rd, td)
TanakaTarou 0:6db16ad02a1b 12 Mycan can(p30, p29);
TanakaTarou 0:6db16ad02a1b 13
TanakaTarou 0:6db16ad02a1b 14 //メカナム逆運動学モデルのヤコビアン
TanakaTarou 0:6db16ad02a1b 15 float jacobian[4][3] = {{ 1, -1, -1},
TanakaTarou 0:6db16ad02a1b 16 { 1, 1, -1},
TanakaTarou 0:6db16ad02a1b 17 {-1, 1, -1},
TanakaTarou 0:6db16ad02a1b 18 {-1, -1, -1}
TanakaTarou 0:6db16ad02a1b 19 };
TanakaTarou 0:6db16ad02a1b 20
TanakaTarou 0:6db16ad02a1b 21 //(逆運動学モデル, ホイールの計算100%定義)
TanakaTarou 0:6db16ad02a1b 22 DriveController mecanum(jacobian, 0.95);
TanakaTarou 0:6db16ad02a1b 23
soyooo 10:ebb59c1d369e 24 //sbus用 (tx, rx)
soyooo 10:ebb59c1d369e 25 SBUS sbus(p28, p27);
soyooo 10:ebb59c1d369e 26
TanakaTarou 0:6db16ad02a1b 27 //(計算周期時間[s], sla, sld)
soyooo 9:ce5a1315fe0d 28 IMU imu(0.01, p9, p10);
TanakaTarou 0:6db16ad02a1b 29
TanakaTarou 0:6db16ad02a1b 30 //(pwmPin, direPin)
soyooo 10:ebb59c1d369e 31 MDD Motor[4] = { MDD(p24, p26),
soyooo 10:ebb59c1d369e 32 MDD(p23, p25),
soyooo 10:ebb59c1d369e 33 MDD(p22, p20),
soyooo 10:ebb59c1d369e 34 MDD(p21, p19)
TanakaTarou 0:6db16ad02a1b 35 };
TanakaTarou 0:6db16ad02a1b 36
TanakaTarou 0:6db16ad02a1b 37 Timer timer;
TanakaTarou 0:6db16ad02a1b 38
TanakaTarou 0:6db16ad02a1b 39 //(A相, B相)
soyooo 10:ebb59c1d369e 40 RotaryEncoder enc[3] = {RotaryEncoder(p18 , p17 , &timer, 100),
TanakaTarou 0:6db16ad02a1b 41 RotaryEncoder(p16, p15, &timer, 100),
soyooo 10:ebb59c1d369e 42 RotaryEncoder(p14, p13, &timer, 100),
TanakaTarou 0:6db16ad02a1b 43 };
TanakaTarou 3:6b4adb4d7101 44
soyooo 10:ebb59c1d369e 45 DigitalIn sw1(p5);
soyooo 10:ebb59c1d369e 46 DigitalIn sw2(p6);
TanakaTarou 0:6db16ad02a1b 47
TanakaTarou 0:6db16ad02a1b 48 //(trig, echo)
soyooo 10:ebb59c1d369e 49 USS uss[2] = {USS(p11, p12), USS(p8, p7)};
soyooo 10:ebb59c1d369e 50
TanakaTarou 0:6db16ad02a1b 51
TanakaTarou 0:6db16ad02a1b 52 //コントローラー入力のための構造体
TanakaTarou 0:6db16ad02a1b 53 typedef struct controller {
TanakaTarou 0:6db16ad02a1b 54 float LX, LY, RX, RY;
TanakaTarou 0:6db16ad02a1b 55 int A,B,C,D,E,F,G,H;
TanakaTarou 0:6db16ad02a1b 56 int fail_safe;
TanakaTarou 0:6db16ad02a1b 57 } controller;