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
hardwareConfig.h@1:d7ceb38da3d8, 2018-08-06 (annotated)
- Committer:
- soyooo
- Date:
- Mon Aug 06 03:04:47 2018 +0000
- Revision:
- 1:d7ceb38da3d8
- Parent:
- 0:6db16ad02a1b
auto;
Who changed what in which revision?
User | Revision | Line number | New 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 | Serial XBEE(p28, p27); |
TanakaTarou | 0:6db16ad02a1b | 11 | |
TanakaTarou | 0:6db16ad02a1b | 12 | //CAN用 (rd, td) |
TanakaTarou | 0:6db16ad02a1b | 13 | Mycan can(p30, p29); |
TanakaTarou | 0:6db16ad02a1b | 14 | |
TanakaTarou | 0:6db16ad02a1b | 15 | //sbus用 (tx, rx) |
TanakaTarou | 0:6db16ad02a1b | 16 | SBUS sbus(p13, p14); |
TanakaTarou | 0:6db16ad02a1b | 17 | |
TanakaTarou | 0:6db16ad02a1b | 18 | //メカナム逆運動学モデルのヤコビアン |
TanakaTarou | 0:6db16ad02a1b | 19 | float jacobian[4][3] = {{ 1, -1, -1}, |
TanakaTarou | 0:6db16ad02a1b | 20 | { 1, 1, -1}, |
TanakaTarou | 0:6db16ad02a1b | 21 | {-1, 1, -1}, |
TanakaTarou | 0:6db16ad02a1b | 22 | {-1, -1, -1} |
TanakaTarou | 0:6db16ad02a1b | 23 | }; |
TanakaTarou | 0:6db16ad02a1b | 24 | |
TanakaTarou | 0:6db16ad02a1b | 25 | //(逆運動学モデル, ホイールの計算100%定義) |
TanakaTarou | 0:6db16ad02a1b | 26 | DriveController mecanum(jacobian, 0.95); |
TanakaTarou | 0:6db16ad02a1b | 27 | |
TanakaTarou | 0:6db16ad02a1b | 28 | //(計算周期時間[s], sla, sld) |
TanakaTarou | 0:6db16ad02a1b | 29 | IMU imu(0.005, p9, p10); |
TanakaTarou | 0:6db16ad02a1b | 30 | |
TanakaTarou | 0:6db16ad02a1b | 31 | //(pwmPin, direPin) |
TanakaTarou | 0:6db16ad02a1b | 32 | MDD Motor[4] = { MDD(p22, p21), |
TanakaTarou | 0:6db16ad02a1b | 33 | MDD(p24, p23), |
TanakaTarou | 0:6db16ad02a1b | 34 | MDD(p25, p20), |
TanakaTarou | 0:6db16ad02a1b | 35 | MDD(p26, p19) |
TanakaTarou | 0:6db16ad02a1b | 36 | }; |
TanakaTarou | 0:6db16ad02a1b | 37 | |
TanakaTarou | 0:6db16ad02a1b | 38 | Timer timer; |
TanakaTarou | 0:6db16ad02a1b | 39 | |
TanakaTarou | 0:6db16ad02a1b | 40 | //(A相, B相) |
TanakaTarou | 0:6db16ad02a1b | 41 | RotaryEncoder enc[3] = {RotaryEncoder(p5 , p6 , &timer, 100), |
TanakaTarou | 0:6db16ad02a1b | 42 | RotaryEncoder(p18, p17, &timer, 100), |
TanakaTarou | 0:6db16ad02a1b | 43 | RotaryEncoder(p16, p15, &timer, 100), |
TanakaTarou | 0:6db16ad02a1b | 44 | }; |
TanakaTarou | 0:6db16ad02a1b | 45 | |
TanakaTarou | 0:6db16ad02a1b | 46 | //(trig, echo) |
TanakaTarou | 0:6db16ad02a1b | 47 | USS uss(p11, p12); |
TanakaTarou | 0:6db16ad02a1b | 48 | |
TanakaTarou | 0:6db16ad02a1b | 49 | //コントローラー入力のための構造体 |
TanakaTarou | 0:6db16ad02a1b | 50 | typedef struct controller { |
TanakaTarou | 0:6db16ad02a1b | 51 | float LX, LY, RX, RY; |
TanakaTarou | 0:6db16ad02a1b | 52 | int A,B,C,D,E,F,G,H; |
TanakaTarou | 0:6db16ad02a1b | 53 | int fail_safe; |
TanakaTarou | 0:6db16ad02a1b | 54 | } controller; |