RobocupSSLのメイン基板白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は,ロボットとボールの座標,審判の判定を元にロボットの移動,キックなどの作戦を決定し,無線によってロボットに指令を送信する.
ロボット機能紹介
●オムニホイールによる方向転換不要の全方位移動
オムニホイールは,自由に回転可能なローラをホイールの外周上に配置した車輪である.ローラの回転により,車輪の回転と垂直の方向に駆動力を発することはできないが移動は可能となる.各車輪の角速度を調整することによって全方向への移動を可能にする.
●ドリブルバーのバックスピンによるボール保持
●電磁力を利用したキッカー
●キッカーの電磁力エネルギーを充電する充電回路
●ロボット情報が一目でわかるLCD
interface/i2c/xprintf/xprintf.h@35:b1b00cfaa163, 2019-09-22 (annotated)
- Committer:
- alt0710
- Date:
- Sun Sep 22 10:23:42 2019 +0000
- Revision:
- 35:b1b00cfaa163
- Parent:
- 1:c359b1fcfb5a
2019JapanOpenSoft
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alt0710 | 1:c359b1fcfb5a | 1 | /*------------------------------------------------------------------------*/ |
alt0710 | 1:c359b1fcfb5a | 2 | /* Universal string handler for user console interface (C)ChaN, 2011 */ |
alt0710 | 1:c359b1fcfb5a | 3 | /*------------------------------------------------------------------------*/ |
alt0710 | 1:c359b1fcfb5a | 4 | |
alt0710 | 1:c359b1fcfb5a | 5 | #ifndef _STRFUNC |
alt0710 | 1:c359b1fcfb5a | 6 | #define _STRFUNC |
alt0710 | 1:c359b1fcfb5a | 7 | |
alt0710 | 1:c359b1fcfb5a | 8 | #include <stdarg.h> |
alt0710 | 1:c359b1fcfb5a | 9 | |
alt0710 | 1:c359b1fcfb5a | 10 | #define _USE_XFUNC_OUT 1 /* 1: Use output functions */ |
alt0710 | 1:c359b1fcfb5a | 11 | #define _CR_CRLF 1 /* 1: Convert \n ==> \r\n in the output char */ |
alt0710 | 1:c359b1fcfb5a | 12 | |
alt0710 | 1:c359b1fcfb5a | 13 | #define _USE_XFUNC_IN 1 /* 1: Use input function */ |
alt0710 | 1:c359b1fcfb5a | 14 | #define _LINE_ECHO 1 /* 1: Echo back input chars in xgets function */ |
alt0710 | 1:c359b1fcfb5a | 15 | |
alt0710 | 1:c359b1fcfb5a | 16 | |
alt0710 | 1:c359b1fcfb5a | 17 | #if _USE_XFUNC_OUT |
alt0710 | 1:c359b1fcfb5a | 18 | #define xdev_out(func) xfunc_out = (void(*)(unsigned char))(func) |
alt0710 | 1:c359b1fcfb5a | 19 | extern void (*xfunc_out)(unsigned char); |
alt0710 | 1:c359b1fcfb5a | 20 | void xputc (char c); |
alt0710 | 1:c359b1fcfb5a | 21 | void xputs (const char* str); |
alt0710 | 1:c359b1fcfb5a | 22 | void xfputs (void (*func)(unsigned char), const char* str); |
alt0710 | 1:c359b1fcfb5a | 23 | void xprintf (const char* fmt, ...); |
alt0710 | 1:c359b1fcfb5a | 24 | void xsprintf (char* buff, const char* fmt, ...); |
alt0710 | 1:c359b1fcfb5a | 25 | void xfprintf (void (*func)(unsigned char), const char* fmt, ...); |
alt0710 | 1:c359b1fcfb5a | 26 | void xvprintf(const char* fmt, va_list arp); |
alt0710 | 1:c359b1fcfb5a | 27 | void put_dump (const void* buff, unsigned long addr, int len, int width); |
alt0710 | 1:c359b1fcfb5a | 28 | #define DW_CHAR sizeof(char) |
alt0710 | 1:c359b1fcfb5a | 29 | #define DW_SHORT sizeof(short) |
alt0710 | 1:c359b1fcfb5a | 30 | #define DW_LONG sizeof(long) |
alt0710 | 1:c359b1fcfb5a | 31 | #endif |
alt0710 | 1:c359b1fcfb5a | 32 | |
alt0710 | 1:c359b1fcfb5a | 33 | #if _USE_XFUNC_IN |
alt0710 | 1:c359b1fcfb5a | 34 | #define xdev_in(func) xfunc_in = (unsigned char(*)(void))(func) |
alt0710 | 1:c359b1fcfb5a | 35 | extern unsigned char (*xfunc_in)(void); |
alt0710 | 1:c359b1fcfb5a | 36 | int xgets (char* buff, int len); |
alt0710 | 1:c359b1fcfb5a | 37 | int xfgets (unsigned char (*func)(void), char* buff, int len); |
alt0710 | 1:c359b1fcfb5a | 38 | int xatoi (char** str, long* res); |
alt0710 | 1:c359b1fcfb5a | 39 | #endif |
alt0710 | 1:c359b1fcfb5a | 40 | |
alt0710 | 1:c359b1fcfb5a | 41 | #endif |