28
マママママママ マママママママママママ ママ 2006 マ 10 マ 28 マ ママ ママ http://mobile-robots.way-nift y.com/daily_report/ http://homepage1.nifty.com/BR OKEN/

マイクロマウス ソフトウェア要求仕様書

Embed Size (px)

DESCRIPTION

マイクロマウス ソフトウェア要求仕様書. 初版 2006 年 10 月 28 日 冨山 隆志 http://mobile-robots.way-nifty.com/daily_report/ http://homepage1.nifty.com/BROKEN/. 変更履歴.   変更履歴 はじめに 対象範囲 参考資料 専門用語と略語 システム概要 ハードウェア仕様 ハードウェア構成 基本機能 システム状態遷移 使用環境 使用条件. 機能要件 共通機能 探索走行機能 トライアル走行機能 サーキット走行機能 ハードウェア動作確認機能 - PowerPoint PPT Presentation

Citation preview

Page 1: マイクロマウス ソフトウェア要求仕様書

マイクロマウスソフトウェア要求仕様書

初版 2006 年 10 月 28 日冨山 隆志

http://mobile-robots.way-nifty.com/daily_report/http://homepage1.nifty.com/BROKEN/

Page 2: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 2

変更履歴変更履歴No. 日付 変更箇所 変更理由

0 2006-10-20 全体 新規作成

1 2006-10-28 目次、機能要求 書ききれないところを T.B.D とした。

Page 3: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 3

目次目次

  変更履歴1. はじめに

対象範囲 参考資料 専門用語と略語

2. システム概要1. ハードウェア仕様2. ハードウェア構成3. 基本機能4. システム状態遷移5. 使用環境6. 使用条件

3. 機能要件1. 共通機能2. 探索走行機能3. トライアル走行機能4. サーキット走行機能5. ハードウェア動作確認機能6. 走行コマンド動作確認機能

4. 非機能要件1. 性能2. RAS定義

5. 開発条件1. 設計手法2. 開発環境3. RAS充実方針

6. 主要マイルストーン

Page 4: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 4

1.はじめに1.はじめに

 本要求仕様書は、 2006 年度版マイクロマウスの CPU 上で動作する制御プログラムに関する要求仕様について取り扱います。

中島史敬:“マイクロマウス「紫苑」大解剖!ソフトウェア編”、pp.22-27 、ロボコンマガジン No.45 、オーム社、 2006.

森永英一郎:“マイクロマウス初心者講座”、http://www8.big.or.jp/~morinaga/basicmouse/frame_basicmouse.htm

ニューテクノロジー振興財団、全日本マイクロマウス大会、http://www.robomedia.org/directory/jp/game/mm_japan.html

1.1 対象範囲

1.2 参考資料

Page 5: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 5

1.3 専門用語と略語1.3 専門用語と略語用語 意味

マイクロマウス マイコンや電源を搭載した、迷路を探索する自律型ロボット。

第一走行 壁の位置についてのデータを持たない迷路において、スタート区画からゴール区画まで、コースを探索しつつ走行すること。

第二走行 予め壁の位置についてデータを持っている迷路において、スタート区画からゴール区画までの走行時間を短くすることを狙って走行すること。

探索 所定の探索アルゴリズムに従って、壁情報を収集しつつ、迷路内で未通過である区画を移動すること。

帰還 ゴール位置からスタート位置まで戻るために移動すること。

走行コマンド N区画前進、スピン、停止など移動するための基本的な動作命令。

スピン 左右の車輪を逆に回転させてその場で方向転換すること。

SW スイッチの略。(例:タクトSW=タクトスイッチ)

RAS Reliability(信頼性)、 Availability (可用性)、 Serviceability(保守性)の略。

信頼性 決められた条件下で仕様どおりの性能水準を維持できる能力。

可用性 ソフトウェアに存在する誤り(エラー)が障害として顕在化しても、その影響を極力少なくしてソフトウェアが稼動できる度合い。

保守性 ソフトウェアのエラー修正や性能・機能の向上を目的とした変更のしやすさの度合い。

Octopus NOKIA の研究所で考えられたオブジェクト指向ベースの組み込み向け開発手法。

Page 6: マイクロマウス ソフトウェア要求仕様書

2.システム概要

Page 7: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 7

2.1 ハードウェア仕様(概略)2.1 ハードウェア仕様(概略)CPU Renesus H8/3052F

Clock 25MHz, ROM 512KB, RAM 8KB

バッテリ ニッケル水素二次電池単4型 × 10本、 12V 、 700mAh

寸法 全長 × 全幅 × 全高120 mm × 80 mm × 80mm

車輪 直径  45 mm

トレッド 74 mm

重量 650 g

操舵方式 Power Wheel Steering 方式

モータ ステッピングモータ ×2個

センサ アナログ壁面センス方式センサ用赤色LED ×4個フォトトランジスタ ×4個

ユーザ I/F タクトスイッチ ×4個(うち CPU リセット 1 つ)圧電サウンダー5 ×7ドットマトリクス LED状態表示用 2色 LED×5個

通信 I/F RS-232Cポート ×1個

2006 年度版 Endeavor

Page 8: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 8

2.2 ハードウェア構成2.2 ハードウェア構成

モータ駆動部壁面センサ部 CPU周辺部

CPUH8/3052F

サウンダ

DriverSLA7052M

DriverSLA7052M

バッテリ12V, 700mAh

イネーブル回転方向クロック

2色LE

センサ用LE

フォトトランジス

ドットマトリクスLED

リセットタクトSW

Page 9: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 9

2.3 基本機能2.3 基本機能

1. 探索走行機能(第一走行)  ( Mandatory) 壁情報を持っていない迷路において、スタート区画からゴール区画までコースを探索し

つつ走行します。 ゴールに到達すると、自動的にスタート区画まで自律走行して帰ってきます。

2. トライアル走行機能(第二走行)  ( Recommended) 探索走行(第一走行)が済んだ迷路において、スタート区画からゴール区画までの走行

タイムが短くなることを目指して走行します。 ゴールに到達すると、自動的にスタート区画まで自律走行して帰ってきます。

3. サーキット走行機能 ( Optional) 予め壁情報が与えられた迷路の最外周をできる限り速い速度で周回します。

4. ハードウェア動作確認機能 ( Mandatory) センサやモータなどのハードウェアが正しく動作することを確認します。

5. 走行コマンド動作確認機能 ( Mandatory) 前進やターンなどの走行コマンドが正しく動作することを確認します。

メンテナンスに使用します

Page 10: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 10

2.4 システム状態遷移 (not normative)

2.4 システム状態遷移 (not normative)power on reset

wait ‘W’

search mode ‘1’ trial mode ‘2’

circut mode ‘S’ error ‘E’

H/W check mode ‘H’

command check mode ‘C’

select

select

select

select

select

exec [isReturned]

errorerror

error

探索走行でゴールしてスタート地点まで戻り、その後でタクトSWをオスと最速走行を

開始する。

error

error

Page 11: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 11

2.4 システム状態遷移 (not normative)

2.4 システム状態遷移 (not normative)

event

current state

wait mode search mode

trial mode circut mode

HW check mode

command check mode

error mode

power on reset

wait mode wait mode wait mode wait mode wait mode wait mode wait mode

select search mode

circut mode ( 遷移なし)

HW check mode

command check mode

wait mode ( 遷移なし)

exec ( 遷移なし)

[isReturned] trial mode

( 遷移なし)

( 遷移なし)

( 遷移なし)

( 遷移なし)

( 遷移なし)

error error mode error mode error mode error mode error mode error mode ( 遷移なし)

Page 12: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 12

2.5 使用環境(大会迷路仕様)2.5 使用環境(大会迷路仕様)1. 全体の大きさはおよそ 3m×3m 2. 1 区画の大きさは 180mm×180mm 3. 全体では 16 区画 ×16 区画 4. 壁は高さが 50mm 、幅が 12mm 5. 壁の側面は白色、上面は赤色 6. 路面はつや消し黒 7. 迷路のパターンは大会が始まる

まで知らされない。 8. スタート地点は迷路の左下隅 9. ゴール地点は中央の 4 区画

第21回大会エキスパートクラス決勝迷路

16区画(およそ3m)

スタート地点

ゴール地点

大会会場は照明条件が不明なため、壁面センサには十分なノイズ対策が必要。

Page 13: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 13

2.6 使用条件(一般的な競技手順)

2.6 使用条件(一般的な競技手順)

1. 名前を呼ばれたら競技用迷路の前に立ち、マウスを迷路のスタート地点に置く。 スタート地点の壁を用いたセンサのキャリブレーションはルール上認められている。

2. 右手を上げて審査員に開始を知らせてから、マウスをスタートさせる。 普通は最初の走行で迷路を探索するように走行する。 2 回目以降の走行ではマウスが集めた迷路情報から最速経路を走行することが多い。 ゴールまで到達できなかった場合は手を上げて審判員に申告する。 やり直しをする場合はマウスがこれまでに収集した迷路情報を消去する。 5 回までやり直しが可能。

3. マウスがゴール地点まで到達すると 1 回の走行が終了する。 ゴールからスタート地点に戻りながら探索を続けても良い。 ゴールに到達したマウスは手で戻しても自律走行で帰ってきても、どちらでも良い。

4. 5 回の走行または制限時間内にゴールまで到達した最短時間が記録となる。

Page 14: マイクロマウス ソフトウェア要求仕様書

3.機能要件

1. 共通機能

2. 探索走行機能

3. トライアル走行機能

4. サーキット走行機能( T.B.D)

5. ハードウェア動作確認機能( T.B.D)

6. 走行コマンド動作確認機能 (T.B.D)

7. 迷路情報確認機能 (T.B.D)

Page 15: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 15

3.1 共通機能3.1 共通機能1. バッテリ電圧監視 ( Mandatory)

マウスはバッテリ電圧を 500ms周期で監視して、次表の 2色 LED の色と点滅パターンで電圧レベルを表示します。

走行中にバッテリ電圧が 10.0V を下回った場合、マウスは次の動作を行います。 走行を停止する。 ( Mandatory) サウンダーから警告音を鳴らす。( Recommended) ドットマトリクスLEDに‘ B’ を表示する。 ( Optional)

2. 走行中断 ( Recommended) 走行中にユーザどれか一つでもタクトSWを押すと、マウスは走行を停止しま

す。

3. その他 タクトSWの操作を受け付けたことを知らせるために、タクトSW操作時にサ

ウンダから短い音を鳴らします。

12.5V以上 (容量80%以上) 緑点灯

11.5V以上 12.5V 未満 (容量40~80%)

オレンジ(赤、緑)点灯

10.0V以上 11.5V 未満 (容量10~40%)

赤点灯

10.0V 未満 (容量 ~10%) 赤/消灯による点滅

Page 16: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 16

3.2 探索走行機能3.2 探索走行機能1. 開始条件

タクトSW操作( select)により探索走行モードが選択されている状態で、実行操作( exec)を行うと、マウスは探索走行を開始します。( Mandatory)

マウスは走行を開始する際に次の処理を実行します。 迷路情報を初期化する。( Mandatory) 2色 LED×4個とサウンダで走行開始をアピールする。 (Optional)

2. 基本シナリオ1. マウスは探索走行を開始すると、与えられた迷路探索アルゴリズムに従ってスタート地点か

らゴール地点まで移動します。 今年のマウスは迷路探索アルゴリズムにポテンシャル法を使用します。

2. マウスはゴール地点に到達すると、ゴール地点の 4 区画を 1周してゴール地点の壁情報を記録したあと、走行を停止して 2秒間待機します。 走行停止時に、 2色 LED×4個とサウンダでゴール到達をアピールする。 (Optional)

3. マウスはゴール地点からスタート地点まで、最短経路を通るように探索を続けながら移動します。

4. マウスはスタート地点に到達すると、 180° スピンしてスタート時と同じ姿勢をとって走行を停止し、 2秒間待機して探索走行を終了します。 走行停止時に、 2色 LED×4個とサウンダでスタート地点到達をアピールする。 (Optional)

3. 中止条件 走行中にバッテリ電圧が所定電圧より低下した場合 走行中にユーザがボタン操作を行った場合 探索走行中に同じ場所を 5 回以上通過した場合

Page 17: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 17

3.3 トライアル走行機能3.3 トライアル走行機能1. 開始条件

探索走行が終了してマウスがスタート地点で 2秒以上停止したあと、(ユーザの操作を介さず)自動的にトライアル走行を開始します。

2. 基本シナリオ1. マウスは探索走行で得られた迷路の壁情報を使い、スタート地点からゴール地点まで最短時

間で走行するための経路(最短時間経路)を計画します。 スタート地点からゴール地点までの経路が一つもできない場合、トライアル走行を中止します。

2. マウスは得られた最短時間経路を走行するための走行コマンド列を生成して、走行コマンドを順に実行することでスタート地点からゴール地点まで走行します。

3. マウスはゴール地点に到達すると、走行を停止して 2秒間待機します。1. 待機中、 LED とサウンダでゴール到達をアピールします。

4. マウスはゴール地点からスタート地点まで、最短経路を通るように探索しながら移動します。5. マウスはスタート地点に到達すると、 180° スピンしてスタート時と同じ姿勢をとって走行

を停止し、 2秒間待機してトライアル走行を終了します。 走行停止時に、 2色 LED×4個とサウンダでスタート地点到達をアピールする。 (Optional)

3. 中止条件 スタート地点からゴール地点までの最短時間経路の計画に失敗した場合 走行中に壁との衝突を検地した場合 走行中にバッテリ電圧が所定電圧より低下した場合 走行中にユーザがボタン操作を行った場合

Page 18: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 18

3.4 サーキット走行機能3.4 サーキット走行機能

1. T.B.D

Page 19: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 19

3.5 ハードウェア動作確認機能3.5 ハードウェア動作確認機能

1. T.B.D

Page 20: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 20

3.6 走行コマンド動作確認機能3.6 走行コマンド動作確認機能

1. T.B.D

Page 21: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 21

3.7 迷路情報確認機能3.7 迷路情報確認機能

1. T.B.D

Page 22: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 22

4.非機能要件4.非機能要件

1. 目標性能 フレッシュマンクラス目標タイム 15秒

50歩 15折を想定 最大スピン速度(角速度) 180 [ deg /

sec] 最大直進速度 100 [ cm / sec]

2. RAS 定義 信頼性( Reliability)T.B.D 可用性( Availability) T.B.D 保守性( Serviceability) T.B.D

Page 23: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 23

5.開発条件5.開発条件5.3 RAS充実方針1. 信頼性

ハードウェア非依存部をPC上でテストします。

迷路探索アルゴリズムの正しさをPC上のマイクロマウスシミュレータで検証します。

2. 可用性 軽微なエラーや回復可能な論理不整合

は、警告表示を行ったうえで走行を継続します。

3. 拡張性 探索アルゴリズムの差し替えや迷路情

報の記述形式の変更に耐えられる設計を行います。

4. 保守性 エラーの発生場所を特定しやすくなる

ように、エラーコードを充実させます。

統合開発環境 YellowIDE ver.6

C コンパイラ YCH8 ver. 4.21

OS NORTi3 for YC

5.2 開発環境

5.1 設計手法Octopus を参照手法とします。

Page 24: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 24

6.主要マイルストーン6.主要マイルストーン

10 月 30 日(月)

参加申し込み締め切り

11 月 8 日(水) テクニカルデータ締め切り11 月 24 日(金)

試走会

11 月 25 日(土)

第 27 回全日本マイクロマウス大会フレッシュマンクラス

Page 25: マイクロマウス ソフトウェア要求仕様書

付録

Page 26: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 26

マイクロマウス競技規則(1)マイクロマウス競技規則(1)   マイクロマウス競技とは、ロボットに迷路を通過させ、その知能と速度を競う競技である。

ここに出場するロボットをマイクロマウスと呼ぶ。

1 . マイクロマウスに関する規定

1-1  マイクロマウスは自立型でなければならない。燃焼を利用したエネルギー源は許されない。 1-2  マイクロマウスは、競技中に操作者により、ハードウェアおよびソフトウェアの追加、取り

はずし、交換、変更を受けてはならない。ただし、軽微な修理・調整は許される。なお、特に必要と認められた競技会については、全く同一仕様のバッテリの交換は許されることがある。

1-3  マイクロマウスは迷路内に本体の一部を放置してはならない。 1-4  マイクロマウスは迷路の壁を飛び越し、 よじのぼり、傷つけ、あるいは壊してはならない。 1-5  マイクロマウスの大きさは、その床面への投影が1辺 25cmの正方形に収まらなければなら

ない。走行中に形状が変化する場合も、常にこの制限を満たしていなければならない。ただし、高さの制限はない。 http://www.robomedia.org/directory/jp/game/mm_rule26.html

Page 27: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 27

マイクロマウス競技規則(2)マイクロマウス競技規則(2)2. 迷路に関する規定 2-1  迷路の壁の側面は白、壁の上面は赤、床面は黒とする。迷路の

走行面は、木材に黒のつや消しの塗料が塗付されているものとする。

2-2  迷路は 18cm ×18cmの単位区画から構成され、全体の大きさは 16×16 区画とする。区画の壁の高さは 5cm、厚さは 1.2cmとする。迷路全体の外周の壁は全て存在する。(図 1 参照)

2-3  迷路の始点は、四隅のいずれかにあり、 時計回りに出発する。終点は中央の 4 区画とする。

2-4  各単位区画の四隅にある 1.2cm ×1.2cmの小正方形部分を格子点と呼ぶ。終点の中央を除いたすべての格子点には少なくとも1つの壁が接している。(図 1 参照)http://www.robomedia.org/directory/jp/game/mm_rule26.html

Page 28: マイクロマウス ソフトウェア要求仕様書

SWマイクロマウス 要求仕様書 28

マイクロマウス競技規則(3)マイクロマウス競技規則(3)3.競技に関する規定 3-1  マイクロマウスが始点から終点への走行に要した最短の時間をそのマイクロマウスの迷路通過時間記録とする。マイ

クロマウス競技においては迷路通過時間記録および最短時間達成までの過程ならびにその間の自立性を評価する。なお、評価基準ならびに表彰規定は競技会ごとに定める。

3-2  操作者は迷路が公開された後で迷路に関する情報をマイクロマウスに入力してはならない。また競技中にスイッチ操

作等で、迷路に関する情報を修正、あるいは部分的に消去することはできない。 3-3  迷路の走行は、毎回始点より開始し、始点に戻った時点あるいは 2秒以上停止、もしくはマイクロマウスの走行中止が認められた時点で終了する。

3-4  マイクロマウスが始点に戻り、自動的に再スタートする場合、始点において 2秒以上停止しなければならない。 3-5  操作者は、競技委員長の指示または走行中止の許可がない限り走行中のマイクロマウスに触れてはならない。競技委員長は、あきらかに走行に異常が認められた場合、走行中止の申し出を認める。また、それ以外の走行中止の申し出については、迷路に関する記憶をすべて消去することを条件に認める。

3-6  マイクロマウスは 10分間の持時間を有し、この間 5 回までの走行をすることができる。ただし、特に必要と認められ

た競技会については、持時間を 7分、走行回数を 5 回、また持時間を 5分、走行回数を 5 回とすることがある。 3-7  マイクロマウスの床面より 5cm以内の部分が全て終点の区画に入ったとき、そのマイクロマウスは迷路を通過した

と認められる。ただし、迷路の通過時間の測定は、始点のセンサがマイクロマウスをセンスしてから、終点のセンサが同マウスをセンスする間を計測する。

3-8  競技場の照明、温度、湿度は通常の室内環境とする。照明の調節に関する申し出は受け付けられない。 3-9  競技委員長は、必要と認められた場合、操作者に対しマイクロマウスについての説明を求めることができる。また競技委員長の判断で走行の中止、または失格の宣言その他必要な措置を講ずることができる。