名称 | MIRS1002 統合プログラム作成仕様書 |
---|---|
番号 | MIRS1002-SOFT-0001 |
最終更新日:2010.2.28
版数 | 更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
A01 | 2010.2.28 | 斉藤 | 斉藤 | 初版 |
目次
このドキュメントは各要素をクリアするための関数を統合したmain関数の設計・仕様について記述する。
フローチャートを以下に示す。ただし、テスト用の部分に関しては省略する。
なお拡張子(.dia)はDIAというダイアグラムエディタの出力ファイルである。
内部で使われているオリジナルの関数を以下に示す。
各関数の詳細に関しては、この文書の最後にあるtarballの中にあるjoint_extern.hに記述があるのでそれを参照。
関数名 | 動作概要 | 備考 |
---|---|---|
tload() | T字路と通路走行用のプログラム。白線発見時の正対補正も行う。 | 特になし |
num() | 画像撮影->認識->進行方向決定までの処理を担う関数。 | 戻り値は0:成功,-1:エラー |
cross() | 十字路の処理用の関数。引数によって動作が変化する。 | 特になし |
lcurve() | L字路の処理用の関数。引数によって動作が変化する。曲がったあとは、tload()に処理が移る。 | 特になし |
keyact() | 鍵用の動作を行う関数。ボタンを押して少し立った時点で、tload()に処理が移る。 | 特になし |
room() | 小部屋用の処理を行う関数。DBで小部屋と認識してからの小部屋をでるまですべての処理を行う。 | 特になし |
rotary() | ロータリー用の関数。適用範囲はroom()と同様。 | 特になし |
goal() | DBからのゴール発見時の指令で開始。床面の白を検知すると終了処理を行う。 | 未実装 |
emerg() | DBの読み取りに失敗した場合の処理。 | 未実装 |
各関数を独立させるアイディアは、コードを書く上ではわかりやすい方法でよかった。しかし、重複した内容のコードが多くなってしまった。
その点は改善したい。
また、一部の関数は必要だが実現できず、tload()を呼び出すことで当日代用したものがある。
開発がスムーズに行けばすべて実装できたはずのため、少々残念だった。
以下に、すべてのプログラムを統合した形のtarballを添付する。コメントはUTF-8/LFで書かれている。
mirs1002.tar.gzMEMO:開発・debugの環境として、MIRS本体を使う場合、VNCを使ってGUIの画面を転送することができる。
ただし、VNC用のソフトのインストールが必要になる点、runlevelを5にする必要がある点に注意が必要、
また、MIRSとAPの接続はあまり安定していないため、その点も留意した方がよい。
関連文書