沼津高専 電子制御工学科
MG3S 標準プログラム 関数レファレンス
MIRSMG3D-MG3S-0014
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2014/07/14 牛丸 初版
A02 2016/05/16 牛丸 サーバ通信(comm.c)を追加

1. はじめに

本ドキュメントは MG3S 標準プログラム Ver 2 の関数レファレンスを示す。

2. 関数レファレンス

モータ (motor.c)
関数引数戻り値説明
void motor_drive(int u_l, int u_r)左右のモータ指令値なしモータを駆動する
エンコーダ (encoder.c)
関数引数戻り値説明
void encoder_create(void)なしなしエンコーダスレッドを生成する
void encoder_get(struct encoder_data *encder_data)エンコーダデータなしエンコーダ値を取得する
void encoder_reset(void)なしなしエンコーダの積算値をリセットする
デバイス (device.c)
関数引数戻り値説明
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デバイスのディスクリプタ番号を取得する
距離計(distance.c)
関数引数戻り値説明
void distance_get(struct distance_data *distance_data)距離データなし距離データを取得する
void distance_reset()なしなし距離データをリセットする
速度制御器(vel_ctrl.c)
関数引数戻り値説明
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]なし現在速度値を取得する
走行制御(run_ctrl.c)
関数引数戻り値説明
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()なしなし距離減速ゲインももとに戻す
超音波(uss.c)
関数引数戻り値説明
int uss_get(int uss_port)センサー番号計測距離[cm]指定した超音波センサで距離を計測する
正体補正(direction.c)
関数引数戻り値説明
int direction_correct(int dist)正体補正する距離[cm]成功:1、失敗:-1指定した距離で正体補正する
数字認識(nuber/number_detect.c)
関数引数戻り値説明
void number_set_nums(int nums)ボード上の数字の数なしボード上の数字の数をセットする。値は1か2
int number_detect(int dist)カメラからボードまでの距離成功:1、失敗:-1ボード上の数字を認識する
void number_get(int nums[2])認識数字なし認識した数字を取得する(数字が1個のみの場合はnums[0]のみにデータが入っている
IO READ(io.c)
関数引数戻り値説明
void io_get(char *io_data)IOデバイスデータなしIOデバイスのデータを取得する
サーバ通信(comm.c)
(Ver 2.3.0 で追加)
関数引数戻り値説明
void comm_put_number(int number, char *file)数字、ファイル名なしnumber を file に書き込み、サーバに転送する。
void comm_get_file(char *file)ファイル名なしfile をサーバから取得する。