沼津高専 電子制御工学科
MIRSMG3D 正体補正モジュール
MIRSMG3D-FMOD-0002
改訂記録
版数
作成日
作成者
承認
改訂内容
A01
2009.3.19
細川
牛丸
初版
A02
2010.7.12
牛丸
牛丸
motor.c, correction.cを更新
目次
1.はじめに
2.動作の特徴
3.動作概要
4.ソースファイル
5.使用関数
1.はじめに
本ドキュメントは、MIRSMG3Dの標準プログラムで使用している正体補正モジュールについてまとめたドキュメントである。
2.動作の特徴
正体補正モジュールの特徴は、次の通りである。
その場回転制御と超音波距離測定を繰り返し補正を行う。
左右どちらかの超音波センサが値を返せば正体補正を行うことが可能である。
3.動作概要
Fig.1に正体補正モジュールのスローチャートを示す。
Fig.1 正体補正モジュールのフローチャート
4.ソースコード
以下にソースコードをリンクする。
正体補正本体:
correction.c
走行制御本体(スレッド無し):
motor.c
モータコントロールボードとの送受信:
motor_func.c
超音波距離計測:
uss_get.c
5.使用関数
使用する関数は以下の通りである。
関数の詳細は
「MIRSMG3D-FREF-0001 関数レファレンス」
を参照。
int correction(void);
int motor(char sel,int *par);
void motor_rotate(void *arg);
int motor_request(int fd, count void *req, void *res, size_t req_len, size_t res_len);
int motor_send_control_packet(int fd, uint8_t speed, uint8_t kp, uint8_t ki);
int motor_recv_status_packet(int fd, int8_t *speed, uint16_t *pwm, int32_t *round);
int motor_send_start_packet(int fd);
int motor_send_clear_packet(int fd);
int motor_send_stop_packet(int fd);
int uss_get(int uss_num);
関連文書
MIRSMG3D-OSIN-0009
---標準プログラムパッケージ
MIRSMG3D-FREF-0001
---関数レファレンス