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:
Wed May 02 02:47:35 2018 +0000
Revision:
30:8ee22331bfaf
Parent:
24:37a074e767c8
Child:
31:7b003082f31d
ifdef???ver????????????LCD?BoardNo.???????????; ;

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 23:0bb032ef1880 23
alt0710 3:6f87cbec2ae8 24
alt0710 3:6f87cbec2ae8 25 extern void init_status(void)
alt0710 3:6f87cbec2ae8 26 {
alt0710 15:2bf8eafacef8 27 StatusManager::charge_end = 0;
alt0710 11:7f5259ad738c 28 StatusManager::is_kicking = 0;
alt0710 11:7f5259ad738c 29 StatusManager::dribbleIC_fault = 0;
alt0710 23:0bb032ef1880 30 StatusManager::dribbleMot_OvrCur = 0;
alt0710 24:37a074e767c8 31 StatusManager::alive_count = 0;
alt0710 24:37a074e767c8 32 StatusManager::DriveTime = 0;
alt0710 24:37a074e767c8 33 StatusManager::req_dribbleMotor_PID = 0;
alt0710 30:8ee22331bfaf 34 StatusManager::indicate_i2c_enable = 0;
alt0710 30:8ee22331bfaf 35
alt0710 30:8ee22331bfaf 36 #if defined(MAIN_BORD_Ver_3)
alt0710 30:8ee22331bfaf 37 StatusManager::MainBoard = 3;
alt0710 30:8ee22331bfaf 38 #elif defined(MAIN_BORD_Ver_4)
alt0710 30:8ee22331bfaf 39 StatusManager::MainBoard = 4;
alt0710 30:8ee22331bfaf 40 #elif defined(MAIN_BORD_Ver_5)
alt0710 30:8ee22331bfaf 41 StatusManager::MainBoard = 5;
alt0710 30:8ee22331bfaf 42 #endif
alt0710 30:8ee22331bfaf 43
alt0710 3:6f87cbec2ae8 44 }