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

Revision:
17:e5e7b19dd707
Parent:
12:b7d7523733cd
Child:
31:7b003082f31d
diff -r 2bf8eafacef8 -r e5e7b19dd707 actuator/wheel.cpp
--- a/actuator/wheel.cpp	Wed May 03 16:06:14 2017 +0000
+++ b/actuator/wheel.cpp	Fri May 05 09:56:27 2017 +0000
@@ -66,11 +66,17 @@
     Vel_Mot1_double  = operationV1(Vel_X, Vel_Y, Vel_OMEGA );
     Vel_Mot2_double  = operationV2(Vel_X, Vel_Y, Vel_OMEGA );
     Vel_Mot3_double  = operationV3(Vel_X, Vel_Y, Vel_OMEGA );
+    
+//    Vel_Mot0_double = -500.0;
+//    Vel_Mot1_double = -500.0;
+//    Vel_Mot2_double = -500.0;
+//    Vel_Mot3_double = -500.0;
+    
 
-    Vel_Mot0_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ ;//* 10;
-    Vel_Mot1_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ ;//* 10;
-    Vel_Mot2_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ ;//* 10;
-    Vel_Mot3_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ ;//* 10;
+    Vel_Mot0_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ * 10;
+    Vel_Mot1_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ * 10;
+    Vel_Mot2_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ * 10;
+    Vel_Mot3_double *= CONST_GEER_RATIO_ / CONST_WHEEL_RADIUS_ * 10;
 
    
     if(Vel_Mot0_double > 0)floor_value[0] = 0.5;
@@ -94,6 +100,18 @@
     order.Mot1Order.Vel_short = (short)(Vel_Mot1_double + floor_value[1]);
     order.Mot2Order.Vel_short = (short)(Vel_Mot2_double + floor_value[2]);
     order.Mot3Order.Vel_short = (short)(Vel_Mot3_double + floor_value[3]);
+    
+#ifndef EXCHANGE_REQUEST
+    order.Mot0Order.Vel_short *= 3;
+    order.Mot1Order.Vel_short *= 3;
+    order.Mot2Order.Vel_short *= 3;
+    order.Mot3Order.Vel_short *= 3;
+#endif
+//    order.Mot0Order.Vel_short = 0;
+//    order.Mot1Order.Vel_short = 0;
+//    order.Mot2Order.Vel_short = 0;
+//    order.Mot3Order.Vel_short = 0;
+        
 
     
     /* モータ軸がCCWで車輪がCWに回転するので,極性反転*/