2009年6月30日火曜日

目標は1周1分

旧参戦記のこの記事で、目標は1周1分と言ってから約2ヶ月・・・まだ達成できていません。

以前の走行ビデオでは、1分20秒前後で走行できました。それに比べれば速くはなっていますが、1分5秒を切れないまま5月、6月が過ぎてしまいました。

残り期間を考えて、1周1分以内の目標はちょっと後回しにします。まだ手をつけてない難所走行の開発をこれから行っていきます。

2009年6月21日日曜日

み…見えるぞ!

あいからわずScilab勉強中です。走行ログからグラフを作るのはだいぶ慣れてきました。少しデータを加工してグラフを作るといろいろ見えてくるものがあります。

例えば、これはテストコースの走行ログから、左右のモータ回転角の差をグラフ化したものです。



4,5周分のデータですが、グラフに周期性があります。1周分を拡大してみると



よく見るとグラフには、水平部分、右上がり、右下がりの部分があり、それがコース形状の直線部分、右カーブ、左カーブに対応しているのがわかります。色をつけてみると、ホレこの通り。




さて、NXT走行体は改良が加えられたようなので制御パラメータの計算もそれにあわせた計算が必要になるはずです。制御パラメータの計算を理解できるように勉強を続けます。

2009年6月17日水曜日

Scilab勉強中

昨年のチャンピオンシップ大会後のワークショップでMATLAB/Simulinkを何チームか使っているという話を聞きました。「たぶん仕事で使っているんだろう・・・うちのチームには縁がないものだなぁ・・・」と聞き流していたんですが、ETロボコンのメーリングリストや技術教育でもMATLAB/Simulinkや制御パラメータに関する質問が頻繁に出てきて、少し勉強して活用できればと思うようになってきてます。

ただしMATLAB/Simulinkを購入できるほど(略)なので、フリーソフトでMATLABと同じことができるScilabを使って制御パラメータ計算やログの解析できるように勉強してます。

制御パラメータ計算は理解するのにもう少しかかりそうです。ログはまずグラフにして見るところからはじめてます。

以下グラフ化の例(ログファイルの1行目は削除しないとエラーが出ます)

// csvファイル読み込み
a = read('test.csv', -1, 12);
// 電圧表示
plot(a(:,1) , a(:,4));
xlabel('Time (ms)');
ylabel('Voltage (mV)');
// save
filename = 'test01'
xs2png(0, filename);



// ファイル読み込み
logdata = read('test.csv', -1, 12);
clf(); // clear

// Light Sensor
subplot(211);
plot(logdata(:,1) , logdata(:,10));
xlabel('Time (ms)');
ylabel('Light Sensor (a.u.)');

subplot(212);
histplot([min(logdata(:,10)):1:max(logdata(:,10))], logdata(:,10));
xlabel('Light Sensor');
ylabel('Histgram');

// save
filename = 'test02'
xs2png(0, filename);

2009年6月14日日曜日

新参戦記 始めます

前のブログからこちらへ引越して来ました。こちらで改めて参戦記を書いていきます。

前回の投稿から約1ヶ月ほど間が空きました。その間、技術教育1に行ったり、PCが調子悪くなったり、技術教育2に行ったり、HDDがクラッシュしたり、といろいろあって開発作業は停滞中です。

地区大会まであと2ヶ月ちょっと、急ピッチでがんばります。

参戦記 引越中

前の参戦記から、引越し中です。

2009年6月13日土曜日

テスト

テスト投稿です