沼津高専 電子制御工学科
MIRS0404 座標決定詳細設計所
MIRS0404-MECH-0002
改訂記録
版数
作成日
作成者
承認
改訂内容
A01
2004.9.15
石川 健太
藤田健
大胡真司
初版
目次
はじめに
搭載方法
配置
配線
光学式マウスの使用方法
光学式マウスの役割
値の取得方法
プログラムへの利用
ロータリーエンコーダの使用方法
ロータリーエンコーダの役割
値の取得方法
プログラムへの利用
はじめに
本設計書では、光学式マウス一台と、ロータリーエンゴーダーをMIRSに搭載及び、使用する方法についてを記述する。
搭載方法
配置
MECH-0001-メカニクス詳細設計書 3.メカニクス
を参照。
配線 これには、まずMIRSに搭載されているPS/2ポートを利用する。
とはいえ、MIRSにはPS/2ポートが一つしかなく、これはテンキーで使用することが決定しているので、これを二つに分岐、一方にPS/2→USB変換コネクタを経て光学式マウスを接続する。
光学式マウスの使用方法
光学式マウスの役割 MIRS本体が回転・蛇行しても、光学式マウスも回転・蛇行するので返る値は直線距離のみになる。
よって、今回は光学式マウス一台と、ロータリーエンコーダーを用いて競技中に於けるマッピングを行う。
この際、光学式マウスで移動した直線距離を、一方でロータリーエンコーダーが回転角を取得し、それらを合わせてMIRSがどの方向にどれだけ動いたかを求め、マッピングを行う。
値の取得方法 マウスをPS/2コネクタに接続しているので、マウスの返り値はデバイスファイルの /dev/psaux へ格納される。
よってプログラム中からここへアクセスして、マウスへの返り値を取得する。
プログラムへの利用 前述した方法によりプログラム内でデバイスファイルにアクセスするが、一見よくわからない値が返ってくるので、これをデコードし、単位時間あたりの座標変化を読み取る。
これらの和を取り、ロータリーエンコーダーから読み取った値より、MIRSの方向を特定。デカルト座標系に於けるX軸とY軸方向にどれだけ進んだかを求める。
ロータリーエンコーダの使用方法
ロータリーエンコーダの役割 ロータリーエンコーダはmirsの方向を決定するために用いる。 mirsの回転時にはロータリーエンコーダの返り値よりmirsの回転角を求めmirsの仮想軸をその角度だけずらすものとする。このようにしてmirsはロータリーエンコーダと光学式マウスを併用し自分の現在地をデカルト座標(x,y)として認識する。
値の取得方法 ロータリーエンコーダの返り値はrtf3に書き込まれる。"../control/funk_extern.h"をincludeすることで関数"encoder_data3"よりロータリーエンコーダの回転数をプログラムに用いることが出来る。
プログラムへの利用 mirsの回転には次の二種類がある、
@左右のタイヤを逆に回転させて行うその場での回転。
A左右の回転数を変えて行う移動を伴う回転。
この二つの場合の回転角度xは次の式によって求めることが出来る。
x=360*儉(儚-儉)/2π儉S
但し、儉=左のロータリーエンコーダの時間当たりの増加量
儚=右のロータリーエンコーダの時間当たりの増加量
S=タイヤ間のシャフトの長さ
また、xの単位は度、左回転を正、右回転を負とする。