沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
A01 | 2014/07/14 | 牛丸 | 初版 | |||
A02 | 2016/05/16 | 牛丸 | サーバ通信(comm.c)を追加 |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void motor_drive(int u_l, int u_r) | 左右のモータ指令値 | なし | モータを駆動する |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void encoder_create(void) | なし | なし | エンコーダスレッドを生成する |
void encoder_get(struct encoder_data *encder_data) | エンコーダデータ | なし | エンコーダ値を取得する |
void encoder_reset(void) | なし | なし | エンコーダの積算値をリセットする |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
int device_encoder_open() | なし | なし | エンコーダデバイスをオープンする |
int device_motor_open() | なし | なし | モータデバイスをオープンする |
int device_uss_open() | なし | なし | 超音波デバイスをオープンする |
int device_io_open() | なし | なし | IOデバイスをオープンする |
int device_encoder_close() | なし | なし | エンコーダデバイスをクローズする |
int device_motor_close() | なし | なし | モータデバイスをクローズする |
int device_uss_close() | なし | なし | 超音波デバイスをクローズする |
int device_io_close() | なし | なし | IOデバイスをクローズする |
int device_encoder_get() | なし | なし | エンコーダデバイスのディスクリプタ番号を取得する |
int device_motor_get() | なし | なし | モータデバイスのディスクリプタ番号を取得する |
int device_uss_get() | なし | なし | 超音波デバイスのディスクリプタ番号を取得する |
int device_io_get() | なし | なし | IOデバイスのディスクリプタ番号を取得する |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void distance_get(struct distance_data *distance_data) | 距離データ | なし | 距離データを取得する |
void distance_reset() | なし | なし | 距離データをリセットする |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void vel_ctrl_set(float vel_ref_l, float vel_ref_r) | 左右の速度指定値[cm/s] | なし | 速度指令値をセットする |
void vel_ctrl_mod(float vel_mod_l, float vel_mod_r) | 左右の速度修正値[cm/s] | なし | 速度指令値を修正する |
void vel_ctrl_create() | なし | なし | 速度制御器スレッドを生成する |
void vel_ctrl_cancel() | なし | なし | 速度制御器スレッドをキャンセルする |
void vel_ctrl_reset() | なし | なし | 速度制御器をリセットする |
void vel_ctrl_get_speed(float *speed_l, float *speed_r) | 左右モータの現在速度[cm/s] | なし | 現在速度値を取得する |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void run_ctrl_set(int mode, float speed) | 走行モード(STRAIGHT or ROTATE)、走行スピード([cm/s] or [deg/s] | なし | 走行モードとスピードをセットする |
void run_ctrl_set_dist(float dist) | 距離[cm] or 角度[deg] | なし | 走行指定距離 or 回転指定角度をセットする。距離(角度)指定がゼロの場合は、直進・回転制御をし続ける |
void run_ctrl_unset_dist() | なし | なし | 走行指定距離(回転指定角度)をゼロにする |
void run_ctrl_get_endflag() | なし | なし | 指定距離走行(or指定角度回転)終了のフラグを取得する |
void run_ctrl_create() | なし | なし | 走行制御スレッドを生成する |
void run_ctrl_cancel() | なし | なし | 走行制御スレッドをキャンセルする |
void run_ctrl_stop() | なし | なし | 機体を停止する |
void run_ctrl_reset() | なし | なし | 走行制御をリセットする |
void run_ctrl_set_Kfr(float Kfr) | 距離減速ゲイン | なし | 距離減速ゲインを変更する |
void run_ctrl_reset_Kfr() | なし | なし | 距離減速ゲインももとに戻す |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
int uss_get(int uss_port) | センサー番号 | 計測距離[cm] | 指定した超音波センサで距離を計測する |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
int direction_correct(int dist) | 正体補正する距離[cm] | 成功:1、失敗:-1 | 指定した距離で正体補正する |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void number_set_nums(int nums) | ボード上の数字の数 | なし | ボード上の数字の数をセットする。値は1か2 |
int number_detect(int dist) | カメラからボードまでの距離 | 成功:1、失敗:-1 | ボード上の数字を認識する |
void number_get(int nums[2]) | 認識数字 | なし | 認識した数字を取得する(数字が1個のみの場合はnums[0]のみにデータが入っている |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void io_get(char *io_data) | IOデバイスデータ | なし | IOデバイスのデータを取得する |
関数 | 引数 | 戻り値 | 説明 |
---|---|---|---|
void comm_put_number(int number, char *file) | 数字、ファイル名 | なし | number を file に書き込み、サーバに転送する。 |
void comm_get_file(char *file) | ファイル名 | なし | file をサーバから取得する。 |