沼津高専 電子制御工学科
MIRS0701 技術調査書
MIRS0701-TECH-0001
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2007.7.4 小澤(拓)・池田・小澤(竜)
加藤・佐々木・田中
水上・宮川
池田 初版
A02 2007.7.10 池田 池田 超音波センサの項目・図の追加、各項目の修正
A03 2008.1.18 池田 池田 ドットマトリクス開発中止の文の追加



目次

1 デュアルレギュレータ電源ボード
2 ポスト番号識別機構
3 超音波センサ
4 ポスト獲得用アーム
5 ドットマトリクス
6 ソフトウェア

注:ドットマトリクスは開発を中止した



1 デュアルレギュレータ電源ボード

レギュレータは、調節装置という意味であり、コンピュータシステムでは一般に電源安定装置や変圧装置などを指す。 駆動部(左右のモータへの出力側)にもレギュレータを取り付け、電圧を安定化することによりMIRSの動作誤差を少なくすることを目的とする。パラメータを導出したときの電圧とMIRSが動作するときの電圧が変わってしまうため誤差が起こる。その誤差を少なくするために電圧を安定化する。三端子レギュレータは、入力、接地、出力の三端子を持ち、入力された直流電源を平滑、定電圧化して出力するものである。レギュレータは制御部と同じLT1083CPを用いる。以下にこのレギュレータの仕様について調査した結果をまとめる。


Fig.1 Basic Adjustable Regulator


Fig.1はLT1083CPの標準回路図である。MIRSに使うモーターは6.3〜6.5[V]で安定して動作する。ここでは電圧を6.4[V]に安定化すると考える。よって、VOUT=6.4[V]となる。
仕様書によれば、VREF=1.25[V]、IADJ=50[μA]である。 標準機の電源ボードの低電圧回路と同様、R2=2[kΩ]とし、R1を可変抵抗とすれば、Fig.1の式よりR1≒495[Ω]となる。
出力する電圧は、必ず入力される電圧よりも低くなる。これはレギュレータによる電圧降下分があるためである。入出力電圧の差(Dropout Voltage)は、仕様書によると標準1.3[V]、最大で1.5[V]である(下表)。


Tab.1 Dropout Voltage


バッテリーの最大は7.8[V]であるが、フル充電では8.3[V]ほどである。『安定目標数値+標準入出力電圧の差<バッテリーの最大』となれば問題ない。 よって、6.4+1.3=7.7[V]となり、7.7<8.3なので安定化可能だと言える。

※現在、牛丸先生がデュアルレギュレータ電源ボードの製造仕様書を作って下さっているということなので完成次第それも参考にしていきたい。


2 ポスト番号識別機構

赤外線センサを使用せず、白線センサ4つとタッチセンサ1つを垂直に並べてMIRS前方に設置する。そしてタッチセンサが押された時にポストのラインの数を読み取り、ポスト番号を識別する。この方式をとることの利点、欠点を挙げる。

−利点
・ ポストの番号を、ポストを周回することなく識別することができる。
・ ポスト番号識別後、獲得動作に移行しやすい。

−欠点
・ 外部の明るさの状態変化にすぐに順次対応することができない。またポストが汚れていた場合に誤動作を起こす場合がある。
・ 赤外線センサを使用しないので、ポスト獲得の確認ができない。

白線(光)センサについて調査した内容を以下に示す。

光センサはフォトセンサとも呼ぶ。 フォトセンサとは光によって対象物の有無、大きさ(巾・長さ)、明るさ、色、 反射パターンなどの物理量を検出する、発光・受光素子を組み合わせた複合電子部品 のことを言う。大きな特徴は無接点の電子的信号として取り出せる。

検知する方法で透過光の遮光の有無を検出する透過型フォトセンサ(フォトインタラプター)、反射光を検出する反射型フォトセンサ(フォトリフレクタ)に分けられる。 透過型フォトセンサ形式で発光部・受光部を比較的長い距離をおく分離型フォトセンサ(又はビーム型フォトセンサ)も最近利用が多くなってきた。


3 超音波センサ

ポスト探索、距離測定および正対補正時に使用する。ポスト周回動作を行わずにポスト獲得をする予定なので、搭載する超音波センサはMIRS前方の2つのみである。そこで、要求される仕様を満たせるかどうかを把握するために標準機に搭載されている超音波センサがどれほどの性能なのかを確認した。

実際には、標準機を起動しuss_testを実行してある距離に置いたポストに超音波を反射させ、ディスプレイに表示される限界の測定値を読み取った。その結果、MIRS後方から見て左側は3000[mm]程度、右側は2000[mm]程度の距離まで測定することが可能だということがわかった。

両方とも2000[mm]以上の距離を測定できるので、動作には問題ないだろう。ただ、左右の超音波センサの測定距離に差があるため、時間があれば作り直そうと考えている。


4 ポスト獲得用アーム

周回動作を行わずポストを獲得するためにアームを用いる。 アームの寸法等を算出するために、ポスト・機体の寸法を計測した。 以下の図にその結果を示す。

Fig.2 ポストの寸法

Fig.3 機体の寸法


これらより、アームの寸法を算出する。

Fig.4 アームの寸法の算出(1)


三平方の定理より
アームの長さ=√[(310-85)2+(210+30+75)2]=387≒390[mm]
この値は、アームの支点から先端までの距離となる。これにより、各寸法を以下に示す。


Fig.5 アームの寸法の算出(2)


ギアボックスの構造を把握する必要があると感じた為、 LEGOのギアを用いてモデリングした。以下に、裏表を撮影したものを示す。


Fig.6 ギアボックス(モデル)


次に、一般的なモータでのアームの駆動が実現可能か判断を行う。 (参考:モータのトルクM=8[kg重・cm])


Fig.7 各アクリル板の重心位置


図のように、アームを3枚の板に分割し、重心を考える。 x、y座標を取ると、各面積は、
G1:60[cm2] G2:10[cm2] G3:16[cm2]
となり、各重心は
G1(1,20) G2(2.5,9) G3(4,4)
よって、全体の座標Gx,Gyは、
Gx=1.732 Gy=15.74
これより、支点(4,0)から重心(1.732,15.74)までの距離を出す。
r=15.9[cm]

アクリル板の比重は1.2の為、板の体積より、1枚分の重さが判る。(実際には4枚使用する)
86(面積)×0.5(厚さ)×1.2(比重)=52[g]=m

これらより、以下の不等式が成り立てば良い。
r×mg≦M
15.9×52×10-3×4×9.8≦8×9.8[N・cm]
3.3≦8
よって、今回の調査により、この機構が実現可能であることが判る。


5 ドットマトリクス

5.1 検討

まず、入手できるドットマトリクスについて調べてみる。

−秋月電子 K-798 32×16ドットLEDマトリクス表示装置パーツセット−

■高輝度赤色ドットマトリクスC-2AA0SRDT使用
■表示面積:80×40mm(1文字は40mm角)
■すきまなく並べて大型表示器を作ることができます。
■部品は実装済み。LED・コネクタ・電流制限抵抗をハンダ付けする必要があります。
■LEDドライバを内蔵しています。6本の信号線によってコントロールできます。PICやH8で制御できます(マイコンは別売)
■電源:DC5V 最大1A(表示状態による)
■基板サイズ:79×57mm

以下に撮影したものを示す。


Fig.8 ドットマトリクス


これとマイコンがあれば動くため、なにもない状態から製作するよりは容易である。 大きさは40×80と、MIRSには十分乗る大きさであるが、視覚的パフォーマンスに用いるには少し小さい。 最大4つまで拡張可能である。ただ、増やす場合はもう一つ買う必要がある。 説明書が付属していて、非常に心強いと思われる。

このままでは定格電流に近い値が流れるため、抵抗の調整が必要である。 製作が比較的容易と書いたが、FPGAなど根本から理解する必要があるため、そんなに容易ではない。 PIC、もしくはH8マイコンで動作可能である。マイコンで動作させるとCPUボードとの連携が取れない。 PICで動かす場合、連動させることが不可能である可能性がある。 PICは出力をFPGAに入力することはできるが、PICに入力するのは難しいと思われる。表示命令はFPGAボードのLED用ダミーを使えばよいと思われたが、LCD用のダミーが使えないことがわかった。そのため、使う予定のないタッチセンサや超音波センサの部分を7本選び使用する。

電流調整用抵抗 R4,R5 は390Ωが付属しているが、ここでは1kΩを使用する。 搭載されているICは TB62706(×2)、TB62783(×2)、74HC595(×2)、74HC04の4種類、7つである。


−各種データ−

・ TB62706 − 16ビット定電流LEDドライバ
出力定格 VOUT=17[V] 、 IOUT=90[mA / ビット]
シフトレジスタで、これにデータを入力しておくことになる。
ICは完成品を使うので詳細なデータは必要ないと思われる。また、仕様書は東芝のホームページにて閲覧可能である。

・ 74HC595 − 8ビットシフトレジスタ/ラッチ
出力定格 VOUT=−0.5〜 VCC(今回は5[V]) +0.5[V]、 IOUT=±25[mA]
ICは完成品を使うので詳細なデータは必要ないと思われる。また、仕様書は東芝のホームページにて閲覧可能である。

・ 回路
IC全体の回路図は秋月電子のホームページにて閲覧可能である。
全40PIN、OUT:20PIN、IN:20PIN、制御信号:6PIN である。
FPGA内部に回路を組まないで使用可能であるが、LCDの部分を使わなければもしかしたらPINが足りないかもしれない。
GNDやLED電源を省略できれば、合計12PIN節約できる。(GND=9&10PIN、LED電源=1)



5.2 結論

この他にも、電光掲示板キットなど、マイコン付属のものがあった。 また、LEDマトリクス単体はさほど高い値段ではなく、8×8(40m×40m)ならば100円で購入可能であるが、LEDマトリクス単体で購入する場合、 シフトレジスタなどのICを購入する必要があるため、結果的にお金はかかってしまう。 現在の調査では、実用的なドットマトリクスは秋月電子のK-798しかないという結論に至った。


6 ソフトウェア

6.1 プログラム

6.1.1 ポストサーチ

中心位置に移動し回転し超音波センサを使い、ポストの距離と角度を記憶させる

post.dis[i],post.ang[i]

Fig.9 フローチャート(ポストサーチ)


6.1.2 座標変換

ポストサーチなどで得られたデータから曲座標を直交座標に直し保存する。

py[i]=post.dis[i]*sin(post.ang[i]/180*PI)/ONE_B;
px[i]=post.dis[i]*cos(post.ang[i]/180*PI)/ONE_B;

※ONE_Bは仮想競技場一ブロック分の長さ


Fig.10 座標変換


6.1.3 ポスト接近@

MIRSが現在いる座標から指定された場所(ポスト等)までの接近。

・ ポスト直前ブロック割り出し(例:y軸)

if(m[i]=>py[i]){
sy=py[i]-m[i]+1;
}else{
sy=py[i]-m[i]-1;
}

・ 距離と角度の割り出し

sdis=ONE_B*sqrt(sy[i]*sy[i]+sx[i]*sx[i]);
sang=atan2(sy/sx)/180*PI-m[3];
r_time=sang*20;
m_time=sdis*4;

※ONE_Bは仮想競技場一ブロック分の長さ

・ 移動

lqr_rotate(sang,r_time);
lqr_straight(sdis,m_time);

・ MIRSの角度、座標の更新

m[1]=sy;
m[2]=sx;
m[3]=sang;

Fig.11 移動距離算出


6.1.4 ポスト接近A

ポスト付近でポストと正対するように補正をかける。 このとき接近する前に補正した角度を記憶させてMIRSの角度を更新する。


6.1.5 ポスト判別

前面のタッチセンサが押されたとき、白線センサ4個の値からポスト番号を読み取りその情報を保存する。このときポスト情報の更新を行う。 その後ポストナンバーによって動作を変える。

獲得するべきポスト → ポスト獲得
獲得すべきでない  → 中心に戻る


Fig.12 フローチャート(ポスト判別)


6.1.6 ポスト獲得

モータを制御し、アームを降ろして前後左右に動きポストを獲得した後、アームを上げる。


Fig.13 フローチャート(ポスト獲得)


6.1.7 MIRS位置保存

MIRS自身の座標を保存することで仮想マップ上の位置や角度を確認する。この動作はMIRSが移動したときに随時行う。

m[i] i=1のときMIRSのY軸の値、i=2のときMIRSのX軸の値、i=3のときMIRSの角度を入れる


6.1.8 ポスト情報保存

ポストの座標の管理を行う。ポスト番号、ポストが獲得済みか否かなど。


6.1.9 ポスト位置予測

発見済みのポストの判別や獲得が終わったときに行う。すでにわかっているポストの位置からポストの位置を予測させる。 発見されたポストの位置と中心を1とし、その他を0とする3×3マスの合計が0となる場所を探索する。 探索結果を保存し上下左右で0になるマスが多いところに高い優先度をつける。

Fig.14 ポスト位置予測


6.1.10 予測ポストサーチ

予想された範囲の近くでポストサーチを行う。この動作を行うときすでに発見しているポストを除外できるようにする。


6.1.11 MIRSの位置補正

2つのポストよりMIRSの位置を補正する。


6.1.12 ドットマトリクスの表示

ドットマトリクスを用いてMIRSの動作を表示する。各動作に入れる予定。


5.2 問題点・課題点

(1) 新しいタスクの作成方法
(2) モータ・ドットマトリクスの情報の入出力方法
(3) 位置補正・ポスト位置予測のプログラム
(4) 標準機での関数定義の違いを直す(int→double double→int) x=(int)y <=yの型をintにする
(5) charでメモリの使用量を減らす




関連文書

・ MIRS0604 技術調査報告書(MIRS0604-TECH-0001