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

Download Report

Transcript マイクロマウスソフトウェア要求仕様書(初版)

マイクロマウス
ソフトウェア要求仕様書
初版 2006年10月28日
冨山 隆志
http://mobile-robots.way-nifty.com/daily_report/
http://homepage1.nifty.com/BROKEN/
変更履歴
No.
日付
0
2006-10-20
全体
新規作成
1
2006-10-28
目次、機能要求
書ききれないところをT.B.Dとした。
変更箇所
変更理由
マイクロマウスSW要求仕様書
2
目次
変更履歴
1. はじめに



2.
3.
4.
5.
6.
ハードウェア仕様
ハードウェア構成
基本機能
システム状態遷移
使用環境
使用条件
機能要件
1.
2.
対象範囲
参考資料
専門用語と略語
2. システム概要
1.
3.
3.
4.
5.
6.
4.
非機能要件
1.
2.
5.
性能
RAS定義
開発条件
1.
2.
3.
6.
共通機能
探索走行機能
トライアル走行機能
サーキット走行機能
ハードウェア動作確認機能
走行コマンド動作確認機能
設計手法
開発環境
RAS充実方針
主要マイルストーン
マイクロマウスSW要求仕様書
3
1.はじめに
1.1 対象範囲
本要求仕様書は、 2006年度版マイクロマウスのCPU上で動作
する制御プログラムに関する要求仕様について取り扱います。
1.2 参考資料



中島史敬:“マイクロマウス「紫苑」大解剖!ソフトウェア編”、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
マイクロマウスSW要求仕様書
4
1.3 専門用語と略語
用語
意味
マイクロマウス
マイコンや電源を搭載した、迷路を探索する自律型ロボット。
第一走行
壁の位置についてのデータを持たない迷路において、スタート区画からゴール区画まで、コースを探索し
つつ走行すること。
第二走行
予め壁の位置についてデータを持っている迷路において、スタート区画からゴール区画までの走行時間
を短くすることを狙って走行すること。
探索
所定の探索アルゴリズムに従って、壁情報を収集しつつ、迷路内で未通過である区画を移動すること。
帰還
ゴール位置からスタート位置まで戻るために移動すること。
走行コマンド
N区画前進、スピン、停止など移動するための基本的な動作命令。
スピン
左右の車輪を逆に回転させてその場で方向転換すること。
SW
スイッチの略。(例:タクトSW=タクトスイッチ)
RAS
Reliability(信頼性)、Availability (可用性)、Serviceability(保守性)の略。
信頼性
決められた条件下で仕様どおりの性能水準を維持できる能力。
可用性
ソフトウェアに存在する誤り(エラー)が障害として顕在化しても、その影響を極力少なくしてソフトウェア
が稼動できる度合い。
保守性
ソフトウェアのエラー修正や性能・機能の向上を目的とした変更のしやすさの度合い。
Octopus
NOKIAの研究所で考えられたオブジェクト指向ベースの組み込み向け開発手法。
マイクロマウスSW要求仕様書
5
2.システム概要
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
通信 I/F
2006年度版 Endeavor
タクトスイッチ×4個(うちCPUリセット1つ)
圧電サウンダー
5×7ドットマトリクス LED
状態表示用2色LED×5個
RS-232Cポート×1個
マイクロマウスSW要求仕様書
7
2.2 ハードウェア構成
壁面センサ部
CPU周辺部
セ
ン
サ
用
L
E
D
フ
ォ
ト
ト
ラ
ン
ジ
ス
タ
タクトSW
モータ駆動部
リセット
CPU
H8/3052F
2
色
L
E
D
サウンダ
Driver
SLA7052M
イネーブル
回転方向
クロック
ドットマトリクス
LED
Driver
SLA7052M
バッテリ
12V, 700mAh
マイクロマウスSW要求仕様書
8
2.3 基本機能
1.
探索走行機能(第一走行)


2.

5.
(Mandatory)
センサやモータなどのハードウェアが正しく動作することを確認します。
走行コマンド動作確認機能

(Optional)
予め壁情報が与えられた迷路の最外周をできる限り速い速度で周回します。
ハードウェア動作確認機能

(Recommended)
探索走行(第一走行)が済んだ迷路において、スタート区画からゴール区画までの走行タイムが
短くなることを目指して走行します。
ゴールに到達すると、自動的にスタート区画まで自律走行して帰ってきます。
サーキット走行機能

4.
壁情報を持っていない迷路において、スタート区画からゴール区画までコースを探索しつつ走行
します。
ゴールに到達すると、自動的にスタート区画まで自律走行して帰ってきます。
トライアル走行機能(第二走行)

3.
(Mandatory)
(Mandatory)
メンテナンスに
使用します
前進やターンなどの走行コマンドが正しく動作することを確認します。
マイクロマウスSW要求仕様書
9
2.4 システム状態遷移
(not normative)
power on reset
探索走行でゴールしてスタート
地点まで戻り、その後でタクトS
Wをオスと最速走行を開始する。
wait ‘W’
select
search mode ‘1’
select
exec [isReturned]
error
select
circut mode ‘S’
trial mode ‘2’
error
error ‘E’
error
select
H/W check mode ‘H’
error
select
command check mode ‘C’
error
マイクロマウスSW要求仕様書
10
2.4 システム状態遷移
(not normative)
current state
event
wait mode
power on wait mode
reset
search
mode
trial mode
circut
mode
HW check
mode
command
check
mode
error
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
(遷移な
し)
マイクロマウスSW要求仕様書
11
2.5 使用環境(大会迷路仕様)
1.
2.
3.
4.
5.
6.
7.
8.
9.
全体の大きさはおよそ3m×3m
1区画の大きさは180mm×180mm
全体では16区画×16区画
壁は高さが50mm、幅が12mm
壁の側面は白色、上面は赤色
路面はつや消し黒
迷路のパターンは大会が始まるま
で知らされない。
スタート地点は迷路の左下隅
ゴール地点は中央の4区画
16区画(およそ3m)
ゴール地点
スタート地点
大会会場は照明条件が不明なため、壁面
センサには十分なノイズ対策が必要。
第21回大会
エキスパートクラス決勝迷路
マイクロマウスSW要求仕様書
12
2.6 使用条件(一般的な競技手順)
1.
名前を呼ばれたら競技用迷路の前に立ち、マウスを迷路のスタート地点に置く。

2.
右手を上げて審査員に開始を知らせてから、マウスをスタートさせる。





3.
普通は最初の走行で迷路を探索するように走行する。
2回目以降の走行ではマウスが集めた迷路情報から最速経路を走行することが多い。
ゴールまで到達できなかった場合は手を上げて審判員に申告する。
やり直しをする場合はマウスがこれまでに収集した迷路情報を消去する。
5回までやり直しが可能。
マウスがゴール地点まで到達すると1回の走行が終了する。


4.
スタート地点の壁を用いたセンサのキャリブレーションはルール上認められている。
ゴールからスタート地点に戻りながら探索を続けても良い。
ゴールに到達したマウスは手で戻しても自律走行で帰ってきても、どちらでも良い。
5回の走行または制限時間内にゴールまで到達した最短時間が記録となる。
マイクロマウスSW要求仕様書
13
3.機能要件
1.
共通機能
2.
探索走行機能
3.
トライアル走行機能
4.
サーキット走行機能(T.B.D)
5.
ハードウェア動作確認機能
(T.B.D)
6.
走行コマンド動作確認機能
(T.B.D)
3.1 共通機能
1.
バッテリ電圧監視


マウスはバッテリ電圧を500ms周期で監視して、次表の2色LEDの色と点滅パターンで
電圧レベルを表示します。


3.
緑点灯
11.5V以上 12.5V未満 (容量40~80%)
オレンジ(赤、緑)点灯
10.0V以上 11.5V未満 (容量10~40%)
赤点灯
10.0V未満 (容量 ~10%)
赤/消灯による点滅
走行を停止する。
サウンダーから警告音を鳴らす。
ドットマトリクスLEDに‘B’を表示する。
走行中断

12.5V以上 (容量80%以上)
走行中にバッテリ電圧が10.0V を下回った場合、マウスは次の動作を行います。

2.
(Mandatory)
(Mandatory)
(Recommended)
(Optional)
(Recommended)
走行中にユーザどれか一つでもタクトSWを押すと、マウスは走行を停止します。
その他

タクトSWの操作を受け付けたことを知らせるために、タクトSW操作時にサウンダか
ら短い音を鳴らします。
マイクロマウスSW要求仕様書
15
3.2 探索走行機能
1.
開始条件


タクトSW操作(select)により探索走行モードが選択されている状態で、実行操作(exec)を行うと、マウ
スは探索走行を開始します。(Mandatory)
マウスは走行を開始する際に次の処理を実行します。


2.
基本シナリオ
1.
マウスは探索走行を開始すると、与えられた迷路探索アルゴリズムに従ってスタート地点からゴール
地点まで移動します。

2.
3.
4.
今年のマウスは迷路探索アルゴリズムにポテンシャル法を使用します。
マウスはゴール地点に到達すると、ゴール地点の4区画を1周してゴール地点の壁情報を記録したあ
と、走行を停止して2秒間待機します。

走行停止時に、2色LED×4個とサウンダでゴール到達をアピールする。(Optional)
マウスはゴール地点からスタート地点まで、最短経路を通るように探索を続けながら移動します。
マウスはスタート地点に到達すると、180°スピンしてスタート時と同じ姿勢をとって走行を停止し、2秒
間待機して探索走行を終了します。

3.
迷路情報を初期化する。(Mandatory)
2色LED×4個とサウンダで走行開始をアピールする。(Optional)
走行停止時に、2色LED×4個とサウンダでスタート地点到達をアピールする。(Optional)
中止条件



走行中にバッテリ電圧が所定電圧より低下した場合
走行中にユーザがボタン操作を行った場合
探索走行中に同じ場所を 5 回以上通過した場合
マイクロマウスSW要求仕様書
16
3.3 トライアル走行機能
1.
開始条件

2.
探索走行が終了してマウスがスタート地点で2秒以上停止したあと、(ユーザの操作を介さず)自動的
にトライアル走行を開始します。
基本シナリオ
1.
マウスは探索走行で得られた迷路の壁情報を使い、スタート地点からゴール地点まで最短時間で走
行するための経路(最短時間経路)を計画します。

2.
3.
マウスは得られた最短時間経路を走行するための走行コマンド列を生成して、走行コマンドを順に実
行することでスタート地点からゴール地点まで走行します。
マウスはゴール地点に到達すると、走行を停止して2秒間待機します。
1.
4.
5.
待機中、LEDとサウンダでゴール到達をアピールします。
マウスはゴール地点からスタート地点まで、最短経路を通るように探索しながら移動します。
マウスはスタート地点に到達すると、180°スピンしてスタート時と同じ姿勢をとって走行を停止し、2秒
間待機してトライアル走行を終了します。

3.
スタート地点からゴール地点までの経路が一つもできない場合、トライアル走行を中止します。
走行停止時に、2色LED×4個とサウンダでスタート地点到達をアピールする。(Optional)
中止条件




スタート地点からゴール地点までの最短時間経路の計画に失敗した場合
走行中に壁との衝突を検地した場合
走行中にバッテリ電圧が所定電圧より低下した場合
走行中にユーザがボタン操作を行った場合
マイクロマウスSW要求仕様書
17
3.4 サーキット走行機能
1. T.B.D
マイクロマウスSW要求仕様書
18
3.5 ハードウェア動作確認機能
1. T.B.D
マイクロマウスSW要求仕様書
19
3.6 走行コマンド動作確認機能
1. T.B.D
マイクロマウスSW要求仕様書
20
3.7 迷路情報確認機能
1. T.B.D
マイクロマウスSW要求仕様書
21
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
マイクロマウスSW要求仕様書
22
5.開発条件
5.1 設計手法
Octopus を参照手法とします。
5.3 RAS充実方針
1.
信頼性


5.2 開発環境
2.
統合開発環境
YellowIDE ver.6
Cコンパイラ
YCH8 ver. 4.21
OS
NORTi3 for YC
可用性

3.
軽微なエラーや回復可能な論理不整合
は、警告表示を行ったうえで走行を継続
します。
拡張性

4.
ハードウェア非依存部をPC上でテストし
ます。
迷路探索アルゴリズムの正しさをPC上
のマイクロマウスシミュレータで検証しま
す。
探索アルゴリズムの差し替えや迷路情
報の記述形式の変更に耐えられる設計
を行います。
保守性

エラーの発生場所を特定しやすくなるよ
うに、エラーコードを充実させます。
マイクロマウスSW要求仕様書
23
6.主要マイルストーン
10月30日(月)
参加申し込み締め切り
11月8日(水)
テクニカルデータ締め切り
11月24日(金)
試走会
11月25日(土)
第27回全日本マイクロマウス大会
フレッシュマンクラス
マイクロマウスSW要求仕様書
24
付録
マイクロマウス競技規則(1)
マイクロマウス競技とは、ロボットに迷路を通過させ、その知能と速度を競う競技である。ここに出場する
ロボットをマイクロマウスと呼ぶ。
1.マイクロマウスに関する規定
1-1 マイクロマウスは自立型でなければならない。燃焼を利用したエネルギー源は許されない。
1-2 マイクロマウスは、競技中に操作者により、ハードウェアおよびソフトウェアの追加、取りはずし、交換、変
更を受けてはならない。ただし、軽微な修理・調整は許される。
なお、特に必要と認められた競技会については、全く同一仕様のバッテリの交換は許されることがある。
1-3 マイクロマウスは迷路内に本体の一部を放置してはならない。
1-4 マイクロマウスは迷路の壁を飛び越し、 よじのぼり、傷つけ、あるいは壊してはならない。
1-5 マイクロマウスの大きさは、その床面への投影が1辺25cmの正方形に収まらなければならない。走行中
に形状が変化する場合も、常にこの制限を満たしていなければならない。ただし、高さの制限はない。
http://www.robomedia.org/directory/jp/game/mm_rule26.html
マイクロマウスSW要求仕様書
26
マイクロマウス競技規則(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
マイクロマウスSW要求仕様書
27
マイクロマウス競技規則(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 競技委員長は、必要と認められた場合、操作者に対しマイクロマウスについての説明を求めることができる。また競技委員長の判
断で走行の中止、または失格の宣言その他必要な措置を講ずることができる。
マイクロマウスSW要求仕様書
28