沼津高専 電子制御工学科 | ||||||||
|
||||||||
改訂記録 | ||||||||
---|---|---|---|---|---|---|---|---|
版数 | 作成日 | 作成者 | 承認 | 改訂内容 | ||||
A01 | H12.5.7 | 山下晋 | 八窪 | 初版 | ||||
A02 | H12.9.20 | 稲葉友洋 | 八窪 | 赤外線センサのHCPチャートを少し変更 | ||||
A03 | H12.10.12 | 山下晋 | 八窪 | PWMタスクの各コマンドに対する動作の変更 | ||||
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 | 5 |
10 (位置復帰) | O | O | O | X | 6 |
11 (ポスト獲得タスク) | O | × | × | O | 3 |
コマンド名 | コード
(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 | 座標の修正を行う |
番号 | 内容 |
0 | 修正の終了 |
1.機能
タッチセンサに反応があり、それが障害物であると判断された場合に起動。障害物を回避し、ルートにもどる。
2.コマンド仕様
コマンド | コード(HEX) | サブコマンド | 機能 |
回避 | 01 | 障害物を回避。 |
3.BB仕様
番号 | 内容 |
4.初期設定
BBのデータの初期化。
1.定義
void inzt07():リアルタイムモニタから呼び出される初期設定関数。
2.HCPチャート
5.割り込み処理
なし
6.タイマ処理
なし
7.コマンド処理
回避はpwmモータ駆動タスク、位置復帰タスクにより行う。
1.定義
void nrmt07():初期設定関数から呼び出される。
2.HCPチャート
コマンド名 | コード (HEX) | サブコマンド | 機能 |
行動開始 | 01 | any(未使用) | BBからの読み込みを開始する。 既に行動が開始されている状態でこの コマンドが起動されたときは何もしない。 割り込み後次のコマンドで停止する。 |
行動停止 | 02 | any(未使用) | 行動を停止する。 |
番号 | 内容 |
1 | X座標 |
2 | Y座標 |
コマンド名 | コード (HEX) | サブコマンド | 機能 |
試験走行 | 01 | n(モード) | 走行試験を行う。 |
センサテスト | 02 | n(試験個所) | 各センサ試験を行う。試験個所の指定可能 |
番号 | 内容 |
1 | 情報1 |
2 | 情報2 |
3 | 情報3 |
4 | 情報4 |
5 | 情報5 |
6 | 情報6 |
7 | 情報7 |
8 | 情報8 |
コマンド名 | コード (HEX) |
サブコマンド | 機能 |
行動開始 | 01 | any(未使用) | BBからの読み込み,書き込みを開始する。 割り込み時次のコマンドで停止する。 |
行動停止 | 02 | any(未使用) | 行動を停止する。タッチセンサの割り込みのときは、障害物回避後行動開始へ。 |
コマンド名 | コード (HEX) | サブコマンド | 機能 |
行動開始 | 01 | any(未使用) | BBからの読み込み,書き込みを開始する。 割り込み時次のコマンドで停止する。 |
行動停止 | 02 | any(未使用) | 行動を停止する。タッチセンサの割り込みのときは、計算後行動開始へ。 |
番号 | 内容 |
1 | 赤外線センサ割り込み時X座標 |
2 | 赤外線センサ割り込み時Y座標 |
ソフトウェアインストール手順書 | |
MIRS9905.task00(Program file) | |
MIRS9905.task01(Program file) | |
MIRS9905.task02(Program file) | |
MIRS9905.task03(Program file) | |
MIRS9905.task04(Program file) | |
MIRS9905.task05(Program file) | |
MIRS9905.task06(Program file) | |
MIRS9905.task07(Program file) | |
MIRS9905.task08(Program file) | |
MIRS9905.task09(Program file) | |
MIRS9905.task10(Program file) | |
MIRS9905.task11(Program file) |
関連文書 |
---|