Upload
-
View
222
Download
0
Embed Size (px)
Citation preview
RoboCupとは
RoboCup ー ロボット技術を比較し,公開し,発展させる場チェスなどと並ぶ標準問題 人類の挑戦!
■サッカーリーグの目標西暦2050年までにワールドカップのチャンピオンチームに勝てる自律型ロボットのチームを作る
その過程で○ロボット工学と人工知能の融合・発展を目指す.
具体的には,○コンテストだけではなく,学術会議が同時に開催される.○勝利したチームには,情報公開の義務が生じる.→情報を共有化することで,加速的に技術の発展を目指す
RoboCupとは
■RoboCup2015概要
場所: 中国 合肥日時: 2015年7月17~7月23日リーグ数: 11リーグ+α(サッカー,レスキュー,ホーム,ジュニアリーグ)参加国: 40カ国程度チーム数: 約400チーム程度
(予選を通過したチーム)
千葉工業大学の結果CIT Brainsサッカーヒューマノイドリーグ世界大会 キッドサイズ4on4サッカー 1位世界大会 キッドサイズテクニカルチャレンジ 1位世界大会 アダルトサイズテクニカルチャレンジ 2位
ヒューマノイドサッカーとは
RoboCupルールの概要
○ヒューマノイド (サイズを規定)○ほとんどのルールはサッカーと同じ○4対4で戦う○全て自動制御 (遠隔操作不可)ロボットに触れると1分退場○イエローカード,レッドカード有り○前半10分,後半10分○タイムは2回5分まで
ビデオ
視覚 行動決定
運動制御
歩行
シュート
ロボットに要求される主な機能
起き上がり
状況を判断↓
行動を決定(人工知能)
↓
動作を生成
一つ一つが現在も研究中の分野
全ての機能を本体に内蔵し,安定して動作するロボットを構築する
視覚 (画像処理)
CCDカメラの映像から以下を検出する
1)ボール2)ゴール(ゴールポストを含む)3)ポール4)ロボット
これが安定して行えないと,試合ができない.
開発はこのプログラムを作ることからスタートした.
視覚 (画像処理)
例えば,ボールがどこにあるかを検出する方法
1)1ドット毎に何色かを分類2)横同士をつないで領域を求める(ラベリング)
3)重心位置・サイズを求める4)首が向いている方向を計算(運動学) ー ベクトル リンク5)地面に投影して位置を求める.
自己位置推定
オドメトリとランドマークの位置から自己位置推定を行う.
始めに全体を見渡し,ランドマークの位置を確認
↓
パーティクルフィルタを用いた自己位置推定
↓
オドメトリにより,位置を更新↓
ランドマークが視界に入ったときに,自己位置を修正
Fig.4 Estimating Process Using Particle Filter
記憶と予測
その他,ボールなどを安定して検出するために,以下も用いている.
1)記憶2)予測
これは,ボールの移動速度などから,一定時間後の位置を予測したり,一度見た位置を一定時間覚えていたりする機能である.
→ 人間の持つ機能を順次実装することで,格段に賢い動きをするようになった.
その他のセンサカメラ
加速度センサジャイロセンサ
【各モータ】角度センサ温度センサ
バッテリセンサ
ボール,ゴール,ロボットなどの位置検出
60個以上のセンサを使用 → これらの値から次の行動を決定
残量の検出
姿勢検出,転倒検出姿勢検出歩行の安定化に利用
関節の角度検出モータの劣化防止
情報の共有 (無線通信)
1台のロボットが見た情報を全てのロボットで共有する
↓
ボールを見失うことが減少
また.役割やステータスを教え合うことで,2台のロボットがぶつかり合うことなくボールにアプローチできる.
→ チームプレイの達成マルチロボット制御
行動記述プログラムの例
def sample_2search(robot):
ball = robot.GetLocalPos(robot.HLOBJECT_BALL, robot.HLCOLOR_BALL)
if len(ball) == 0:
return
x, y, the = ball[0]
angle = math.degrees(math.atan2(y,x))
robot.PanDeg(angle)
例えば,首を回してボールをトラッキングするプログラムの主要部は以下のようになる
【ロボット座標】と【フィールド座標】の2種類を上手く使い分けることが重要である
制御回路
人工知能認識行動決定
運動制御
20個のコンピュータが協調分散制御
Servo motors x 18
RS485
Tra
nsc
eiv
er
CPURenesas
SH2A/7211
RS232CTransceiver
EEPROMAT24C1024
1MBit
SDRAM8MByte(16Bit)
Circuit for Walking Control
A/D Converter
Gyro Sensor x 2Sparkfun IMU5
Gyro SensorSilicon Sensing System
(Yaw Axis)
Circuit for Main Process(Ex. Image Recognition, Strategy,…)
RS485460.8kbps
CommandStatus Data
SCIF1SCIF2,3
1ch2ch
1000Mbps Ethernet
FutabaRS405CB
RS232C 115200bps
CPUCOMMELLLP170C
Atom D525OS: Windows
DRAM2GB
USB
USB-SerialConverter
USB Camera
Wirelss LANIEEE802.11
a/b/g
Shikino Hightech
Acceleration Sensor
ADXL330
Min
iP
CI
ソフトウェア
ジャイロフィードバック
運動学
画像処理
身体制御(歩行制御)
自己位置推定
情報共有
障害物回避
軌道・行動生成
役割決定
転倒検知
スイッチ,LED
ユーザーインタフェース シリアル通信
状態選択
行動決定部
コマンドキュー
シリアル通信
リアルタイムモニタリング
コマンド生成
環境認識
無線通信電源電圧モータ温度監視
環境データベース
状態
状態
状態
身体制御部
統括制御部
Pyt
hon
C言語
mm
eye
-pp
cC言語
HC
5
・モジュール化・階層化・スクリプト言語
リアルタイム性
全方向に移動できる歩行
その他様々なアプローチを行うが,これらの移動には,
全方向になめらかに移動できる歩行
が必要である.これに関しては,初年度の世界大会前に実装した.
このためには,【逆運動学】をリアルタイムに解いて,足先を制御することが必要となる.
→ 現在の上位のチームは全て可能
短期記憶(過去の検出とオドメトリ)
ポテンシャル法による障害物回避方向のベクトル
実際の移動方向
視野視野
障害物回避 (ポテンシャル法)
試合を行うためには,プレーヤ同士が避けながら動くことが必要本ロボットでは,ポテンシャル法を用いた障害物回避を実現
ビデオ
蹴る,起き上がるボールに精度高く近づいた後,シュートを行う.記録された動きを再生する. (ティーチングプレイバック)動きは一つ一つ手作業で入力する.→ 新たにGA(遺伝アルゴリズム)を用いた動きの生成
起き上がりの動作なども同じ方式で行う.開始のトリガは,重力加速度の向き.
GAを用いたシュートモーションの最適化
動画 動画
ロボットの仕様
Table 1 Specification of the Robot
Weight 3.9 kg (Including Batteries)
Height 590 mm
Velocity
(Forward)0.4 m/s (maximum)
Walking
Directions
All direction and rotation
(Select the angle, stride, period and so on)
CPU BoardAxiomtek PICO820 (Intel Atom Z530 1.6GHz)
Sub: Hajime Robot HC5 (Renesas SH-2A/7211)
OS Windows XP Professional
InterfaceEther x 1, USB x 4,
CF x 1, RS232C x 2, Sound In/Out , Digital I/O, etc
Servo Motor Futaba RS405CB x 18
Battery 3S (11.1V, 5000mAh )
実装した主な機能
リアルタイム画像処理
自己位置推定
記憶,予測
高速センサデータ処理
マルチロボット制御
Pythonのコマンドシステム
全方向に移動する歩行
アプローチ時の軌跡制御
障害物回避
安定したシステム
→ 個別には実現できている機能であるが,限られたサイズの中に入れ,安定して動かすことは非常に困難
学習,適応制御