--- title : RRS Tutorial 1 robots : noindex, nofollow lang : ja-jp breaks : false --- # RoboCupRescue Simulation Tutorial 1 Author: * 愛知工業大学 大学院 宮本 (e-mail: aitk15121kk[at]outlook[dot]com) * 愛知工業大学 大学院 日下 :::warning **NOTE:** 愛知工業大学 AIT-Rescueが内部で使用しているチュートリアル用のドキュメントです. 非公式です.公式ドキュメントは関連リンク最後の先にまとめています. ::: :::info **NOTE:** 欲しい情報があれば(可能であれば)追記します.メールを下さい. ::: ## 関連リンク * RRS Tutorial 1 - 導入編 * [RRS Tutorial 2 - 環境構築 & タスク決定編](https://hackmd.io/@f7c-HYEQTiygEJma8JWbjQ/Hytr_wLf7) * [RRS Tutorial 3 - クラスタリング編](https://hackmd.io/@f7c-HYEQTiygEJma8JWbjQ/SyWm6r24H) * [RRS Tutorial 4 - サーチ対象決定編](https://hackmd.io/@f7c-HYEQTiygEJma8JWbjQ/Sy5ydo2Lr) * [RRSに関する情報置き場](https://hackmd.io/@f7c-HYEQTiygEJma8JWbjQ/SJDghjVbH) ## はじめに RoboCupRescue Simulation (RRS) は仮想都市上で,複数体の人工知能ロボット(エージェント)を用いた災害救助活動のシミュレーションがおこなえるプラットフォームです. ユーザはエージェントを操作するプログラムを開発することで,そのエージェントがおこなう災害救助活動の成果を測ることができます. 本資料では,RRSを利用する目的として次の事を想定しています. * RoboCupでおこなわれる競技への参加 * マルチエージェントシステムのベンチマークシステムとしての利用 ## シミュレーションの見方 ###### 動画 {%youtube 6UcvwmZvPV0 %} 神戸のある区画を舞台とした,災害救助シミュレーションの動作を記録した動画です. この動画では,初心者向けに分かりやすくするため,各要素のアイコンをいらすとやの画像で置き換えています. ### 災害に関する要素 | 動画の表現 | 実際の表現 | 名称 | 概要 | | :-: | :-: | :- | :- | | ![](https://i.imgur.com/ldhjHBc.png) | ![](https://i.imgur.com/Rpch25I.png) | **建物** | 都市を構成する建物です.一部の特殊な建物を除き火災や倒壊が発生します. | | ![](https://i.imgur.com/AScFYGS.png) | ![](https://i.imgur.com/amHToRs.png) | **火災** | 建物に火災が発生している様子です.色が濃いほど,より強い火災が発生しています. | | ![](https://i.imgur.com/Sku58kf.png) | ![](https://i.imgur.com/IblyUpD.png) | **倒壊** | 建物に倒壊が発生している様子です.色が濃いほど,より強い倒壊が発生しています.火災と共存します. | | ![](https://i.imgur.com/Hj9q1Iz.png) | ![](https://i.imgur.com/GF50dFg.png) | **道路** | 建物間をつなぐ道路です.道路を通行不能にする瓦礫が発生します. | | ![](https://i.imgur.com/sIbuCYh.png) | ![](https://i.imgur.com/ojzDBT6.png) | **瓦礫** | シミュレーション開始時や余震後に発生して,道路上の通行を妨げる瓦礫です. | | ![](https://i.imgur.com/hMHyXqq.png) | ![](https://i.imgur.com/Fqqn1hA.png) | **市民** | 都市に存在する市民を模したエージェントです.建物の火災や倒壊によりダメージを負うことで移動不能になり,最終的に死に至ります.残りの体力が少なくなるほど,黒色に近づきます. | ### 災害救助活動をするエージェント | 動画の表現 | 実際の表現 | 名称 | 概要 | | :-: | :-: | :- | :- | | ![](https://i.imgur.com/ogsSjr7.png) | ![](https://i.imgur.com/TNLgPm3.png) | **消防隊** | 自身の中に貯水している水を用いて火災の消火が可能です. | | ![](https://i.imgur.com/anE73LX.png) | ![](https://i.imgur.com/W2iJ8Yh.png) | **土木隊** | 矩形範囲選択による瓦礫の除去が可能です. | | ![](https://i.imgur.com/Bv3YHrA.png) | ![](https://i.imgur.com/N3u3k5g.png) | **救急隊** | 建物の倒壊により埋没したエージェントを掘り返して,避難所へ搬送することが可能です. | これらのエージェントも市民と同様に建物の火災や倒壊によりダメージを負い死に至ります. ただし,埋没している場合を除き,移動不能になることはありません. ### それ以外の特殊な要素 | 動画の表現 | 実際の表現 | 名称 | 概要 | | :-: | :-: | :- | :- | | ![](https://i.imgur.com/vxmLJYW.png) | ![](https://i.imgur.com/QMFXX1x.png) | **避難所** | エージェントのダメージを無効化できる建物です.救急隊は,ダメージを負った市民をここに運ぶことを目的とします.消防隊が水を補給することも可能です. | | ![](https://i.imgur.com/Ao5ZPEZ.png) | ![](https://i.imgur.com/c4u92L8.png) | **ガソリンスタンド** | 火災が発生した瞬間に爆発する建物です.爆発すると周辺一定距離以内の建物に火災が広がります. | | - |![](https://i.imgur.com/ggZb7IZ.png) | **給水栓** | 消防隊が水を補給することができる道路です.避難所よりも補給効率が悪いです. | 実は,他にも特殊な要素として各種エージェントの司令所が存在しますが,競技では使用する大きな利点がありません. そのため,ここでは説明を省きます(動画にも登場していません). ## エージェントを操作するプログラムによる違い ###### 動画 {%youtube QtS8GhVb7pI %} エージェントを操作するプログラムによって,災害救助活動の成果は変化します. この動画では全く同じ環境で,左右2種類のプログラムを動作させています. プログラムの違いにより,大きく火災の延焼度合いが変化していることが分かります. ## スコア シミュレーションの結果は火災や市民の状態から,1個の数値として表現されます. この数値はスコアと呼ばれます. シミュレーション開始時に最大値を示し,次第に減少していきます. ###### 計算式 $$ スコア = \left(市民の生存数 + \frac{市民の総残存体力}{市民の総最大体力}\right) \sqrt{\frac{火災の度合いで重み付けられた建物の総面積}{建物の総面積}} $$ この計算式より,次のことをエージェントが目指すことにより,高いスコアが得られます. * 市民の生存数をできる限り維持する * 建物の火災をできる限り防ぐ 一方で,計算式には登場しますが,次のことを目指しても他要素に比べて影響が小さいです. * 市民の残存体力を高い状態で維持する