2011年12月18日日曜日

こじまうす7の走行パラメータ

  速いマウスを作ると当然気になるのは「ターンスピードはいくらか?」であろう.しかし,実は本人でさえ把握していない.ターン速度は摩擦係数と旋回半径をパラメータとして,走行時に計算して与えているからである.どういう計算で与えているのか記憶にないがそれらしいことをしているはずである.

  ただ,大会などで聞かれたときに答えられないのはどうも気持ち悪いので,計算値を出力してみた.(全日本ハーフ決勝第5走行パラメータ)

Max. parameters of KOJIMOUSE7
Acceleration8.0 m/s/s
Max. speed3.0 m/s
Max. speed
(diagonal)
1.5 m/s
45 deg turn0.96 m/s
90 deg turn1.00 m/s
90 deg turn
(diag. to diag.)
0.75 m/s
135 deg turn0.79 m/s
180 deg turn0.82 m/s

これは,こじまうす6Aの最高速とほぼ同じである.ということは,3秒か4秒で走れる迷路でEggTorteより0.1秒ほど遅いパラメータということになる(昨年から何回も検証されている).今年の機体は走行速度の点では昨年の機体を超えていない.

2011年12月17日土曜日

こじまうす7のハードウェアスペック

  先日の合宿のときにあまり情報をまいた気がしないので,年内は情報の拡散に努める.


Hardware specifications of KOJIMOUSE7
Length55 mm
Width37 mm
Height12 mm
Weight9.6 g
PCB thickness0.4 mm
MotorMK06-4.5
SpurDIDEL G336L
(36teeth, m0.3)
PinionDIDEL G309-081
(9teeth, m0.3)
BatteryZIPPY Lipo 50mAh 20C 1S
ProcessorSTM32F103RFT6 64MHz
Motor driverMPC17C724
Photo reflector
for encoder
CNB1302 x 2
IR-EmitterSEP8705 x 4
Photo transistorLTR-4206 x 4
GyroLY3200ALH
AccelerometerLIS331DLH x 2

2011年12月11日日曜日

マイクロマウス合宿その2

  今年2回目のマウス合宿に参加してきました.


  飛び入りで宇都宮さんのマウス講座が始まったり,夜気づいたら3時,4時,5時になってたりなど,いつもどおりの雰囲気のなか時間を過ごす.

  私は,先週このブログで書いた制御方法を簡単に説明+簡単なシミュレーションによるデモンストレーションを行った.そのとき使ったexcelシートをupしておきました.
後輩が早速一晩で実装し,本人も驚きの直進性を得たようです.残念ながらプチ大会ではハードウェアトラブルでその成果を見せることはできなかったようですが.

PDs_sim.xls

2011年12月6日火曜日

直進の姿勢制御:簡略化

  前回のものは,実際に私のマウスで使っていてある程度実用的である.私のハーフマウス最高速は3.0m/sだが,Kiatさんの3.5m/sが実現できるかはかなりあやしい.

 いずれにしても角度θが気持ち悪いので,思い切ってその項を落とす.


 こうすると,よく使われているようにセンサ値と角速度をフィードバックする形式になる.ここでヒントになるのは,単にフィードバックするだけではなく,角速度だけ速度に応じてゲインを変化させるという点であろう.

 とりあえず今週末の合宿で後輩に実装させて効果を確認しよう.

2011年12月4日日曜日

直進の姿勢制御:フォトセンサ信号

  前回のものは計測の問題でうまくいかないので,捉え方を変える.角加速度αを操作してフォトセンサ出力sが目標値s0(迷路中央におけるsの値)になるように制御する.


実はこれでも角度θが含まれているので完全ではないが,さしあたってオドメトリで求めたθを与えるか,θ=0とすればうまくいく.k1とk2はなんとなくそれらしい値を計測によりあらかじめ求めておく.

ここ数年のこじまうすでは壁があるとき,ないときともに式(6)で計算したαを与えて制御している.壁があるときはフォトセンサの信号Sを使い,ないときは式(2)でSを計算する.
とりあえずここまで.

直進の姿勢制御:yとθが既知

  横方向のずれyと傾きθを計測できる場合には, 角加速度αを操作してyを目標値0に制御するという考え方に基づき,以下のようにする.


y, v, a, θ, ωが全てわかっていれば上記の式(5)で角加速度αを決定して時々刻々そのαになるようにモータの出力を与えれば相当高い加速度,走行速度でも迷路の中心をまっすぐ走ることができる.(そのような定数D2, D, Pの組が存在する)
ただし,タイヤが滑っていないことが前提である.

問題は,簡単な計測でyとθを得ることができないことである.

直進の姿勢制御:座標系

  あと少しで日曜日が終わってしまうのでその前に全てまとめる.

まずは座標系.面倒だがここで共通の認識を持っておくことが重要である. 私のプログラム内ではこんなふうになっている.



迷路中心から横方向のずれy,
壁面に対するマウスの角度θ,
マウスの向いている方向の速さv,
加速度a,
角速度ω
角加速度α

このうち,vはエンコーダで,ωはジャイロセンサで計測する.aとαは直接操作できる量である.

...なんかマウスがかわいくないけど勘弁して下さい. 目からビームが出てる時点でもうどうにも...

2011年12月3日土曜日

直進の姿勢制御(予告)

  昨年のこの記事のコメントで迷路壁面に対して平行にまっすぐ走るための方法を書く,などと書いておいて放置していたのがここ一年間ずっと頭の片隅にあった.
で,これ以上放置できないし,全日本大会も終わったし,来週はマウス合宿なので書くなら今しかない.

というわけで,土日のうちに書きます.と,今日は予告だけ.
これで追い詰められたわけだ.

今週は風邪をひいた状態で学会発表という地獄でした.まあ全日本大会後に微妙な間隔をあけて発表という時点でわかっていたことですが.