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 May 06 02:17:10 2018 +0000
Revision:
32:718efbf4dc8a
Parent:
31:7b003082f31d
Child:
33:13efae0ae6f4
2018JapanOpen?????;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alt0710 3:6f87cbec2ae8 1 #include "mbed.h"
alt0710 3:6f87cbec2ae8 2 #include "status_manager.h"
alt0710 30:8ee22331bfaf 3 #include "interface_manager.h"
alt0710 3:6f87cbec2ae8 4
alt0710 3:6f87cbec2ae8 5 char StatusManager::is_kicking;
alt0710 3:6f87cbec2ae8 6 char StatusManager::mode;
alt0710 8:8bd8d008fe86 7 signed char StatusManager::uart;
alt0710 3:6f87cbec2ae8 8 char StatusManager::req_charge;
alt0710 6:21b3fbe57b88 9 char StatusManager::ball;
alt0710 9:41d5c728aa78 10 char StatusManager::xbee_time_out;
alt0710 9:41d5c728aa78 11 char StatusManager::xbee_receiveing;
alt0710 11:7f5259ad738c 12 char StatusManager::dribbleIC_fault;
alt0710 23:0bb032ef1880 13 char StatusManager::dribbleMot_OvrCur;
alt0710 15:2bf8eafacef8 14 char StatusManager::charge_end;
alt0710 23:0bb032ef1880 15 float StatusManager::supply_voltage;
alt0710 23:0bb032ef1880 16 float StatusManager::dribbleMotor_current;
alt0710 23:0bb032ef1880 17 float StatusManager::req_dribbleMotor_current;
alt0710 24:37a074e767c8 18 float StatusManager::req_dribbleMotor_PID;
alt0710 24:37a074e767c8 19 char StatusManager::alive_count;
alt0710 30:8ee22331bfaf 20 char StatusManager::indicate_i2c_enable;
alt0710 24:37a074e767c8 21 unsigned short StatusManager::DriveTime;
alt0710 30:8ee22331bfaf 22 unsigned char StatusManager::MainBoard;
alt0710 31:7b003082f31d 23 signed short StatusManager::Vel_Wheel1;
alt0710 31:7b003082f31d 24 signed short StatusManager::Vel_Wheel2;
alt0710 31:7b003082f31d 25 signed short StatusManager::Vel_Wheel3;
alt0710 32:718efbf4dc8a 26 signed short StatusManager::Angle;
alt0710 3:6f87cbec2ae8 27
alt0710 3:6f87cbec2ae8 28 extern void init_status(void)
alt0710 3:6f87cbec2ae8 29 {
alt0710 15:2bf8eafacef8 30 StatusManager::charge_end = 0;
alt0710 11:7f5259ad738c 31 StatusManager::is_kicking = 0;
alt0710 11:7f5259ad738c 32 StatusManager::dribbleIC_fault = 0;
alt0710 23:0bb032ef1880 33 StatusManager::dribbleMot_OvrCur = 0;
alt0710 24:37a074e767c8 34 StatusManager::alive_count = 0;
alt0710 24:37a074e767c8 35 StatusManager::DriveTime = 0;
alt0710 24:37a074e767c8 36 StatusManager::req_dribbleMotor_PID = 0;
alt0710 30:8ee22331bfaf 37 StatusManager::indicate_i2c_enable = 0;
alt0710 31:7b003082f31d 38 StatusManager::Vel_Wheel1 = 0;
alt0710 31:7b003082f31d 39 StatusManager::Vel_Wheel2 = 0;
alt0710 31:7b003082f31d 40 StatusManager::Vel_Wheel3 = 0;
alt0710 32:718efbf4dc8a 41 StatusManager::Angle = 0;
alt0710 30:8ee22331bfaf 42
alt0710 30:8ee22331bfaf 43 #if defined(MAIN_BORD_Ver_3)
alt0710 30:8ee22331bfaf 44 StatusManager::MainBoard = 3;
alt0710 30:8ee22331bfaf 45 #elif defined(MAIN_BORD_Ver_4)
alt0710 30:8ee22331bfaf 46 StatusManager::MainBoard = 4;
alt0710 30:8ee22331bfaf 47 #elif defined(MAIN_BORD_Ver_5)
alt0710 30:8ee22331bfaf 48 StatusManager::MainBoard = 5;
alt0710 30:8ee22331bfaf 49 #endif
alt0710 30:8ee22331bfaf 50
alt0710 3:6f87cbec2ae8 51 }