RobocupSSLのメイン基板白mbedのプログラム

Dependencies:   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は,ロボットとボールの座標,審判の判定を元にロボットの移動,キックなどの作戦を決定し,無線によってロボットに指令を送信する. 700


ロボット機能紹介


●オムニホイールによる方向転換不要の全方位移動

オムニホイールは,自由に回転可能なローラをホイールの外周上に配置した車輪である.ローラの回転により,車輪の回転と垂直の方向に駆動力を発することはできないが移動は可能となる.各車輪の角速度を調整することによって全方向への移動を可能にする.
400

●ドリブルバーのバックスピンによるボール保持

●電磁力を利用したキッカー

●キッカーの電磁力エネルギーを充電する充電回路

●ロボット情報が一目でわかるLCD

Committer:
alt0710
Date:
Sun Sep 22 10:23:42 2019 +0000
Revision:
35:b1b00cfaa163
Parent:
26:d626e7968063
2019JapanOpenSoft

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alt0710 3:6f87cbec2ae8 1 #ifndef KICKER_ROOTS_H
alt0710 3:6f87cbec2ae8 2 #define KICKER_ROOTS_H
alt0710 3:6f87cbec2ae8 3
alt0710 3:6f87cbec2ae8 4 /* **Include** */
alt0710 3:6f87cbec2ae8 5 #include "mbed.h"
alt0710 3:6f87cbec2ae8 6 #include "comm.h"
alt0710 3:6f87cbec2ae8 7 #include "interface_manager.h"
alt0710 3:6f87cbec2ae8 8 #include "status_manager.h"
alt0710 3:6f87cbec2ae8 9
alt0710 3:6f87cbec2ae8 10 /* **Define** */
alt0710 15:2bf8eafacef8 11 #define STRAIGHT 0
alt0710 15:2bf8eafacef8 12 #define CHIP 1
alt0710 25:15f75825fc36 13 #define CONTINUE_DELAY 1400 //main処理周期 0.45ms
alt0710 25:15f75825fc36 14 #define NUM_OF_KICK 49//n+1回やります
alt0710 26:d626e7968063 15 //#define CONTINUE_DELAY 80 //main処理周期 0.45ms
alt0710 26:d626e7968063 16 //#define NUM_OF_KICK 0//n+1回やります
alt0710 3:6f87cbec2ae8 17
alt0710 3:6f87cbec2ae8 18 /* **変数定義** */
alt0710 3:6f87cbec2ae8 19
alt0710 3:6f87cbec2ae8 20 /* **グルーバル関数** */
alt0710 3:6f87cbec2ae8 21
alt0710 3:6f87cbec2ae8 22 /* **クラス** */
alt0710 3:6f87cbec2ae8 23 class InterfaceManager;
alt0710 3:6f87cbec2ae8 24 class StatusManager;
alt0710 3:6f87cbec2ae8 25
alt0710 3:6f87cbec2ae8 26 class Kicker{
alt0710 3:6f87cbec2ae8 27 public:
alt0710 3:6f87cbec2ae8 28 Kicker();
alt0710 3:6f87cbec2ae8 29 void setKick(char flag_kick, char kick_Type, char kick_power);
alt0710 3:6f87cbec2ae8 30 void setCharge(char flag_charge);
alt0710 10:9cd22f673968 31 void forceFireKick(void);
alt0710 3:6f87cbec2ae8 32
alt0710 3:6f87cbec2ae8 33
alt0710 3:6f87cbec2ae8 34 private:
alt0710 10:9cd22f673968 35 void fireKick(char t_KickType,char t_power);
alt0710 3:6f87cbec2ae8 36 void checkKickEnable(void);
alt0710 3:6f87cbec2ae8 37 void checkRelease(void);
alt0710 3:6f87cbec2ae8 38 void checkChargeCompleted(void);
alt0710 3:6f87cbec2ae8 39 void checkBallSensor(void);
alt0710 3:6f87cbec2ae8 40 void fireTimer(void);
alt0710 3:6f87cbec2ae8 41
alt0710 3:6f87cbec2ae8 42 enum BALL{IS_NOT_EXIST, IS_EXIST};
alt0710 3:6f87cbec2ae8 43 enum KickPermit{DISABLE, ENABLE};
alt0710 3:6f87cbec2ae8 44 BALL ball;
alt0710 3:6f87cbec2ae8 45 KickPermit kickPermit;
alt0710 3:6f87cbec2ae8 46 char f_kick;
alt0710 3:6f87cbec2ae8 47 char f_charge_fin;
alt0710 3:6f87cbec2ae8 48 char kickType;
alt0710 3:6f87cbec2ae8 49 char power;
alt0710 3:6f87cbec2ae8 50 char f_charge;
alt0710 3:6f87cbec2ae8 51 char isRelease;
alt0710 3:6f87cbec2ae8 52 short fireTime;
alt0710 10:9cd22f673968 53 int count_continue_delay;
alt0710 10:9cd22f673968 54 int count_num_of_kick;
alt0710 10:9cd22f673968 55 int mode_discharge;
alt0710 10:9cd22f673968 56
alt0710 3:6f87cbec2ae8 57 };
alt0710 3:6f87cbec2ae8 58
alt0710 3:6f87cbec2ae8 59 #endif