名称 | MIRS2002 ソフトウェア詳細設計書 |
---|---|
番号 | MIRS2002-SOFT-0001 |
版数 | 最終更新日 | 作成者 | 承認者 | 改訂記事 |
---|---|---|---|---|
A01 | 2020.11.12 | 坪井、鈴木 | 香川先生 | 初版 |
機能 | 詳細 | 方法 | 記述言語 |
---|---|---|---|
画像認識 | 機械学習によってカメラの映像からボールを判別する | 自作したカスケードファイルを用いてカメラから取得した画像の認識を行う | Python |
プロセス間通信 | 画像認識の結果を走行プログラムに送信する | 牛丸先生が作成した通信プログラムの一部改変を行う | Python,C言語 |
ボール回収 | ボールの追従、回収を行う | 画像認識で取得したボールの位置情報をもとにボールの追従、回収を行う | C言語 |
衝突回避 | ボールと干渉しない機体前方左右両端の位置に設置した超音波センサで常時前方の障害物との距離を測り衝突を防ぐ動作をする | 一定時間障害物を検知し続けたら旋回を行う | C言語 |
昇降機能 | 昇降用のモータを駆動させボールを引き上げる | ボールがリフト内のスイッチに触れた際にリフトを引き上げボールを荷台に乗せたのちにリフト定位置へ下げる | arduino言語 |
モジュール名 | 概要 | 関数名 | 備考 |
---|---|---|---|
pilot | 初期操作を行う | void main() | 引数、戻り値は共に無し |
ball_count | 回収したボールの個数をカウントする | ball_count() | カウントしたボールの数を戻り値として返す |
run_ball | 移動機能と緊急停止を備えたモジュール | main() | 引数、戻り値は共に無し |
com_recv_first | 通信の確立とpythonとの通信を行うモジュール | com_recv_set(),com_recv_get() | com_recv_set()でpython<-->c間通信の確立 com_recv_get()でpythonから送られてくる結果を取得 |
モジュール名 | 概要 | 関数名 | 備考 |
---|---|---|---|
camera_discrimination | 画像認識を行う | 認識した結果を場合分けし、文字型配列をrun_ball.cに送信 |
モジュール名 | 概要 | 関数名 | 備考 |
---|---|---|---|
slave | RaspberryPi との通信、走行制御を一定周期で行う | void slave() | 引数、戻り値は共に無し |
elevator | 昇降機のモータ制御を行う | void elevator() | 引数、戻り値は共に無し |
collect_motor | 回収用モータの制御を行う | void collect_motor() | 引数、戻り値は共に無し |
物品名 | 購入サイト | 型番 | 数量 | 単位 | 単価 | 価格 | 備考 |
---|---|---|---|---|---|---|---|
Arduino Mega 2560 R3 | Switch Science | ARDUINO-A000067 | 1 | 個 | 5937 | 5937 | Arduino Mega 2560 R3リンク |