名称 | MIRS2405 ソフト詳細設計書 |
---|---|
番号 | MIRS2405-soft-0002 |
版数 | 最終更新日 | 作成 | 承認 | 改訂記事 |
---|---|---|---|---|
B01 | 2025.1.24 | 清拓実、平沢快斗、幸航輝 | 香川 | 初版 |
本ドキュメントはmirs2405𝔊𝔘𝔏𝔏ℭのソフトウェア詳細設計書である。
機能と概要をTable1に示す。
機能 | 概要 | 記述言語 |
---|---|---|
ロボットアーム | ロボットアームで、その人が受け取りやすい高さで人に渡す 配布物を自動で補充 |
python, Arduino言語 |
対象者選別 | 配る対象を年齢、性別、身長を選別する | python |
ラジコン操作 | 緊急時や、持ち運びのために、ラジコンで操作可能 | python, Arduino言語 |
Raspberry Piのモジュール構成をfigure1, Table2に示す。
モジュール名 | 概要 |
---|---|
main.py | 全体のメインプログラム |
config.py | 各マイコンのポート、ボーレートを定義 |
send.py | 各マイコンにシリアル通信で指令を送信 |
receive.py | 各マイコンからシリアル通信で値を受信 |
read_json.py | 身長,年齢、性別のデータをjsonファイルから読み取るプログラム |
client_json.py | ipアドレスを用いて文字列を通信しjsonファイルに書き込むプログラム(身長データを受け取る),クライアント側 |
client_deepface.py | ipアドレスを用いて文字列を通信しjsonファイルに書き込むプログラム(年齢,性別データを受け取る),クライアント側 |
Arduinoのモジュール構成をfigure2, Table3に示す。
モジュール名 | 概要 |
---|---|
main.ino | setup関数および、loop関数の定義 |
init.ino | ピンの初期化や、シリアル通信の転送レートの定義。一度だけ実行される |
raspi.ino | raspiとのUSBシリアル通信 |
turntable.ino | ターンテーブルの制御 |
gripper.ino | グリッパー、エアーチャック、ポンプの制御 |
radicon.ino | ラジコン操作 |
defiine.h | ゲインやパラメータ、ピンの定義 |
Raspberry Pi picoのモジュール構成をfigure3, Table4に示す。
モジュール名 | 概要 |
---|---|
main.ino | setup関数および、loop関数の定義 |
init.ino | ピンの初期化や、シリアル通信の転送レートの定義。一度だけ実行される |
raspi.ino | raspiとのUSBシリアル通信 |
run.ino | x,y座標を取得し、極座標に変換して走行する |
encoder.ino | クローラのエンコーダの読み取り |
PID.ino | クローラをPID制御 |
motor.ino | クローラを制御 |
arm.ino | 各関節に角度を送る |
joint.ino | 各関節のモータ制御 |
radicon.ino | ラジコン操作 |
define.h | ゲインやパラメータ、ピンの定義 |
jetson nanoのモジュール構成をfigure4,Table5に示す。
モジュール名 | 概要 |
---|---|
main_height_server_plus.py | server_value_update.pyとzed_hight_class_plus.pyを用いて身長を推定し送信するプログラム |
server_value_update.py | ipアドレスを用いて文字列を通信するプログラム、サーバー側 |
zed_hight_class_plus.py | 骨格推定を用いて身長を推定する |
server_deepface.py | 年齢、性別を推定し送信するプログラム、サーバー側 |
esp32のモジュール構成をfigure5,Table6に示す。
モジュール名 | 概要 |
---|---|
main.ino | setup関数および、loop関数の定義 |
defind.h | ゲインやパラメータ、ピンの定義 |
init.ino | ピンの初期化や、シリアル通信の転送レートの定義。一度だけ実行される |
raspi.ino | raspiからの指令を受信 |
radicon.ino | ラジコン入力の取得とraspiへの送信 |
全体のフローチャートをfigure7に示す。
衝突回避のフローチャートをfigure8に示す。
ラジコン操作ののフローチャートをfigure9に示す。