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:
Mon Apr 24 20:54:16 2017 +0000
Revision:
3:6f87cbec2ae8
Parent:
2:ba11cc8540d3
Child:
4:8c6f6b687303
Kicker??????????????; ????????ver.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alt0710 0:d4b98dbcb767 1 #include "mbed.h"
alt0710 0:d4b98dbcb767 2 #include "interface_manager.h"
alt0710 3:6f87cbec2ae8 3 #include "status_manager.h"
alt0710 3:6f87cbec2ae8 4 #include "parameter_manager.h"
alt0710 0:d4b98dbcb767 5
alt0710 0:d4b98dbcb767 6 DigitalOut myled(LED1);
alt0710 0:d4b98dbcb767 7
alt0710 0:d4b98dbcb767 8 int main() {
alt0710 0:d4b98dbcb767 9 init_interface();
alt0710 3:6f87cbec2ae8 10 init_status();
alt0710 1:c359b1fcfb5a 11 char str[20];
alt0710 3:6f87cbec2ae8 12
alt0710 2:ba11cc8540d3 13 OrderMotVel order;
alt0710 2:ba11cc8540d3 14 order.Mot0Order.Vel_short = 0xCD01;
alt0710 2:ba11cc8540d3 15 order.Mot1Order.Vel_short = 0xCD02;
alt0710 2:ba11cc8540d3 16 order.Mot2Order.Vel_short = 0xCD03;
alt0710 2:ba11cc8540d3 17 order.Mot3Order.Vel_short = 0xCD04;
alt0710 2:ba11cc8540d3 18
alt0710 2:ba11cc8540d3 19
alt0710 0:d4b98dbcb767 20 while(1) {
alt0710 0:d4b98dbcb767 21
alt0710 0:d4b98dbcb767 22 switch(InterfaceManager::button.getButtonStatus(CROSS_UP)){
alt0710 0:d4b98dbcb767 23 case SINGLE_CLICK:
alt0710 3:6f87cbec2ae8 24 myled = 1; // LED is ON
alt0710 3:6f87cbec2ae8 25
alt0710 0:d4b98dbcb767 26 break;
alt0710 0:d4b98dbcb767 27
alt0710 0:d4b98dbcb767 28 case DOUBLE_CLICK:
alt0710 3:6f87cbec2ae8 29
alt0710 0:d4b98dbcb767 30 myled = 0; // LED is OFF
alt0710 0:d4b98dbcb767 31 break;
alt0710 0:d4b98dbcb767 32
alt0710 0:d4b98dbcb767 33 default:
alt0710 0:d4b98dbcb767 34 break;
alt0710 0:d4b98dbcb767 35 }
alt0710 2:ba11cc8540d3 36 InterfaceManager::can.setMotVel(order);
alt0710 3:6f87cbec2ae8 37
alt0710 2:ba11cc8540d3 38 sprintf(str,"Hello Yuya! \nNO:%d",InterfaceManager::can.recive_motvel_data[1]);
alt0710 2:ba11cc8540d3 39 InterfaceManager::i2c.setLCDMsg(str,sizeof(str));
alt0710 2:ba11cc8540d3 40
alt0710 1:c359b1fcfb5a 41
alt0710 0:d4b98dbcb767 42 }
alt0710 0:d4b98dbcb767 43 }