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:
Tue May 02 13:57:23 2017 +0000
Revision:
11:7f5259ad738c
Child:
12:b7d7523733cd
??????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alt0710 11:7f5259ad738c 1 //
alt0710 11:7f5259ad738c 2 //#include "mbed.h"
alt0710 11:7f5259ad738c 3 //#include "comm.h"
alt0710 11:7f5259ad738c 4 //#include "interface_manager.h"
alt0710 11:7f5259ad738c 5 //#include "parameter_manager.h"
alt0710 11:7f5259ad738c 6 //#include "dribbler.h"
alt0710 11:7f5259ad738c 7 //
alt0710 11:7f5259ad738c 8 ///* **mbedクラス** */
alt0710 11:7f5259ad738c 9 //#ifdef LPC4088
alt0710 11:7f5259ad738c 10 //
alt0710 11:7f5259ad738c 11 //#elif STM32
alt0710 11:7f5259ad738c 12 //
alt0710 11:7f5259ad738c 13 //#endif
alt0710 11:7f5259ad738c 14 //
alt0710 11:7f5259ad738c 15 ///* **ローカル関数定義** */
alt0710 11:7f5259ad738c 16 //void fireTimer(void);
alt0710 11:7f5259ad738c 17 //void driveFireTimer(double firetime);
alt0710 11:7f5259ad738c 18 //
alt0710 11:7f5259ad738c 19 ///* **ローカル関数** */
alt0710 11:7f5259ad738c 20 //
alt0710 11:7f5259ad738c 21 ///* **グルーバル関数** */
alt0710 11:7f5259ad738c 22 //
alt0710 11:7f5259ad738c 23 ///* **クラス** */
alt0710 11:7f5259ad738c 24 //class InterfaceManager;
alt0710 11:7f5259ad738c 25 ////メンバ変数の初期化は、定義順(Warningになる)
alt0710 11:7f5259ad738c 26 //Dribbler::Dribbler()
alt0710 11:7f5259ad738c 27 //:f_dribble(0),
alt0710 11:7f5259ad738c 28 // power(0)
alt0710 11:7f5259ad738c 29 // {
alt0710 11:7f5259ad738c 30 // }
alt0710 11:7f5259ad738c 31 //
alt0710 11:7f5259ad738c 32 //void Dribbler::setdribble(char flag_dribble, char dribble_power)
alt0710 11:7f5259ad738c 33 //{
alt0710 11:7f5259ad738c 34 // f_dribble = flag_dribble;
alt0710 11:7f5259ad738c 35 // power = dribble_power;
alt0710 11:7f5259ad738c 36 //
alt0710 11:7f5259ad738c 37 // checkIC();
alt0710 11:7f5259ad738c 38 //
alt0710 11:7f5259ad738c 39 // if(f_dribble && (StatusManager::dribbleIC_fault == 0))
alt0710 11:7f5259ad738c 40 // {
alt0710 11:7f5259ad738c 41 // InterfaceManager::dribbleStandBy = 0;
alt0710 11:7f5259ad738c 42 // driveDribble(power);
alt0710 11:7f5259ad738c 43 // }
alt0710 11:7f5259ad738c 44 // else
alt0710 11:7f5259ad738c 45 // {
alt0710 11:7f5259ad738c 46 // InterfaceManager::dribbleStandBy = 1;
alt0710 11:7f5259ad738c 47 // }
alt0710 11:7f5259ad738c 48 //}
alt0710 11:7f5259ad738c 49 //
alt0710 11:7f5259ad738c 50 //void Dribbler::driveDribble(char t_power)
alt0710 11:7f5259ad738c 51 //{
alt0710 11:7f5259ad738c 52 //
alt0710 11:7f5259ad738c 53 // InterfaceManager::dribbleMotor.write((float)(t_power/15));
alt0710 11:7f5259ad738c 54 //
alt0710 11:7f5259ad738c 55 //}
alt0710 11:7f5259ad738c 56 //
alt0710 11:7f5259ad738c 57 //void Dribbler::checkIC(void)
alt0710 11:7f5259ad738c 58 //{
alt0710 11:7f5259ad738c 59 // StatusManager::dribbleIC_fault = InterfaceManager::dribbleIC_fault;
alt0710 11:7f5259ad738c 60 //}
alt0710 11:7f5259ad738c 61 //