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

comm/fifo/fifo.cpp

Committer:
alt0710
Date:
2017-04-26
Revision:
7:1f1bdb4e4f33

File content as of revision 7:1f1bdb4e4f33:


#include "mbed.h"
#include "comm.h"
#include "fifo.h"

/* **mbedクラス** */
#ifdef LPC4088

#elif  STM32

#endif


/* **ローカル関数定義** */

/* **ローカル関数** */

/* **グルーバル関数** */

/* **クラス** */
FIFO_Roots::FIFO_Roots()
:head_write(0),
 head_read(0)
{}
 
 ErrAddFIFO  FIFO_Roots::addFIFO(fifo_type data )
{
    unsigned char   next = (head_write+ 1) & (FIFO_SIZE - 1);

    if( next == head_read ){
        return  FIFO_OVERFLOWED;
    }

    fifo_data[head_write]    = data;
    head_write  = next;

    return  ADD_SUCCESS;
    
}

fifo_type  FIFO_Roots::getFIFO(void)
{
    fifo_type buf;
    
    buf    = fifo_data[head_read];
    head_read   = (head_read + 1) & (FIFO_SIZE - 1 );

    return  buf;
}

ErrGetFIFO FIFO_Roots::statusFIFO(void)
{
    if( head_read == head_write ){
        return  FIFO_EMPTY;
    }
    return GET_SUCCESS;
}