ドキュメント内目次
1.はじめに
本ドキュメントはSOFT部門の基本設計書である。
2.担当メンバー
・峯慎平
・片岡駿介
3.動作分析
動作シナリオ図を以下に示す。
図1.動作シナリオ図
4.機能設計
搭載する機能を以下一覧にまとめる。
- スマホからの入力で注文を受け付ける。
- 多数注文の場合は内容をスタックする。
- 注文入力後内容を表示する。
- 料理の受け取りを確認する。
- 料理を受け取った後ライントレースして走行する。
- 走行中、超音センサで障害物を検知したら一時停止、音声を鳴らす。
- ライントレース分岐路の判断をする。
- マーカーで目標地点を識別する。
- 目標地点で停止、向き調整して配膳作業をする。
- 配膳の実行済みと処理後、残りの注文を判断する。
- 待機位置の識別。
- 緊急停止ボタンが押されたら停止する。
状態遷移図を以下に図に示す。
図2.状態遷移図
5.構造設計
各機能を実現するためのモジュール構成を以下に示す。
標準のモジュール構成に加え、ライントレース、配膳時の動作、外部デバイスとの連携(TCP/IP)、に関しての動作プログラムを追加する。
また、RaspberryPi上で動作するプログラムの記述に関してはPythonで行う。
使用するライブラリはPySerial, WebIOPi, RPi.GPIO等を予定している。
WebIOPiで使用するWEBページの作成にはJavascriptも併せて使う。
図3.モジュール構成図
表1.使用モジュール一覧
モジュール名 |
目的 |
pilot |
初期操作 |
main |
全体管理 |
order |
オーダーの受け取り、表示 |
avoid |
障害物回避 |
put |
押し出し |
run |
走行を行う |
web |
注文システム |
display |
表示 |
alert |
音を鳴らす |
direction |
正対補正を行う |
io |
ioピンの読み取り(raspberry pi) |
request |
arduinoへ命令を送る |
linetrace |
ライントレースを行う |
arduino |
arduinoとシリアル通信を行う |
check |
マーカー検知 |
line |
ライトセンサ読み取り |
uss |
超音波センサ読み取り |
io(arduino) |
ioピン読み取り(arduino) |
run_ctrl |
P制御でモータの速度制御を行う |
vel_ctrl |
PI制御でモータの速度制御を行う |
motor |
PWM値を与え、モータを動作させる |
distance |
エンコーダ値をタイヤの走行距離に換算 |
encoder |
エンコーダ値のカウント |
パート別基本設計書リンク
各パートごとの基本設計書を以下のリンクに示す。
基本設計書
MECH
ELEC
MIRS1703 管理台帳へ戻る