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/button/button_roots.h@29:4607c59702a1, 2018-05-01 (annotated)
- Committer:
- alt0710
- Date:
- Tue May 01 06:38:42 2018 +0000
- Revision:
- 29:4607c59702a1
- Parent:
- 21:d18c2dfaaba4
main??ver5 ?SW?????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alt0710 | 0:d4b98dbcb767 | 1 | #ifndef BUTTON_ROOTS_H |
alt0710 | 0:d4b98dbcb767 | 2 | #define BUTTON_ROOTS_H |
alt0710 | 0:d4b98dbcb767 | 3 | |
alt0710 | 0:d4b98dbcb767 | 4 | /* **Include** */ |
alt0710 | 0:d4b98dbcb767 | 5 | #include "comm.h" |
alt0710 | 0:d4b98dbcb767 | 6 | #include "interface_manager.h" |
alt0710 | 0:d4b98dbcb767 | 7 | |
alt0710 | 0:d4b98dbcb767 | 8 | /* **Define** */ |
alt0710 | 0:d4b98dbcb767 | 9 | #define MODE_SW1 1 |
alt0710 | 0:d4b98dbcb767 | 10 | #define MODE_SW2 2 |
alt0710 | 0:d4b98dbcb767 | 11 | #define MODE_SW 3 |
alt0710 | 0:d4b98dbcb767 | 12 | |
alt0710 | 0:d4b98dbcb767 | 13 | #define CROSS_UP 11 |
alt0710 | 0:d4b98dbcb767 | 14 | #define CROSS_DOWN 12 |
alt0710 | 0:d4b98dbcb767 | 15 | #define CROSS_LEFT 13 |
alt0710 | 0:d4b98dbcb767 | 16 | #define CROSS_RIGHT 14 |
alt0710 | 0:d4b98dbcb767 | 17 | |
alt0710 | 21:d18c2dfaaba4 | 18 | |
alt0710 | 0:d4b98dbcb767 | 19 | |
alt0710 | 0:d4b98dbcb767 | 20 | #define CHECK_TIME 0.3 |
alt0710 | 0:d4b98dbcb767 | 21 | |
alt0710 | 0:d4b98dbcb767 | 22 | /* **グルーバル関数** */ |
alt0710 | 0:d4b98dbcb767 | 23 | extern void initButton(void); |
alt0710 | 0:d4b98dbcb767 | 24 | |
alt0710 | 0:d4b98dbcb767 | 25 | /* **クラス** */ |
alt0710 | 0:d4b98dbcb767 | 26 | class InterfaceManager; |
alt0710 | 0:d4b98dbcb767 | 27 | |
alt0710 | 0:d4b98dbcb767 | 28 | class Button_Roots{ |
alt0710 | 0:d4b98dbcb767 | 29 | public: |
alt0710 | 0:d4b98dbcb767 | 30 | Button_Roots(); |
alt0710 | 0:d4b98dbcb767 | 31 | char getButtonStatus(char ButtonNames); |
alt0710 | 0:d4b98dbcb767 | 32 | char setButtunStatus(char ButtonNames, char ButtonStatus); |
alt0710 | 0:d4b98dbcb767 | 33 | |
alt0710 | 0:d4b98dbcb767 | 34 | char count_click[4]; |
alt0710 | 0:d4b98dbcb767 | 35 | |
alt0710 | 0:d4b98dbcb767 | 36 | private: |
alt0710 | 0:d4b98dbcb767 | 37 | char modeSW1; |
alt0710 | 0:d4b98dbcb767 | 38 | char modeSW2; |
alt0710 | 0:d4b98dbcb767 | 39 | char modeSW; |
alt0710 | 0:d4b98dbcb767 | 40 | char crossUp; |
alt0710 | 0:d4b98dbcb767 | 41 | char crossDown; |
alt0710 | 0:d4b98dbcb767 | 42 | char crossLeft; |
alt0710 | 0:d4b98dbcb767 | 43 | char crossRight; |
alt0710 | 5:4be30999853f | 44 | char button_status; |
alt0710 | 5:4be30999853f | 45 | char cross_down; |
alt0710 | 5:4be30999853f | 46 | char cross_down_old; |
alt0710 | 5:4be30999853f | 47 | char is_button_pushed; |
alt0710 | 29:4607c59702a1 | 48 | char cross_up_old; |
alt0710 | 29:4607c59702a1 | 49 | char is_button_pushed_up; |
alt0710 | 0:d4b98dbcb767 | 50 | |
alt0710 | 0:d4b98dbcb767 | 51 | |
alt0710 | 0:d4b98dbcb767 | 52 | }; |
alt0710 | 0:d4b98dbcb767 | 53 | |
alt0710 | 0:d4b98dbcb767 | 54 | //Button_Roots button; |
alt0710 | 0:d4b98dbcb767 | 55 | #endif |