沼津高専 電子制御工学科 | ||||||||
|
||||||||
改訂記録 | ||||||||
---|---|---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||||
A01 | 1999.5.25 | 江本 | 江本 | 初版 | ||||
A02 | 1999.5.28 | 江本 | 江本 | 第二版 標準MIRS上でのテスト、タスク詳細の変更 | ||||
A03 | 1999.6.11 | 江本 | 江本 | 第3版 タスク詳細の変更 | ||||
A04 | 1999.6.18 | 江本 | 江本 | 第4版 BBの変更 | ||||
A05 | 1999.6.25 | 江本 | 江本 | 第5版 PWMタスク修正 | ||||
A06 | 1999.7.12 | 江本 | 江本 | 第6版 自己位置タスク修正、 優先度修正 | ||||
A07 | 1999.7.13 | 江本 | 江本 | 第7版 自己位置修正、トレスの修正 | ||||
A08 | 1999.7.13 | 江本 | 江本 | 第8版 いくつか修正 | ||||
A09 | 1999.7.17 | 江本 | 江本 | 第9版 PWM系の修正 | ||||
A10 | 1999.7.20 | 江本 | 江本 | 第10版 試験関係を別のドキュメントに分けた | ||||
A11 | 1999.11.10 | 江本 | 江本 | 第11版 BBを修正した。 | ||||
B01 | 2000.02.04 | 江本 | 江本 | B1版。全てのところで微修正。 |
Task No. | Initialization | Normal | Timer | Interrupt | Priority |
00 (MMI) | O | O | O | O | 2 |
01 (超音波センサ) | O | O | X | O | 3 |
02 (自己位置検出) | O | O | O | X | 3 |
03 (赤外線センサ) | O | X | O | X | |
04 (PWM) | O | O | O | X | 1 |
05 (行動計画) | O | O | O | X | 6 |
06 (自己位置修正) | O | O | O | X | 2 |
07 (軌道トレス) | O | O | O | X | 4 |
08 (角度修正) | O | O | O | X | 5 |
09 (獲得復帰) | O | O | O | X | 4 |
10 (座標修正) | O | O | O | X | 6 |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
表示 | 01 | n(BBの番号) | 指定されたBB上のデータを表示する。4桁までしか表示しない。 |
赤緑LED点灯設定 | 02 | n(Flag) | 赤緑LEDの点灯状態の設定。設定にはフラグn(内容はタイマタスク参照)を使う |
ロータリフラグの設定 | 03 | n(Flag) | ロータリフラグの設定(True or False) |
押しボタンの設定 | 04 | n(Flag) | 押しボタン割り込み許可フラグの設定(True or False) |
マクロ | 機能 | 説明 |
DISP_SET(x,y) | 表示データ設定 | x 番目の表示データを y に設定 |
LED_SET(x) | LED点灯データ設定 | 赤緑LEDの点灯データを x に設定 |
番号 | 内容 | |
0 | 表示データその1のポインタ | |
1 | 表示データその2のポインタ | |
2 | 表示データその3のポインタ | |
3 | 表示データその4のポインタ | |
4 | 表示するBB番号のポインタ | |
5 | ローテーションフラグのポインタ | |
6 | 赤、緑LED表示状態のポインタ | |
7 | 押しボタン割り込みフラグのポインタ | |
8 | ロータリスイッチの値 | |
9 | 押しボタンの押された回数 |
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
意味 | 0 | 緑前状態 | 緑点滅 | 緑点灯 | 0 | 赤前状態 | 赤点滅 | 赤点灯 |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
測定開始 | 01 | n(チャネル) | 指定されたチャネル番号のセンサの測定を開始する。測定はqueに登録された順で行われる。既に測定が開始されている状態でこのコマンドが起動されたときはqueに登録する。 |
測定停止 | 02 | any(未使用) | 測定を停止し、queをクリアする。 |
測定開始 | 03 | any(未使用) | 測定を開始。QUE への登録は無し。(通常は使用禁止) |
番号 | 内容 | |
0 | チャネル0の測定結果[cm]
タイムアウト:999 ハードウェアエラー(センサが接続など):888 近すぎ: 777 |
|
1 | チャネル0の測定回数 | |
2 | チャネル1の測定結果[cm]
他は同上 |
|
3 | チャネル1の測定回数 | |
4 | チャネル2の測定結果[cm]
他は同上 |
|
5 | チャネル2の測定回数 | |
6 | チャネル3の測定結果[cm]
他は同上 |
|
7 | チャネル3の測定回数 | |
8 | queに入っている個数 | |
9 | queの中身(bit coding) |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
自己位置設定 | 01 | n | 自己位置を設定する。nは、float 型の配列へのポインタで、x[cm]、y[cm]、θ[rad]の順で格納されていること。 |
Limit設定 | 02 | n | 自己位置のLimitを設定する。nは、float 型の配列へのポインタで、x[cm]、y[cm]の順で格納されていること。 |
番号 | 内容 |
0 | 位置のX軸データ |
1 | 位置のY軸データ |
2 | 姿勢角データ |
3 | 右のロータリエンコーダのデータ |
4 | 左のロータリエンコーダのデータ |
5 | タッチセンサのデータ |
6 | 方向のデータ(2:前 3:左 0:後 1:右) |
7 | 速度 |
8 | 角速度 |
9 | システムが動き出してからの移動距離(cm) |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
no command | any | any | NOP |
番号 | 内容 |
0 | 赤外線センサ情報 |
1 | 赤外線測定回数 |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
PWM信号発信 | 01 | any | PWMデータ送信 |
右モータ信号設定 | 02 | n | 右モータ信号設定を行う。nは-100〜100のデューティー比 |
左モータ信号設定 | 03 | n | 左モータ信号設定を行う。nは-100〜100のデューティー比 |
左右モータ同回転信号設定 | 04 | n | 左右モータ信号設定を行い、PWM信号を発信 。左右同じデューティー比になる。nは-100〜100のデューティー比 |
左右モータ逆回転信号設定 | 05 | n | 左右モータ信号設定を行い、PWM信号を発信 。nは-100〜100のデューティー比。 右のデューティー比がn、左が-nになる。(要するに回る) |
左右モータ信号設定(独立で設定) | 06 | n | 左右モータ信号設定を行い、PWM信号を発信 。nはデューティー比を格納した配列へのポインタ。右、左の順で格納する。 |
左右モータ停止 | 07 | n | 左右モータを停止 |
LQIの目標値設定 | 08 | n | n は、int 型配列へのポインタで、速度、角度の順で格納 |
停止(LQI) | 09 | n | LQIで、停止する。 |
番号 | 内容 |
0 | 右の論理デューティ比 |
1 | 左の論理デューティ比 | 2 | 右の物理デューティ比 |
3 | 左の物理デューティ比 | 4 | 右のR.E.値を換算したデューティ比 |
5 | 左のR.E.値を換算したデューティ比 |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
位置修正設定 | 01 | n | 位置を修正するかを設定する。n=(True or False) |
X座標目標値設定 | 02 | n | X座標目標値をnに設定 |
Y座標目標値設定 | 03 | n | Y座標目標値をnに設定 |
目標座標値設定 | 04 | n | nに設定座標を格納した配列へのポインタを指定。座標は、x[cm]、y[cm]の順で格納。修正フラグも同時にあがる。 |
目標角度設定 | 05 | n | 目標角をnにする。nは角度(0〜360)。修正フラグも同時にあがる。 |
直進 | 06 | n | n[cm] 直進する。nがマイナスなら、後進となる。修正フラグも同時にあがる。 |
番号 | 内容 |
0 | 位置を修正するかどうかのフラグのポインタ |
1 | 目標のX軸データ |
2 | 目標のY軸データ |
3 | 目標の角度データ |
4 | 修正終了フラグ(修正終了時にたつ) |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
探査 | 01 | n | 探査する。 |
目標位置をセットと探査 | 02 | n | n番目の目標位置をセットする。 |
マップへのポインタをセット | 03 | n | map(route map)を受け取る。マップデータは、int [n][3] の形で、x座標、y座標、TEMP である。TEMP には、何らかの情報がかかれている。 |
マップへのポインタをセット | 04 | n | get(獲得map)を受け取る。マップデータは、int [n][3] の形で、x座標、y座標、TEMP である。TEMP には、何らかの情報がかかれている。 |
止める | 05 | なし | timer taskを止める |
競技回数 | 06 | n | 1or2回目用 | マップへのポインタをセット | 07 | n | c_map(修正map)の受け取り。修正のdataが入っている。 |
番号 | 内容 |
0 | n番目の目標位置 |
1 | 獲得・復帰タスクに入る前の保存したx座標の位置 |
2 | 獲得・復帰タスクに入る前の保存したy座標の位置 |
3 | 獲得・復帰タスクに入る前の保存した姿勢角 |
4 | タイマタスク停止flag |
5 | トレス終了フラグ(TRUE で終わった) |
6 | ポストからの距離 |
7 | MIRSからポストがどの方向にあるか(degree) |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
角度修正 | 01 | n | 角度修正する。nは、修正のためのパラメータ(int 配列)へのポインタ。 |
番号 | 内容 |
0 | 修正終了フラグ |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
USSで超音波が発見されたときの獲得動作(戻る) | 01 | n(postの座標を格納してある配列へのpointer) | USSで超音波が発見されたときの獲得動作をし、元の位置に戻る。 |
USSで超音波が発見されたときの獲得動作(戻らない) | 02 | n(postの座標を格納してある配列へのpointer) | USSで超音波が発見されたときの獲得動作をし、元の位置に戻らない。 |
TSでのポスト発見時の獲得動作(戻る) | 03 | n(postの座標を格納してある配列へのpointer) | TSでのポスト発見時の獲得動作をし、元の位置へ戻る。 |
TSでのポスト発見時の獲得動作(戻らない) | 04 | n(postの座標を格納してある配列へのpointer) | TSでのポスト発見時の獲得動作をし、元の位置へ戻らない |
get配列の受け取り | 10 | n(get配列へのpointer) | 獲得情報の格納先を得る。 |
TimerTaskの停止 | 11 | any | TimerTaskの停止 |
獲得情報の書き込み | 12 | トレスタスクで獲得してしまったときに、その獲得情報を書きこむ |
番号 | 内容 |
0 | ポスト発見位置x |
1 | ポスト発見位置y |
2 | スイッチ角度 |
3 | non |
4 | TimerTask停止フラグ |
コマンド名 | コード
(HEX) |
サブコマンド | 機能 |
座標の修正 | 01 | n | 座標の修正を行う |
番号 | 内容 |
0 | 修正が終わっているかのflag |
ソフトウェアインストール手順書 | |
MIRS9805.task00(Program file) | |
MIRS9805.task01(Program file) | |
MIRS9805.task02(Program file) | |
MIRS9805.task03(Program file) | |
MIRS9805.task04(Program file) | |
MIRS9805.task05(Program file) | |
MIRS9805.task06(Program file) | |
MIRS9805.task07(Program file) | |
MIRS9805.task08(Program file) | |
MIRS9805.task09(Program file) | |
MIRS9805.task10(Program file) | |
MIRS9805タスク単体試験仕様書(MIRS9805-SOFT-0001) | |
MIRS9805標準MIRS上試験仕様書(MIRS9805-SOFT-0002) | |
MIRS9805規定走行試験仕様書(MIRS9805-SOFT-0003) | |
MIRS9805システム試験仕様書(MIRS9805-SOFT-0004) | |
MIRS9805取扱説明書(MIRS9805-SOFT-0005) |
関連文書 |
---|