2016 年ロボカップ SSL 研究会プログラム
⽇時
場所

2016 年 10 ⽉ 29 ⽇, 30 ⽇
愛知県⽴⼤学次世代ロボット研究所

プログラム
１０⽉２９⽇（⼟）
セッション１

11:30〜12:00

座⻑：杉浦 藤⻁（豊⽥⼯業⾼等専⾨学校）

１．出川 泰平（松江⼯業⾼等専⾨学校専攻科）
、ロボカップ SSL でのシュート軌道予測
２．⽔⾕ 将⾺（浅神製作所）
、斜めキックデバイスの開発と戦略性の拡⼤

１０⽉３０⽇（⽇）
セッション２

11:00〜12:00

座⻑：別府 俊幸（松江⼯業⾼等専⾨学校）

１．⽯倉 万希⽃（アイシンコムクルーズ(株)）
、ROS を⽤いた RoboCup SSL システム
２．安達 勇介（愛知県⽴⼤学⼤学院情報科学研究科）、RoboDragons の相⼿戦略学習への取り組み
３．⼩村 光弘（松江⼯業⾼等専⾨学校専攻科）
、ジャイロセンサを⽤いた RoboCup-SSL ロ
ボットの⾓度補正法
４．⾨林 宙希（松江⼯業⾼等専⾨学校専攻科）
、ロボカップ SSL ロボットの⾛⾏性能向上

ロボカップ SSL でのシュート軌道予測
出川 泰平（松江高専専攻科電子情報システム工学専攻）

A Shoot Orbit Prediction in RoboCup Small Size League Soccer Games
Taihei Degawa
(National Institute of Technology, Matsue College,
Advanced Electronic and Information Systems Course)

いるためボール速度が正確ではない．よって，t=1 よ

1. まえがき
RoboCupSSL では，画像処理プログラム（SSLVision）を搭載したパソコンから送信されるロボットとボールの座標より各チームの AI コンピュータがロボットの動作を決定し，サッカーの試合をする．SSL-り予測した．
今回は 1 次ローパスフィルタ(1 次 LPF)，2 次ローパスフィルタ(2 次 LPF)，単純平均を試みた．

2.1 1 次 LPF

Vision は 1/60 sec の間隔でフィールドを撮影するが，1 次 LPF は(1)式で表される．Y は出力，X は入力，座標データの送信までには約 1 フレームの時間を要

t は時刻，Δt はサンプリング間隔（16.7 ms），fc はカし，さらにチーム AI コンピュータでの処理に 1 フレットオフ周波数（1.67 Hz）である．

ームの時間を要する．そしてロボットに命令を送信し1てからロボットが動き始めるまでに約 17 msec 必要とする．また，SSL-Vision がロボットやボールの認識に失敗したときにはデータ欠落が生じる．ロボットへ適切な指令を与えるためには，AI コンピュータは常時ロボットとボールの位置を知る必要がある．一方，フィールドは周辺を含めて約 9.5m×6.5m を 4 台の11

ただし，t=1 のとき

2 次 LPF は(2)式で表される． ， ，

12

め，座標データには標準偏差約 1 mm の観測雑音がにより，ロボットとボールの座標を推定する．

21は約 6.5 mm となり，その画像より座標を求めるた

標データに拡張カルマンフィルタ

， ， はfc=1.67 Hz のバタワース特性とした．

カメラ（Allied Vision, Stingray F-046C, 780x580 pixels）

1)を適用すること1 とした．

2.2 2 次 LPFで撮影する．このため，フィールド上での画像分解能含まれる．そこで，SSL-Vision から送られてきた座

12

ただし，t=1 のとき
22
12

11 とした．

2.3 単純平均

ボールがキックされたとき，ボール座標と以前の座標のフィルタ推定値よりボール軌道を予測する．軌道

時刻 t における平均値を(3)式より求める．

がゴールに入るときにはキーパーロボットに指令を送信するが，毎フレームの予測値のばらつきが大きく，3ロボットがボールを止められないことがある．そこで，カルマンフィルタ推定値にさらにフィルタを用い，ボールの到達予測地点をロボットが防げる範囲である±40 mm 以内に収束させる方法をシミュレーションにより検討した．

2. ボール軌道予測
ボール軌道予測では，ある時刻のボールの座標と速度より直線を導出し，ゴールラインとの交点の座標を求める．予測開始条件は，ボール速度が 0.5 m/s より速くなった時とした．ただし，予測開始条件を満たしたとき（t=0），t=0 と t=-1 の間でボールが蹴られて2.4 フィルタの周波数特性
シュートコース予測中の進行方向のずれを 10°以内と仮定し，これよりカットオフ周波数を決定した．
1 フレームで 10°ボールの進行方向が変化したときの角周波数は 10.5 rad/s より 1.67 Hz とした．各フィルタの FFT を図 1 に示す．

3.2 6 m/s でシュートした場合
6 m/s でシュートしたときの誤差の変化を図 3 に示
す．いずれも平均誤差は予測開始時からすでに 40 mm以内となっていたが，標準偏差の収束は単純平均，1次 LPF，2 次 LPF の順となった．

図1フィルタの周波数特性

3. シミュレーション
ゴールラインから約 5 m 離れた地点から 2 m/s，6m/s，8 m/s のシュートをそれぞれ 5 回ずつ行い，SSLVision から送信されるボールの座標と時間を記録した．これらの計測値よりオフラインシミュレーションを行った．データに拡張カルマンフィルタをMATLAB で適用し，t=0 よりゴールラインを通過するまでのボール座標と時間を求めた．

図 3 6 m/s シュート時の予測誤差

3.3 8 m/s でシュートした場合

それぞれのフィルタのシミュレーション結果は，ゴ8 m/s でシュートしたときの誤差の変化を図 4 に示

ール到達位置と予測座標の誤差の絶対値を平均と標す．単純平均と 1 次 LPF が 6 フレーム，2 次 LPF が 9準偏差で表した．

フレームで 40 mm 以内に収束した．

3.1 2 m/s でシュートした場合
2 m/s でシュートしたときの到達位置と予測位置の誤差の絶対値の時間変化を図 2 に示す．1 次 LPF，2次 LPF は予測開始からそれぞれ 27，23 フレームで 40mm 以内に収束したが，単純平均は 42 フレームであった．これは，観測値が多くなったところでボールの進行方向が変わり，単純平均の変化が緩やかになったためと考えられる．

図 4 8 m/s シュート時の予測誤差

4. まとめ
すべての速度で誤差を最も早く 40 mm 以内に収めたのは 1 次 LPF であった．単純平均はボール低速時に弱く，2 次 LPF はボール高速時に弱い．1 次 LPF のチーム AI への実装によって，キーパーロボットのシュート防御率向上が期待できる．
図2

2 m/s シュート時の予測誤差

参考文献
1）足立修一，丸田一郎，
「カルマンフィルタの基礎」，pp.156-163，
東京電機大学出版局，2015

 5RER&XSᏡᇙ௥௷஫⒃┮⨖ၔ㌆ᙴↈℶ⋐ኘ፷

ᢌ୾நாபூோடழ୫⹔⃣
୥ᛸ⁇ᗲ୫᝞ኘ
233 3 ௜஦⧷⧢ᝇᕵ
3$P3
ᰆ⪴⪴ Ꮩ〦

஝ள஢௮஻• 23$㌳3୫␔ඁ• ᢌ୾நாபூோடழ୥୬• ᢌ୾நாபூோடழ୫⧷⧢• ᢌ୾நாபூோடழ୫ჭ⾤ḹ• ᡜᄁ㋷ ᆌ⮾〳ྪᢜᕍ୫ኆ᥇• ᡜᄁ㋸ ௄௥௑௦௨௷௤୵୫ᢗᬷ▾ඊഖ• ඀ᖝ୫ᐇᥣ• ୻୥୾23$㌳3୨ୡୁୣ• ⪿‥をᏕ 5RER&XS஼௷௛ଠ.,.6ଡ୫2%୨அஇ᫢ᛩ• ഝ‷୤ཋ୾ୣ " ⭂ႈ୥୔ୣ5RER&XSலெ஝୨ဨྋ
• 5RER&XSஏஅஇℚஇഓ୏କഝ‷ഌව୥୧ஈ୐୥୉℧ᬏ
㍄௨ௗா௃୫ኆⲁ㍄㍄ⶥᙬ⹔⃣ഩᢌ୾நாபூோடழ୥୬൵⹛୫ரா஦௷୤⧞ୃଠ௉௷௦ாபௌழଡஏ᎛ᾍୖஈᬷ᫢℧⑴

ᬷළ୫ၝ୊நாபᢜၝநாபᢜၝဨṸ㌀<87$.$஝ௐ௨ழ௘௷ி

ᢌ୾நாப୬Åᜌ$,୫ᙬ⤲ஏ⊫ୌ୐୥୉୤୊କௌழ஁ல௠௷௃ல௷௮୤ኘ୊୧஝௄ோ௮ு௷ள୥୧ஈᢌ୾நாபூோடழ୫⧷⧢
ᢌ୾நாபூோடழஏ⧷⧢ୖஈഓ୤ⴣ⦫୧௘ட௮௃୥୬෇ୈ㌅
ᆌ⮾⧋ᔌ୬୦୫≭ᔌᖽ⦫୧୫ୈߛஶா௃௒௧௷୫ව⓽⹢ก୉ⴣ⦫நாப୫⤫᠇୤⧋ᔌ୬ኆ஌ஆ୧ୁୈߛ⤫᠇୉K឴ද஌ஆ୧ୁ୐୥୉ⴣ⦫
ர௷ௗ௝௷஺

ழ௤ட஻௥௮பய௷௦Åᜌ௨ௗா௃

5PPநாபூோடழ

3.ව⓽ᢌ୾நாபூோடழ୫ჭ⾤ḹ
ࢳ ℼᮧ⼶୵୫நாப⧋ᔌ୉ୗஉୣ୔୻ୃ• ழ௤ட஻௥௮ப஁ᆌ⮾⯁୫ப௥஝௤௮ழକர௷ௗ୫ୗஉ⌖୉ဗᆎ• ඖ୨⧋ᔌ୉rୗஉஈ୥କP້୤୬⏱FPᬙ୨ୗஉୣ୔୻ୃߛ௨௮஫ௌழல௠௷௃⏌ᔌ୫ශഔ

ࢴ ௗ௷௦୉௨ௗா௃ഩኞ୨୧ୁ୥ᮧ⇖୨ᜒୣ୧ୁ
• ோ௷୫⺸୨ᕵଡ଼ୠୣ୿ᮧ⇖୧ᢜၝ୵୬⮒உ୧ୁ୐୥୉ኒୁ
• ௗ௷௦୉ഩኞ୥୧ஈஅୃ୨≨ྪ୔ୣ஁உ୭♰ୁ㌅
ߛⰙ⭖⻵୤␏஁ୈ୧≨ྪ୉ᖽ⦫୥୧இକ⼳ᓗ୨⻶୔ୁ• ௄௥௑௦ᆌ⮾୨அஇഩኞୈஆୗஉୣ୔୻ୃ၆▾ᗲ୿ିஈ• ஥௮௒௧௷ഩ୨ව⓽⩂ᡷୖஈ୐୥୬୒ஆ୨ᆒ⻶୤ିஈ

ௗ௷௦୉ഩኞ୨୧ୁ୥‫ܭ‬

ᡜᄁ㋷ ᆌ⮾〳ྪᢜᕍ୫ኆ᥇
• ᖢᦐ୫ர௷ௗ〳ྪ୤ r୫ව⓽ஏဢᎰ୨ᰩ୾ஈ୫୬⻶୔ୁ• ⨖ၔ୤୬ⱏ⑉⃬୨⧋ᔌஏኆ୅ଡ଼ୁሠ⼶୬୸୥ஐ୦୧ୁ㋮ᮧ⼶କ၊କᒮ୫᜻୔ୈ෣ୠୣୁ୧ୁ㋯ஷைோᮯ⮴ᬷ᫢ஏ†ୁୣକᬷᩆ⃬୨⧋ᔌஏᰩ୾ஈஷைோᮯ⮴ ໩நாபூோடழᆳᦠஷைோ௄௤ட௑⮴⯜௝௷஺୤〳ྪᡜᄁ㋸ ௄௥௑௦௨௷௤୵୫ᢗᬷ▾ඊഖ
• நாபோ௷୫ഩᖻ୤⮒உஈ୥ழ௃௧௷௃୿ℼୠୖ୍⿒୳• ௗ௷௦୉ഩኞ୨ᦐஈஅୃ୨≨ྪୖஈ୫୬⻶୔ୁ௄௥௑௦௨௷௤௷୨⣢ᢧழ௥ா௃ஏ໚உୣକௗ௷௦ஏഩኞ୨Ꭾ୘ஈഩኞ୨Ꭾ୘ஈณᝬୖஈ'௒௥௮஺୤ᇙஏⱌᕾߛல௥ம௮஁஡௧஺௮୤ⱌᕾ ⨖⤣ⷉ⨴ഩဨṸ㌀:LNLSHGLD‫*ܣ‬HQHYD GULYH‫ܤ‬඀ᖝ୫ᐇᥣ• அஇ᎛⭠⃬୥୧ୠଡ଼ᢌ୾நாபஏᥬᨁ⃬୨ᛸ⁇୨␝୼Ⰿ୽
• ᢌ୾நாப୫୒ஆ୧ஈⱔ࿑ߛ‫ܤ‬஦௷௑ல௠௷௃‫ܣ‬୫᎛ᾍ᎛⻆୫ரா஦௷୤୬௑௨ாப୉ୁୣ୿ኘ୊୧ᕟஏំୌல௠௷௃୬ᰩ୻ஈဨṸ㌀6KXQVXNH 1DNDPXUDWDNLQJDIUHHNLFNGXULQJ
-DSDQ VZRUOGFXSTXDOLILHUDJDLQVW%DKUDLQRQ-XQH

4 ⬾をⱋᆌ⮾㋱ᢌ୾நாபஏᜒୡ୥୦ୃ୧ஈୈ㌅
ௗ௷௦ᢌ୾நாபோாபழ௏௮⮾୉ஈᢜၝ

$ ℼୠୖ୍୨୬⿒୭୧୒୚ୃ‫ܭ‬஁ୠୣ୼ଡ଼ߛ୻୥୾• ᢌ୾நாபூோடழ୫⹔⃣௘ட௮௃୥ჭ⾤ḹ୨ୡୁୣ␔ඁ୔ଡ଼• ჭ⾤ḹ୨Ꮢ୔କ㋸ୡ୫ᡜᄁஏဳஇ໚உଡ଼• ஷைோᮯ⮴ᬷ᫢୨அஇᬷᩆ⃬୨⧋ᔌኆ᥇ஏ⤣ୃ• ௄௥௑௦௨௷௤௷୨⣢ᢧழ௥ா௃ஏ໚உௗ௷௦ஏഩኞ୨Ꭾ୘ஈ

• ஦௷௑ல௠௷௃୫၆▾ᗲஏ∊୔ଡ଼
୐உ୻୤୫66/௨ௗா௃ ঘழ௃௧௷௃நாபঘ஼ா௒நாப

23$㌳3୫℧ᝯୖ௨ௗா௃ঘழ௃௧௷௃நாபঘ஼ா௒நாபঘோாபழ௏௮஼ா௒ঘᢌ୾நாபঘ஦௷௑ல௠௷௃ኒᖃ୧நாப୫᎛ᾍ ߛᛸ⁇ᗲ୫᝞ኘକ66/ஏஅஇ⼶⃦ୌ㋧

目次・はじめに・ROSとはROSを用いた
RoboCup SSLシステム

・ROSのSSLシステムへの適用
・まとめ

アイシン・コムクルーズ株式会社Roots
石倉 万希斗
2はじめに
▷ SSLの持続的な発展
○ 新チームの参入が不可欠
仙台高専
MCT Susanoo Logics
ODENS
fWing207
Owaribito-CU

はじめに

KIKS
RoboDragons
OP-AmP
Roots

060708

09

1011

12

13

14

15

16
4

はじめにはじめに

▷ SSLのシステムが難しい - 参加障壁の一つ
○ 戦略, 行動制御, 通信, etc...

▷ ROSを用いてSSLシステムを開発することで
○ 土台部分の開発コストの低減
■

▷ ROS
○ 世界中で用いられているロボット用ミドルウェア

移動制御、センサドライバ

○ 豊富なツールを用いた開発
■

可視化ツール、ロギングツール等

特徴
○ 分散型システムの構築

○ 分散型のアーキテクチャ
○ ロボット開発に必要なライブラリ・ツール群が公開
○ インタフェースの共通化

■

各ロボットの処理を分散、CPUの有効活用

○ （他チームのシステムの流用）

56

ROSとは
Robot Operating System
▷ ロボット用のミドルウェア
○ Willow Garage社 が開発
OpenSourceRobotFoundation(OSRF)が管理
▷ 特徴
○ 分散型のアーキテクチャ

ROSとは■
■

機能をプロセス単位で実装
プロセス間の通信をROSが受け持つ

○ ライブラリが豊富
■
■

ハードウェアドライバ、可視化ツール
経路生成、移動制御、画像処理

○ C++, Pythonによる開発が可能

ROSとは - 分散型アーキテクチャ

ROSとは - 分散型アーキテクチャ

▷ ノード
○ ROSの機能単位
○ 1ノード1プロセス
○ メッセージを受け取って、処理し、別のメッセージを出力

Topic
Filtered
Position /Velocity

Raw
Position

shbli
Puerib
bsc

Su

▷ メッセージ
○ ROS上でやりとりされる情報
○ 指定された型を持つ
■ 位置、速度、経路、レーザースキャンデータ
▷ トピック
○ ROS上での情報の経路
○ ノードがトピックにメッセージをPublishする
○ ノードがトピックをSubscribeし、メッセージを受信する

8

Filter Node
PathPlan Node 2
Camera NodePathPlan Node 1

910

ROSとは - 代表的なライブラリ / ツール

ROSとは - 代表的なライブラリ / ツール

▷ 可視化ツール
○▷ tf - 座標変換ライブラリ
○ 座標系の関係を木構造で表現し、座標系変換を名前ベースで実現

map

R_0

BallDribbler

▷ navigation - 経路生成/軌道追従ライブラリ
○ マップ、センサデータ、ロボット位置などの情報から移動経路、ロボット移動速度を出力
▷ smach - 状態機械ライブラリ
○ 状態遷移図の実装、可視化を実現
▷ rosbag - ログ取得/再生ツール
11

12

ROSのSSLシステムへの適用
▷ メリット
○ ライブラリ/ツールを活用したシステム開発
○ ロボット毎の処理を分散化
○ 実行速度、実装難易度などに応じてPython, C++を使い分けられる

ROSのSSLシステムへの適用

▷ デメリット
○ ROSを理解しなければ開発を進められない
○ マルチロボットへの適用は工夫が必要
■

ROSは単独のロボット用に設計

14

ROSのSSLシステムへの適用 - メリットROS

Vision
Driver

ROSのSSLシステムへの適用 - メリット

C++
Python

Vision
Driver

生の位置情報
カルマンフィルタ

Observer

戦略決定

Desicion
Maker

ROS

生の位置情報
カルマンフィルタ

Observer

戦略決定

Desicion
Maker

位置、速度

C++
Python

Bayesian Filtering
Library (BFL)

位置、速度・smach
・py_trees
・tf

分散処理
移動目標地点
経路生成・
軌道追従制御

移動目標地点

Base
Base
Base
Base
Base
Base
Controller
Controller
Controller
Controller
Controller
Controller

経路生成・
軌道追従制御

移動速度

Sender
1516

ROSのSSLシステムへの適用 - デメリット
▷ ROSを理解しなければ開発を進められない
○ 分散システムの概念理解
○ ドキュメントが基本的に英語
「詳説 ROSロボットプログラミング」
九州大学の研究者が著者の無料書籍

まとめ▷ マルチロボットへの適用は工夫が必要
○ ライブラリ、ツールが単独のロボット用に設計
○ 単独ロボットとしてモジュール化
→ 単ロボットのモジュールを纏める
○ 複数台ロボット制御へのスケーラビリティは未知数
「詳説 ROSロボットプログラミング」 , http://irvs.github.io/rosbook_jp/

・navigation
・rviz
・rqt_plot

移動速度Sender

■

Base
Base
Base
Base
Base
Base
Controller
Controller
Controller
Controller
Controller
Controller

17

まとめ▷ ROSの概要
○ 分散型システム
○ 豊富なライブラリ/ツール
○ インタフェースの共通化

▷ ROSのSSLシステムへの適用
○○
○
○

ロボット処理の分散化
ライブラリ・ツールを活用した開発
C++/Pythonの使い分け
マルチロボット対応の課題

▷ 今後の当チームの活動
○ 未実装機能の実装、 オープンソース化
19

2016/10/27

ロボットの軌道/配置を保存

セットプレー間の類似度を定義

14

愛知県立大学 情報科学研究科 1年
RoboDragons 安達勇介

クラスタリング

K=7

類似度-高10

セットプレー時の各ロボットの軌道

6

類似度-低[1] C.Erdogan et al. IJCAI 2011
[2] K.Yasui et al. RoboCup Symposium 2013

2種類のセットプレー戦略でのクラスター分析を行った。

0.パスカット用のロボットを用意する
1.相手のセットプレーが開始されたとき，過去のセットプレーと同一と判断された場合，2へ.
同一と判断されない場合はキッカーの正面を防ぎ続ける.

赤は相手チーム
青は安井法を用いた学習法を反映したチーム
黒はボール
1回目

2回目

1と3，2と4は同じ戦略

2. 同一クラスターから最も類似したプレーのキック方向の情報を取り出し、パスカット行動を実行する.
3回目

4回目

 「RoboCup小型リーグにおける行動系列に基づく相手戦略の学習」 AIチャレンジ研究会
13

2

 「Classifyingthe strategies of an opponent
team based on a sequence of actions in theRoboCup SSL」RoboCup Symposium 2016

4プレー4の時間的分類変化

次第に2と4の類似度が高まっていく

 鋭意研究＆論文執筆中・・・

2の情報を使えば4が防げる可能性

1

2016/10/27

 プレー全体を対象とするとき、軌道の照合では限界がある。

 安井[3]のキック検出を利用したキック行動抽出
 浅野[4]の手法を改良したマーク行動抽出
 パス待ち行動抽出を新たに設計

 ロボットの行動の遷移を使えばうまくいかないか？

行動：

キック、パス、マーク、etc..

Robot1:…->Pass(x1,y1)->shoot(x2,y2)->…
Robot2:…->Pass(x3,y3)->…
…

P回目のプレーでのn番目のロボットの行動系列

行動の種類
行動の開始地点

 行動の種類=8種類

KickBall(下記3種以外のキック)
KickShoot(シュート)
KickPass(パス)
 KickClear(クリア)
 MarkShoot(シュート妨害型マーク)
 MarkPass(パス妨害型マーク)
 MarkBall(ボール保持者へのマーク)
 WaitPass(パス待ち)



[3] 安井ら RoboCup 小型ロボットリーグにおけるキック検出手法の検討 人工知能学会 AIチャレンジ研究会 SIGChallenge 2012

KickMark
[4] K.Asano et al. Detection of basic behaviors in
logged data in RoboCup Small Size League , RoboCup
Symposium 2008

α項
β項
γ項

α項 行動の種類
β項 行動の開始，終了点
γ項 行動系列のサイズ

行動の種類
行動の開始，終了点
行動系列のサイズ

行動の終了地点

行動の継続期間

行動データ同士の非類似度d0

行動データ

 行動系列AP1[n1]とAP2[n2]の非類似度

 Step3

行動の種類が一致するものが存在したとき

 アルゴリズム

長い方をlong, 短い方をsmallとする
small中のi番目の行動をlongの中のstart_jからlimit_jまでの中で探索する

 Step1
 Step2

を計算し,start_j = j + 1とする．
存在しない場合,i < small_sizeのとき, i = i + 1としてStep2へ

start_ji Step4

使用されずに残ったキック行動の数を追加コストとして加算する

limit_jsmalllong2

2016/10/27

 プレーAP1とAP2の非類似度

1

1

𝑑1 (𝐴𝑃1 1 , 𝐴𝑃2 [1])

2

2

𝑑1 (𝐴𝑃1 3 , 𝐴𝑃2 [2])

3

3

𝑑1 (𝐴𝑃1 4 , 𝐴𝑃2 [3])

4

4

𝑑1 (𝐴𝑃1 5 , 𝐴𝑃2 [4])

5

5

𝑑1 (𝐴𝑃1 6 , 𝐴𝑃2 [5])

6

6

𝑑1 (𝐴𝑃1 2 , 𝐴𝑃2 [6])

 Rand

𝑑2 𝐴𝑃1, 𝐴𝑃2
= 𝑑1 (𝐴𝑃1 1 , 𝐴𝑃2[1])
+ 𝑑1 (𝐴𝑃1 3 , 𝐴𝑃2[2])
+ 𝑑1 (𝐴𝑃1 4 , 𝐴𝑃2 [3])
+ 𝑑1 (𝐴𝑃1 5 , 𝐴𝑃2 [4])
+ 𝑑1 (𝐴𝑃1 6 , 𝐴𝑃2 [5])
+ 𝑑1 (𝐴𝑃1 2 , 𝐴𝑃2 [6])

𝜎=

 安井らによる手法
𝐾
 𝑊 𝐾 = σ𝑖=1 σ𝐴𝑐 ∈𝐶 σ𝐴𝑐 ∈𝐶 𝑑2 (𝐴𝑃𝑘 , 𝐴𝑃𝑙)
𝑘𝑖𝑙𝑖
 𝑊′ 𝐾

=𝑊 𝐾
𝑊 1

 argmax 1≤𝐾≤𝑁 (𝑊 ′ 𝐾≤ ℎ)

 類似していない要素が結合されている場合,クラスター内の要素間の距離の和を取るため値が大きくなる．

123456
162345

Index: a measure of the similarity between two data clusterings

 Ex)

match No.1 opponent

 Red: opponent Blue: RoboDragons Black: Ball

same :number of pairs clustered into same cluster
in each clustering result
diff :number of pairs clustered into different
cluster in each clustering result

 𝑅𝐼 = (𝑠𝑎𝑚𝑒 + 𝑑𝑖𝑓𝑓)/𝑛𝐶2

 0≦RI≦1

 Comparing

computer and human clustering results

RoboDragons

Match 1

Match 2

Match 3

Match 4

Rand Index

0.892

0.750

0.924

0.877

opponents

Match 1

Match 2

Match 3

Match 4

Rand Index

0.901

0.889

0.874

0.840

 Red

Reference
C.Erdogan et al.
Rand Index
0.87 to 0.96

: opponent Blue: RoboDragons Black: Ball

X14X4X8X18C1X2

X9X6X5X13C3X16X3X19X7C5X20X10X11X12C2C4C6C8C7X1C9X15C10X17X213ジャイロセンサを用いた RoboCup-SSL ロボットの角度補正法
小村 光弘（電子情報システム工学専攻）

A Robot Angle Correction with a Gyro Sensor for a RoboCup-SSL Robot
Mitsuhiro Omura (Advanced Electronic and Information Systems Course)

Vy

1. はじめに

Vy

V2

V

V1

RoboCup 小型リーグは直径 180 [mm]，高さ 150 [mm]のロボット 6 台が 1 チームとなり，サッカーを行う自θ2

θ1

θ3

θ4V3

採用している(2)．オムニホイールとは外周にある小車輪が主車輪の回転方向に対して垂直に回転できるホイール

Vx

VωVx

立型ロボットコンテストである(1)．松江高専 MCT Susano
Logics のロボットは移動機構に 4 輪のオムニホイールをθV4

図 1 ロボット上面から見た車輪配置である．それぞれのオムニホイールの角速度によって進行方向と移動速度を決定するためロボットは，360 °全方

図 2 にロボットの制御システムおよび測定システムを向へ移動できる．しかし，ロボットの走行時にオムニホ示す．ロボットは通信モジュール（Digi International Inc，イールへの荷重が変化するとフィールド面へのスラスト

Xbee Series1）によって，コンピュータから動作指令を受の伝わり方が異なるため，ロボットが回転してしまい，け取 る．ロボ ットの制御 用マイコン （ Microchip ，コントロール不能となることがある．

dsPIC33FJ32GP202）は通信モジュールから UART 通信で

本研究はジャイロセンサを用いたロボット走行時の角動作指令を受信し，その指令から各車輪の角速度度補正による走行の安定化および，走行性能の向上を目（V1~V4）を算出する．角速度は I2C 通信によって各モ的とする．

ータドライバへ送信される．モータドライバは受信した角速度値に応じた PWM パルスを出力してモータを駆動

2. ロボットの走行方法し，車輪を回転させる．車輪の回転数はロータリーエン

図 1 にロボットの車輪配置を示す．ここで θ1～θ4 は駆コーダ（USDIGITAL，E8P-360-157-S-H-M-B）によってモ動輪の取り付け角度であり θ1 = 40 °，
θ2 = 140 °，
θ3 = 220 °，

ータドライバにフィードバックされ，モータドライバのθ4 = 320 °である．Vx と Vy はロボットの速度ベクトル，PID 制御に使用される．

Vω は機体回転角速度である．各車輪の角速度（V1~V4）

11𝑟
cos 𝜃1 sin 𝜃1
11𝑉1−−𝑟
𝑉𝑥
1cos
𝜃sin
𝜃22(𝑉2) =( 𝑉𝑦 )
11𝑟𝑤ℎ𝑒𝑒𝑙
𝑉3𝑉𝜔
−𝑟
𝑉4cos 𝜃3sin 𝜃3
11𝑟( cos 𝜃4sin 𝜃4)

コンピュータ
ロボットの動作指令:
V∠θ，Vω

は式(1)より求められる．
−

通信モジュール
UART
通信モジュール

(1)

θ1～θ4 :車輪 1～4 の設置角度 [°]
r

ロボット
測定用基板

V1~V4 :車輪 1～4 の角速度 [rad/s]
rwheel

角速度データ
通信モジュール
（測定用）

通信モジュール
（指令送信用）

:ホイール半径 0.052 [m]
:ロボットの中心から車軸までの半径 0.080 [m]

測定用マイコン

UART

SPI
ジャイロセンサ

制御用マイコン
I２C
V1

V2

モータドライバ
実測
回転数

PWM

ロータリー
エンコーダ

モータ

車輪

V3

モータドライバ
実測
回転数

PWM

ロータリー
エンコーダ

モータ

車輪

V4

モータドライバ
実測
回転数

PWM

ロータリー
エンコーダ

モータ

車輪

モータドライバ

実測
回転数

PWM

ロータリー
エンコーダ

モータ

車輪

図 2 制御システムおよび測定システム

測定用基板には測定用マイコン（Arduino Srl，AruduinoUno）
，ジャイロセンサ（曙ブレーキ工業株式会社，MG01HRR1-03-100）
，通信モジュールが搭載されている．測定用マイコンは SPI 通信によってジャイロセンサから機体回転角速度を取得し，通信モジュールを通してコンピュ600ータへ 16 [ms]毎に送信する．

400

500
指令値[°/s]

300

角速度 [°/s]

3. 実験方法
予備実験として，機体回転角速度指令に対する機体角速度および，ロボット走行時の角速度を測定する．

366.67

200

256.69

100

183.35
110.01

036.67

-100-36.67

-200

-110.01

-300

-183.35

-400

-256.69

-366.67

-500

3. 1 機体回転角速度の測定

-600
0500

1000

1500

転角速度指令を 2880 [ms]間送ってロボットを回転させ，2500

3000

図 4 回転指令値に対する機体角速度[°/s]で分解能は 3.667 [°/s]である．静止状態のロボット
へ±36.67， ±110.0， ±183.4， ±256.7，±366.7 [°/s]の回

2000

時間 [ms]

ロボットへの機体回転角速度指令値の範囲は±366.7

4. 2 走行時の機体回転の測定結果この間の角速度を記録した．

移動方向を 0 °としたときの 3.2 節(1)，(2)の速度指令
値における測定データを図 5，6 に示す．図 3，5 より走

3. 2 走行時の機体回転の測定

行の開始時と停止時に角速度が大きく変化していること

移動方向を 0，44，90，134 °とした以下の条件の 960が確認された．この特性は図 6 のように初速度の指令が[ms]間の速度指令を静止状態のロボットに送信して走行0 [m/s]のときにも同様で，この場合には角速度の大きささせ，2000 [ms]間の角速度データを各 10 回ずつ記録しが小さいことがわかる．さらに 3.2 節(3)の場合にも同様た．なお，960 [ms]後の速度指令は 0 [m/s]を送信した．速の特性が確認され，角速度の大きさはより小さかった．

度指令値のグラフを図 3 に示す．

また，初速度がある場合には走行中に角速度が 0 [°/s]に(2)
(3)

t = 0 [s]の初速度 V0 を 1.2 [m/s]として，2.5 [m/s2]のなることなく，回転し続けることが確認された．

加速度で 2.0 [m/s]まで加速．

300

t = 0 [s]の初速度 V0 を 0 [m/s]として，2.5 [m/s2]の加250

速度で 2.0 [m/s]まで加速．

200

角速度 [°/s]

(1)

t = 0 [s]の初速度 V0 を 0[m/s]として，1.2 [m/s2]の加速度で 1.2 [m/s]まで加速．

150
100500

速度指令 [m/s]

2.5-50条件(1)2条件(2)
1.5-100条件(3)

05001000

15002000

時間 [ms]

1

図 5 初速度 1.2 [m/s]，加速度 2.5 [m/s2]時の機体角速度

0.503000500

1000

1500

2000
250

時間 [ms]

200角速度 [°/s]

図 3 速度指令値

4. 実験結果
4. 1 機体回転角速度の測定結果

150
100500-50

機体回転角速度の測定結果を図 4 に示す．図 4 から，

-1000ロボットの機体角速度は指令値 366.7 [°/s]に対して353.5 [°/s]など，指令値の約 96 [%]で収束することが確

500

1000

1500

2000

時間 [ms]

図 6 初速度 0 [m/s]，加速度 2.5 [m/s2]時の機体角速度認された．これは，スリップによってホイールの回転の一部が床に伝わらないためと考えられる．また，機体角

5. 今後の予定速度が収束するまでに 1.5 [s]程度かかることが確認された．これは，ロボットのホイール回転の PID ゲインは走行時の特性から求められているため，機体回転の場合では不適当だと考えられる．

ロボットの制御基板にジャイロセンサを搭載し，今回の測定で得られたデータを元に制御プログラムの改良を行う．

参考文献

一方で，指令値±36.67 [°/s]の場合には角速度が振動して収束していないことが確認された．また，±110.0 [°/s]

(1)

http://robocupssl.cpe.ku.ac.th/ (2016 年 10 月 22 日参照)の場合では－方向のみ振動しており，機体回転が左右対称でないことが確認された。

The Robocup Federation，Small Size Robot League，

(2)

堀江勇治，Robocup-SSL ロボットコントロール方法の研究，平成
28 年度松江高専専攻科論文集，2013

ロボカップ SSL ロボットの走行性能向上
門林 宙希（電子情報システム工学専攻）

Moving Characteristics of a RoboCup SSL Robot with Omni-wheels
Hiroki Kadobayashi (Advanced Electronic and Information Systems Course)

1. はじめに
ロボカップは自立型ロボットのサッカー大会である．松江高専は SSL（Small Size League）に出場している．SSL では直径 180 (mm)，高さ 150 (mm)の円柱に収まるロボットが 6 対 6 の試合を行う．試合は長さ9000 (mm)，幅 6000 (mm)のフィールドで，前後半各10 分行う．試合球は直径 43 (mm)，重さ 46 (g)のオレンジ色のゴルフボールを使う．

図 2 従来型オムニホイールの小車輪の構造

松江高専 Susano Logics のロボットは，移動機構にオムニホイールを使用して全方向への移動を可能と

2.2

昨年度の試作ホイールしている．本研究ではオムニホイールの軽量化と小車渡部 1)は，輪の数を増やすことによって走行性能の向上を目指

1.

す．

急加速時，高速走行時にホイールがスリップし走行が安定しない

2.

2. オムニホイールの製作
2.1 従来のホイール

低速走行時に蛇行するの 2 つの問題に対し，小車輪の配置を 2 列として接地角間隔を狭めることによるグリップ力向上を試みた

図 1 に Susano Logics で使用しているオムニホイー

（図 3）
．小車輪は従来型と同じとして，各列 13 個のルを示す．オムニホイールは車軸を中心に回転するホ26 個である．外径は 53 (mm)と同じとしたが，幅はイール本体と，円周上で自由に回転する小車輪を組み21.8 (mm)，重さは 104 (g)と増加した．小車輪の数を合わせたものである．回転方向にスラストを発生しな増やすことで，ホイール回転時の小車輪と地面との接がら直角方向に移動できる．外径 53 (mm)，幅 13 (mm)，

触によって生じる上下動を抑え，低速走行時の直進性ギアを取付けた状態での重さは 60 (g)である．

は向上した．しかし，ホイール重量が増加したため加速特性が悪化し，走行性能を向上させられなかった．

図 1 オムニホイール
図3

図 2 に小車輪の構造を示す．フランジ付ベアリング

2 列小車輪オムニホイール（FL673ZZ）2 個を組み合わせた小車輪に O リングま
たは外径 9 (mm)のシリコンチューブをかぶせたものを 15 個使用した．

2.3

本年度の試作ホイール 1

そこで，以下の方針の下に新しいホイールを設計した．
1.

軽量化のため小車輪は 1 列とする

2.
3.

小車輪間隔を詰めるため小車輪の幅を狭くす

4 個のオムニホイールを製作し，ロボットを走らせるた結果，前進後退の応答は良好であった．しかし，走軽量化のために車輪の半分をアルミ合金より行中に X リングがスペーサーの縁に引っかかり，小MC ナイロンに変更する

車輪がオムニホイールの溝の側面に押さえつけられ

図 4 に設計した 24 輪オムニホイールを示す．小車回りにくくなった．平ワッシャとスペーサーを接着し輪の幅を 5.0 (mm)から 2.6 (mm)に狭め，小車輪を 1 列て，フランジとしていたが，十分な耐久力を得られな15 個から 24 個に増やした．外径は 54 (mm)，幅は 13かった．

(mm)，ギアを取付けた状態での重さは 54 (g)である．

2.4

本年度の試作ホイール 2

図 7 に試作ホイール 2 の小車輪構造を示す．フランジ付きベアリングと，0.3 (mm)と 0.5(mm)厚の平ワッシャでフランジを構成した．

図4

24 輪オムニホイール

図 5 に 24 輪オムニホイールの小車輪の構造を示す．
スペーサー（(株)廣杉計器，CT-301.5）に X リング

図7

21 輪オムニホイールの小車輪の構造（GLOBAL O-RING，QN70010）を被せ，両側を 0.1(mm)厚の平ワッシャ（(株)廣杉計器，UUW-0308-01H）

図 8 に 21 輪オムニホイールを示す．24 輪の小車輪で挟んで接着（コニシ株式会社，アロンアルファ）しよりも幅が広がるため，21 輪に設計を変更した．外

た．中心軸にはノックピン（姫野精工所，径は 55 (mm)，幅は 13 (mm)，ギアを取付けた状態でHPA-3X5-SUS）を用いた．の重さは 59 (g)である．

図5

24 輪オムニホイールの小車輪の構造

しかし，ノックピンはホイール内を自由に動くため，小車輪がすぐに脱落した．そこで，ノックピン間の隙

図8

21 輪オムニホイール間にシリコンゴム （信越シリコーン，KE45T）を充填した（図 6）
．

3

今後の方針
4 個のオムニホイールを製作し実機に取り付けてロボットの加速特性，最高速，低速走行時の進行方向安定性を測定し，先行研究と比較検討する．また，低速走行時の直進向上のため，モータの電流をフィードバックさせトルク制御を行う．

参考文献
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
図 6 シリコンゴムで固定した小車輪1)

渡部 航司: RoboCup SSL ロボットの開発 －走行性能の向上－，
平成 26 年度機械工学科卒業研究報告書