沼津高専 電子制御工学科 | ||||||
| ||||||
改訂記録 | ||||||
---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||
B01 | 2002.2.15 | 勇・高根沢・中村 | 高根沢 | 初版 |
目次
本ドキュメントは、MIRS0004基本設計書(MIRS0004-DSGN-0003)に規定された システムの動作規定、状態遷移を実現する各タスクの開発(コーディング、試験等)に必 要な事項を述べる。
MIRS0004 ソフトウェアは、RT-Linux 上で動作するプログラム群で構成される。 プログラムは、Linux の標準の API とともに、行動モードに対応したプログラム、一つの機能を複数のプログラム群で提供する機能モジュール、および、RTタスク、ドライバと、補助関数と独自に定義したヘッダファイルから構成される。
本 MIRS0004 では、行動モードに対応した次の6個のモードモジュールを用意する。 IO 制御は、超音波測定と駆動系の制御を RT タスクとして駆動させ、 赤外線センサ信号入力探知と、LCD 出力は、デバイスドライバを用いて行う。 デバイスドライバは、標準 API のデバイスドライバを利用する。
以下にMIRS0004で用いる。モードモジュール・RTタスクモジュール・デバイスド ライバ・機能モジュール・関数モジュール・ヘッダファイルの関係を示す。
機能モジュール | 全て |
補助関数 | 全て |
RT タスク | 全て |
デバイスドライバ | 全て |
機能モジュール | 直進モジュール、回転モジュール |
補助関数 | PWM・ロータリーコーダエンコ−ダ デューティー比のデコード |
RT タスク | 超音波センサ RTタスクモジュール PWM・ロータリーエンコーダ RTタスクモジュール |
デバイスドライバ | なし |
機能モジュール | 直進モジュール |
補助関数 | PWM・ロータリーコーダエンコ−ダ デューティー比のデコード |
RT タスク | 超音波センサ RTタスクモジュール PWM・ロータリーエンコーダ RTタスクモジュール |
デバイスドライバ | タッチセンサドライバ |
機能モジュール | 直進モジュール・回転モジュール |
補助関数 | PWM・ロータリーコーダエンコ−ダ デューティー比のデコード・回転角のエンコード |
RT タスク | RTタスクモジュール PWM・ロータリーエンコーダ RTタスクモジュール |
デバイスドライバ | タッチセンサ、赤外線センサ |
機能モジュール | 直進モジュール・回転モジュール |
補助関数 | PWM・ロータリーコーダエンコ−ダ デューティー比のデコード・回転角のエンコード |
RT タスク | 超音波センサ RTタスクモジュール PWM・ロータリーエンコーダ RTタスクモジュール |
デバイスドライバ | タッチセンサドライバ |
ヘッダファイル名 | |
定義関数 |
void straight(double,double,int); void rotation(double); void feed_back(double,double); int rot_poll(int,double); void call_encoder_data(); void encoder_print(); int post_touch(double* , double*); void feed_post(double left,double right); void feed_rot(double* ,double *,int); void feed_speed(double* ,double *,int); double myabs(double); |
ヘッダファイル名 | |
定義関数 |
extern int irs_mode(); |
ヘッダファイル名 | |
定義関数 |
double manage(); |
ヘッダファイル名 | |
定義関数 |
extern void search(); |
ヘッダファイル名 | |
定義関数 |
extern int uss[5]; extern char irs[7]; extern char ts[7]; |
#define RIGHT 23.
#define LEFT -23.
関連文書 |
---|