RobocupSSLのメイン基板白mbedのプログラム
Rootsロボット mainプログラム
~ Robocup SSL(小型車輪リーグ)ロボット ~
Robocup SSLとは
●試合構成
Robocup小型ロボットリーグ(Small Size League)は,直径180[mm],高さ150[mm]以内のサイズのロボット6台が1チームとなり,オレンジ色のゴルフボールを使ってサッカー競技を行う自立型ロボットコンテストである.
フィールドの上には2台のWebカメラが設置され,フィールド上のロボットとボールを撮影する.Visionサーバは,フィールドの画像データよりロボットとボールの座標データを算出し,LANを用い各チームのAI用PCに送信する.Webカメラの撮影速度は,60[fps]である.レフリーボックスは,ファウルやフリーキック,スローインなどの審判の判定を入力し,LANを通じて各チームのAI用PCに送信する.それぞれのチームのAI用PCは,ロボットとボールの座標,審判の判定を元にロボットの移動,キックなどの作戦を決定し,無線によってロボットに指令を送信する.
ロボット機能紹介
●オムニホイールによる方向転換不要の全方位移動
オムニホイールは,自由に回転可能なローラをホイールの外周上に配置した車輪である.ローラの回転により,車輪の回転と垂直の方向に駆動力を発することはできないが移動は可能となる.各車輪の角速度を調整することによって全方向への移動を可能にする.
●ドリブルバーのバックスピンによるボール保持
●電磁力を利用したキッカー
●キッカーの電磁力エネルギーを充電する充電回路
●ロボット情報が一目でわかるLCD
interface/interface_manager.h@35:b1b00cfaa163, 2019-09-22 (annotated)
- Committer:
- alt0710
- Date:
- Sun Sep 22 10:23:42 2019 +0000
- Revision:
- 35:b1b00cfaa163
- Parent:
- 34:857b6cca2021
2019JapanOpenSoft
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alt0710 | 0:d4b98dbcb767 | 1 | #ifndef INTERFACE_MANAGER_H |
alt0710 | 0:d4b98dbcb767 | 2 | #define INTERFACE_MANAGER_H |
alt0710 | 0:d4b98dbcb767 | 3 | |
alt0710 | 0:d4b98dbcb767 | 4 | #include "mbed.h" |
alt0710 | 2:ba11cc8540d3 | 5 | #include "typedef.h" |
alt0710 | 0:d4b98dbcb767 | 6 | #include "button_roots.h" |
alt0710 | 1:c359b1fcfb5a | 7 | #include "i2c_roots.h" |
alt0710 | 2:ba11cc8540d3 | 8 | #include "can_roots.h" |
alt0710 | 7:1f1bdb4e4f33 | 9 | #include "xbee_roots.h" |
alt0710 | 3:6f87cbec2ae8 | 10 | |
alt0710 | 1:c359b1fcfb5a | 11 | #include "string.h" |
alt0710 | 1:c359b1fcfb5a | 12 | #include "stdio.h" |
alt0710 | 1:c359b1fcfb5a | 13 | |
alt0710 | 30:8ee22331bfaf | 14 | //Main基板ver管理 |
alt0710 | 30:8ee22331bfaf | 15 | //#define MAIN_BORD_Ver_3 //赤 |
alt0710 | 34:857b6cca2021 | 16 | //#define MAIN_BORD_Ver_4 //青 |
alt0710 | 34:857b6cca2021 | 17 | #define MAIN_BORD_Ver_5 //白 |
alt0710 | 30:8ee22331bfaf | 18 | |
alt0710 | 30:8ee22331bfaf | 19 | //Option |
alt0710 | 32:718efbf4dc8a | 20 | //#define ON_INDICATER |
alt0710 | 0:d4b98dbcb767 | 21 | |
alt0710 | 0:d4b98dbcb767 | 22 | class InterfaceManager{ |
alt0710 | 0:d4b98dbcb767 | 23 | public: |
alt0710 | 0:d4b98dbcb767 | 24 | static Button_Roots button; |
alt0710 | 1:c359b1fcfb5a | 25 | static I2C_Roots i2c; |
alt0710 | 2:ba11cc8540d3 | 26 | static CAN_Roots can; |
alt0710 | 7:1f1bdb4e4f33 | 27 | static Xbee_Roots xbee; |
alt0710 | 3:6f87cbec2ae8 | 28 | static DigitalOut chip_kick; |
alt0710 | 3:6f87cbec2ae8 | 29 | static DigitalOut straight_kick; |
alt0710 | 3:6f87cbec2ae8 | 30 | static DigitalOut charge_request; |
alt0710 | 3:6f87cbec2ae8 | 31 | static DigitalIn ball_sensor; |
alt0710 | 3:6f87cbec2ae8 | 32 | static DigitalIn charge_completed; |
alt0710 | 12:b7d7523733cd | 33 | static DigitalOut LED; |
alt0710 | 11:7f5259ad738c | 34 | static DigitalIn dribbleIC_fault; |
alt0710 | 11:7f5259ad738c | 35 | static DigitalOut dribbleStandBy; |
alt0710 | 11:7f5259ad738c | 36 | static PwmOut dribbleMotor; |
alt0710 | 23:0bb032ef1880 | 37 | static AnalogIn batVoltage; |
alt0710 | 23:0bb032ef1880 | 38 | static AnalogIn dribbleMotor_current; |
alt0710 | 4:8c6f6b687303 | 39 | // static DigitalIn modeSW_1; |
alt0710 | 4:8c6f6b687303 | 40 | // static DigitalIn modeSW_2; |
alt0710 | 0:d4b98dbcb767 | 41 | |
alt0710 | 0:d4b98dbcb767 | 42 | private: |
alt0710 | 0:d4b98dbcb767 | 43 | InterfaceManager(); |
alt0710 | 0:d4b98dbcb767 | 44 | |
alt0710 | 0:d4b98dbcb767 | 45 | |
alt0710 | 0:d4b98dbcb767 | 46 | |
alt0710 | 0:d4b98dbcb767 | 47 | }; |
alt0710 | 0:d4b98dbcb767 | 48 | |
alt0710 | 0:d4b98dbcb767 | 49 | /* **グローバル関数** */ |
alt0710 | 0:d4b98dbcb767 | 50 | extern void init_interface(void); |
alt0710 | 0:d4b98dbcb767 | 51 | |
alt0710 | 0:d4b98dbcb767 | 52 | #endif |