モジュール名 |
概要 |
新規作成・変更関数 |
関数の機能 |
関数の戻り値 |
pilot
|
mainとmulti_requestの二つのスレッドを実行する |
|
|
|
main
|
ユーザーが指定したルートの走行を行うスレッド マップのデータは配列としてこのモジュールに組み込まれている |
|
|
|
multi_get
|
Arduinoのタッチセンサの状態を確認し続けるスレッド |
|
|
|
run
|
壁にぶつからないように1ルートの走行を行う |
run(int dist) |
超音波センサの左右の距離を取得し、壁にぶつからないように補正しながら走行を行う |
無し |
delay
|
Arduinoの動作を待機する |
run_delay() |
走行の状態が停止状態になるまで走行の状態を確認し続け、遅延を行う
連続してrequest_set_runmode等の走行指令を出したいとき、指令の間にこの関数を入れる |
無し |
elevater
|
エレベーターの乗降を行う |
upto_elevater() |
エレベーターに乗込む |
無し |
downto_elevater() |
エレベーターから降りる |
correct
|
定点における補正を行う |
correct(int width , int wall) |
中央目的地(1ルート走行完了地点)に到達できているかを確認し、補正を行う |
無し |
sound
|
音を鳴らす |
sound() |
Raspberry Pi内の音声ファイルをスピーカーから出力する |
無し |
direction
|
方位センサを取り扱う |
get_compass() |
MIRS本体の向きを取得する |
MIRS本体の絶対角度 |
get_angle() |
MIRS本体の変位角度 |
uss
|
超音波センサを取り扱う |
get_uss_all(int *uss_r , int *uss_l , int *uss_f , int *uss_b) |
4方向の超音波センサの値を一度に取得する |
無し |
get_wall_state() |
MIRS本体から見た左右の壁の有無の状態を取得する |
0~3の値 |
data
|
スマートフォンで作成したファイルのデータを処理する |
get_route_data(int *start[DATA_MAX] , int *goal[DATA_MAX]) |
ファイル内のルートデータを読み込み、*start[DATA_MAX]と*goal[DATA_MAX]に値を代入する |
0か1 |
Arduinoに関しては、使用センサとしてタッチセンサを8つ(後ろの3つは1つとして値を取り扱う)追加するが、その値を読み取るため、モジュールio.ino内のio_get_sw()と同じ内容のものを6つ用意する。