MIRS1801-DSGN-0005 システム基本設計書(ソフトウェア)
名称 MIRS1801 システム基本設計書(ソフトウェア)
番号 MIRS1801-DSGN-0005
版数 最終更新日 作成者 承認者 改訂記事
A03 2018.11.02 杉山康恭 第4版

目次

1. 本ドキュメントについて

本ドキュメントは,MIRS1801のソフトウェア基本設計に関する記述である。

2. ソフトウェア概要

ソフトウェアは、図書選択を行うパッケージ、走行制御を行うパッケージ、Arduinoに関連するパッケージに分類される。
図書選択を行うパッケージはPython、走行制御を行うパッケージはC言語でそれぞれ記述されている。 利用者が本を決定してからロボットが案内を行うまでの過程を以下に述べる。


【1】 利用者がディスプレイに表示された内容に従ってキーボード入力を行い、本を指定する。本が確定したら、あるテキストファイルへその本の情報を書き込む。

【2】 前述のファイルは、図1のモジュールにより更新時刻を一定間隔で監視されており、ファイルの更新が確認されたら、図1のモジュール内でファイルから指定された本の情報を読み取り、案内を行うための経路と、機体の直進・回転等の動作の順序を確定する。

【3】 確定した情報を図2に示したArduinoのモジュールに伝達し、それに従って案内を行う。


また、ディスプレイは、図書選択時に加えて案内中においても次に曲がる方向の表示等に用いる。そして、図書選択とその際の表示機能、案内時の表示機能は共通のモジュールを用いて実現する。

3. モジュール構成

RaspberryPiによる走行制御系、Arduinoのモジュール構成図をそれぞれ以下の図に示す。





図1 走行制御系のモジュール構成図





図2 Arduinoのモジュール構成図

次に、モジュール概要をそれぞれ以下の表に示す。

表1 走行制御系のモジュール一覧
モジュール名 機能
pilot 全体的な動作の管理
route 本の座標に応じた走行ルートの決定
run 走行命令の送信
direction 正対補正のための回転量の決定
mag 磁気センサの値の読み取り
uss 超音波センサの読み取り
request Arduinoへの命令の送信
arduino Arduinoとのシリアル通信


表2 Arduinoのモジュール一覧
モジュール名 機能
slave 一定周期での各種の処理の実行
raspi RaspberryPiとのシリアル通信
run_ctrl 走行の制御
vel_ctrl 速度の制御
motor モータの操作
distance 走行距離の計測
encoder エンコーダの読み取り
io その他のデバイス情報の取得

4. 各パートへのリンク

各パートの基本設計書へのリンクを以下に示す。

システム基本設計書
メカニクス基本設計書
エレクトロニクス基本設計書