沼津高専 電子制御工学科
MIRS0404 技術調査(光学式マウス)
MIRS0404-TECH-0003
改訂記録
版数
作成日
作成者
承認
改訂内容
A01
2004.7.21
藤田 健
石川 健太
初版
A02
2004.9.9
杉本 達也
石川 健太
新たにあがった問題点を明記、搭載場所を変更
A03
2005.2.14
藤田 健
石川 健太
最終的な光学式マウスの利用方法を表記
目的
光学式マウスについての理解を深め、MIRSへの有用性を調べる。また、現状報告としても利用する。
光学式マウスについて
原理
プレゼン資料参照のこと。
利用方法
MIRS競技場をMIRS内部で仮想面としてMIRSの現在位をデカルト座標系にて認識する。
使用するプログラム→
program
利点
MIRSの駆動部のすべりによらずMIRSの現在位置を正確に認知できる。更に2つのマウスを用いることで回転角度を求めることもでき、ロータリーエンコーダを一切必要としない。
改定:今回は光学式マウスを1個のみの利用となるため、回転時のすべりは検出することができなくなってしまった。しかし、直進時のすべりには対応できているため距離補正の効果が期待できる。
搭載方法
シリアルポートを用いて搭載が1つ。
改定:シリアルポートにマウスを接続することができなかったのでマウスを一つとした。
PS/2ポートをUSBポートに変換して搭載が1つ。
尚,車軸上につけることが理想だが、現実にMIRSでは車軸上につけることは不可能かと思われるので
詳細設計
に載っているようにシャーシの穴の下に取り付けることにした。
搭載上の問題点
マウスひとつでは正確な座標を取ることは難しい。
2つのマウスを接続した際にそれぞれの信号が読み取れるかわからない。
解決点、新たな問題点
PS/2ポートをUSBポードに変換して搭載することは可能だということが判明。実験済みで数値もちゃんと返ってくる。しかし、距離と返ってくる数値をプログラムにどう反映させればよいかはまだわかっていないが、プログラム次第では有効に使えそうである。
シリアルポートにつなげて搭載する方法は暗礁に乗り上げつつある。
問題は
シリアルポートがマウスの数値の読み込みができない
そのため、シリアルポートを使わずPS/2ポートを分岐させて使おうと思ったが、PS/2ポートを分岐してつかうと二つのデータを同時受信できない(順番待ちになってしまう)ため、二つのデータを利用して現在位置を知ろうとする使い方では不適当である。
現在、シリアルポートを使ってどうマウスをつなげるか考察中。
PICを用いてシリアルポートをPS/2に変換できるかという可能性を模索中。既製品のPICが使えそうなものがあるので取り寄せて試してみる予定。ちなみに製品HPはこちら
シリアルマウスエミュレータ
改定:作成した基盤を用いてもMIRSがシリアルポートから値を読み取ることはできなかったのでマウスの取り付けは1個とする。
ブレ・回転時の座標導出方法
本来は、直進時は一切左右にずれることなく真っ直ぐ進み、回転時には計算式通りの動作をすることが望ましいが、タイヤの滑りなどから値が狙い通りにいかないことが予想されるので、以下の手順にしたがって、各マウスの移動量の比から、回転の中心及びその角度を導出する。
ズレの検出
直進時、図ように配置した左右のマウスが異なる値を返してきたとき、これをズレとする。
改定:事前に一定距離移動したときの光学式マウスの返り値を元にマウスからの返り値をmm表記に直すための変換レートを設定し、マウスの帰り値を見ながらマウスは移動距離を補正する。
中心点の導出
タイヤの間の長さをS、光学式マウスの間をTとし、左右それぞれのマウスの返り値をS/Tとした値をXl、Xrとする。
このときの回転の中心Cは右側を座標系の正とすると、次式によって求まる。
又、
とすると回転角θは弧の公式より
によって求まる。
改定:回転角についてはロータリーエンコーダより値を読み取るものとする。
地図を作る
以上の事柄を用いて、MIRS内に地図用にウィンドウを展開、移動量と角度を取り入れてMIRSの通った軌跡を表示、Post発見時にはここに書き込み、獲得動作時にこれらを最短ルートでつなぐ。
関連文章
MIRS0404 システム提案書