2009年2月9日月曜日

ETロボコン

バッテリ電圧を取得するには、get_battery_mv() が用意されている。これは、現在のバッテリー電圧をmVで取得できる。
int get_battery_mv()
{
long b = ds_scale(BATTERY) * 0xABD4L;
return (int)(b / 0x618L);
}
OSでこのような計算がされている、8bitマイコンで32bit演算しているので処理負荷は高くなると思う。ds_scale(BATTERY) だけでバッテリ電圧値を取得すれば良く、LSB=28.1974(mV)として値を扱えばよい。
しかし、この値はモータの駆動開始時、駆動中、停止中でバッテリー電圧が変動する。
走行前と走行中で変化する、走行中も走行モータの指令に255をセットしてなければ、モータの駆動と非駆動ができる、ステアモータの指令も同じことがいえる。
走行調整用のバッテリー電圧は変動していない電圧が必要になる、フィルタかけて用いると使いやすい

2009年2月7日土曜日

ETロボコン

チャンピオンシップ大会2007では、いかに早く走るかを追求したチームが多かった。2008年はショートカットのポイントが変更されたこともあり、難所を攻略してポイントをとりにいくチームが多かった。
パスファインダーを早く走らせるためには、前輪の操舵を止めて走れば早く走れる。しかし、それではライントレースが出来ないが、操舵量を出来るだけ抑えてライントレースと速度のバランスをいいところに調整できればそれなりに早くなる。

他にもいろいろ検討すれば安定して走行できる
・バッテリ残量による影響
・モータの特性
・操舵抑制ロジック
などなど

2009年2月6日金曜日

ETロボコン

パスファインダーで使っていると操舵モータがときどき動かなくなる。バグではなくモータのブラシとコミュニケータの部分がスパークによって黒ずんでくることによって、非伝導の部分が出来て動かなくなる場合もある
モータは模型用のモータとはレイアウトが違っていることがわかると思う
ギアも内蔵されていて、約15:1に減速されている。(ギアの数は数えていない)

モータモータ

動かなくなったモータを分解してみた

2009年2月5日木曜日

ETロボコン

RCXのマイコン(H8/3292)のマニュアルがあった
H8/3297グループ
残念ながら英語版しかない

Programming Manualを参照すると、
割り算は14ステート ビットシフトは2ステート(シフトの回数は指定できない、1回のみ)

ETロボコン

ETロボコンで使っているRCXは、Hitachi(今はRenesas)の8bitマイコンが使われている。
処理能力の低いマイコンでは、演算の仕方を少し考えなければならない

4分の1にしたいときに、割り算をした場合は、処理時間を多く必要とする
ans = x / 4;

しかし、2bitシフトを使うと処理時間は早くなる
ans = x >> 2;

マイコンのマニュアルで、アセンブラの1命令の必要クロック数を参考にすると、処理時間の差を見ることが出来る。1クロックあたりの時間は水晶とマイコンの分周設定で決まる(最近のマイコンでは逓倍もできる)

2009年2月4日水曜日

ETロボコン

BRICKOSの通常の光センサーの入力は、下記のようになると思う
hikari = LIGHT(SENSOR_1);

これは、このようになり
hikari = (147 - ds_scale(SENSOR_1)/7);

さらに、こうなる
hikari = (147 - ((unsigned int)(AD_C)>>6)/7);

このマイコンのA/D変換は、10bitで行われるため、光センサー値は 0~1023の値に変換される
わざわざ割り算までして LSB を落とすのはもったいないので、
ds_scale(SENSOR_1)
を使うと良い
6ビットシフトは、16ビットの上位10ビットにA/D変換の結果が取り込まれるので6ビットシフトをしている
しかし、これでは光センサー値の大小の関係が反対になってしまうので、
hikari = (1024 - ds_scale(SENSOR_1));
とすると使いやすくなると思う

これにより、白、グレー、黒の差が大きくなる

2009年2月3日火曜日

ETロボコン

ETロボコン2008 チャンピオンシップ大会を優勝した ADoniS の動画がある

OUTコース


INコース

ETロボコン

ETロボコン2008が終了した、大会最後にNXTとジャイロセンサーで倒立した筐体で、ラインとレースのデモがあり来年からこのような筐体もレギュレーションに追加するような案内があった

http://lejos-osek.sourceforge.net/jp/index.htm こちらのページにその時の写真なのか掲載されていた

株式会社ラーニングシステムからジャイロセンサーの販売がされていたが、在庫切れになったところをみると各チームがETロボコン2009に向けて活動を開始しているのか

楽天市場でも販売しているショップがあった。今日手に入るはここだけか?

【NXTをもっと楽しく!】LEGO MS1044 GYROSCOPIC SENSOR FOR MINDSTORMS NXT (ジャイロセンサー)

RCXというマイコンが搭載されたコントローラを使っているが、これには私が知っているだけで3つのバージョンがある。

教育用セットのVer1.0の充電できるタイプ、ショップで売られていた充電の出来ないタイプのVer1.0とVer2.0がある。教育用セットとVer2.0を使っていたが、Ver1.0とVer2.0には、モータの駆動に使っている素子が違っているのか、同じソフトでもパスファインダーの速度に違いが出た。Ver2.0の方が明らかに早い、これに気がついたチームがいたのか、Ver2.0を使っているチームが数チームいた。(残念ながらVer2.0を手に入れたくてももう売っていない)