« 2009年3月 | メイン | 2009年5月 »

2009年4月 アーカイブ

2009年4月14日

ETロボコン2009参加チーム一覧

ETロボコン2009の参加チーム一覧が公開されてます。

http://etrobo.jp/ETROBO2009/gaiyou/team_all.html

今年は全348(追記4/15時点で)353チームがエントリーしてます。北海道東北地区は41チームで内訳は

  • 企業17
  • 大学10
  • 短大4
  • 専門学校2
  • 高専4
  • 高校2
  • 個人1
  • 特別1

となってます。同じ団体から2つエントリーしているチームもあります。RCXとNXTの両方で参加されるのでしょうか。RCXとNXTのどちらで出場するのかは公開されないのかな?

ところで、今年の参加申し込みでは、ID1番を目指して即効速攻申し込んだんですが、結果は・・・

cap01.png

あああ・・・負けた・・・

2009年4月24日

NXT走行体を動かす(1)

この記事は、青大ロボコン研の備忘録です。間違った情報を掲載している可能性もありますので、利用される方はご注意くださいませ。

走行体を製作し、開発環境を整え、サンプルプログラムが動かせる状態を前提にします。あとbluetoothを使った通信が可能である(ハードが対応しているなど)とします。(NXT GamePad 1.04をしばらくは使う予定)

     
  1. 実施説明会でもらった資料をもとに、NXT走行体のサンプルプログラムの3つのファイル(sample.c , balancer_param.c , sample.oil)をつくり、/nxtOSEK/sample_c/nxtway-ET に保存します。
  2.  
  3. Makefileが必要になるので、/nxtOSEK/sample_c/nxtway_gs からコピーします。
  4. Makefileの以下の個所を変更します。
  5.   
    • 2行目 TARGET = NXTway-ET
    • 16行目 sample.c
    • 19行目 TOPPERS_OSEK_OIL_SOURCE := ./sample.oil
  6. make all を実行する
  7. sh ./rxeflash.sh を実行する
  8. NXT走行体に転送したnxtway-ETを実行する(画面には何も表示しなくなります)
  9. NXT走行体の光センサがコースの黒線上に位置し、床面と垂直になる様に支えながらタッチセンサを押します。
  10. コースに沿って走行します。(ただし、各種センサの調整をしていないので、うまく走らない場合もあります。)

この手順でうまく走る・・・と良いですが、少しセンサの調整もしたいので、このプログラムを少し改良していきます。

(つづく)

NXT走行体を動かす(2)

この記事は、青大ロボコン研の備忘録です。間違った情報を掲載している可能性もありますので、利用される方はご注意くださいませ。

走行体を製作し、開発環境を整え、サンプルプログラムが動かせる状態を前提にします。あとbluetoothを使った通信が可能である(ハードが対応しているなど)とします。(NXT GamePad 1.04をしばらくは使う予定)

前回のプログラムを改良していきます。

まずは、画面にセンサの情報を表示させます。(走行中は必要ないので、タッチセンサが押される前まで表示するようにします)

sample.cの一部を修正(サンプルプログラム helloworld を参考に修正)

変更前
while(!ecrobot_get_touch_sensor(NXT_PORT_S1)); /* タッチセンサ押下待機*/

変更後
ecrobot_set_light_sensor_active(NXT_PORT_S3); /* 光センサ赤外線ON */
while (!ecrobot_get_touch_sensor(NXT_PORT_S1)) /* タッチセンサ押下待機*/
{
ecrobot_status_monitor("AodaiRoboconKen");
systick_wait_ms(500); /* 500msec wait */

}

この修正で、タッチセンサを押すまでは画面に各種の値が表示されます。
ただし、この修正でタッチセンサを押して走行開始するタイミングが変わります。

表示されている値から、ジャイロセンサと光センサの値を確認して sample.c に書き込みます。

(つづく)


2009年4月25日

NXT走行体を動かす(3)

この記事は、青大ロボコン研の備忘録です。間違った情報を掲載している可能性もありますので、利用される方はご注意くださいませ。

走行体を製作し、開発環境を整え、サンプルプログラムが動かせる状態を前提にします。あとbluetoothを使った通信が可能である(ハードが対応しているなど)とします。(NXT GamePad 1.04をしばらくは使う予定)


前回改良したプログラムを使って、センサの値を確認します。

ジャイロセンサの調整


プログラムを実行すると以下の画面になります。

SANY0003.JPG

図示した部分が光センサとジャイロセンサの値です。ジャイロセンサを完全に静止した状態で値を確認します。そのため以下のように横倒しにして値を確認しましょう。

これまでは、走行体を垂直に支えた状態でジャイロセンサの値を確認していましたが、それでは完全に静止させることは難しいです。横倒しにすることが正しいかまだ確証はありませんが、しばらくはこれでいきます。このときも確か横倒しでジャイロセンサのキャリブレーションしてたので多分いいとは思います。

SANY0007.JPG

読み取ったジャイロセンサの値をsample.cに反映します。GYRO_OFFSETを変更します。

変更前
#define GYRO_OFFSET 605 /* ジャイロセンサオフセット値(角速度0[deg/sec]時) */

変更後
#define GYRO_OFFSET ??? /* ジャイロセンサオフセット値(角速度0[deg/sec]時) */

(???の部分は各自のジャイロセンサの値を入れる)

(つづく)

競技規約とコース公開

NXT走行体でいろいろ実験しながら備忘録を書いているうち、公式サイトでは競技規約がアップされてましたね。あと参加者専用ページにもいくつか情報が載ってます。

・・・なんか、今書いてる備忘録と一部かぶっているような・・・

それはそうと、やっぱり気になるのはコースですよね。早速コースを確認・・・昨年との違いをざっと挙げると

  • NXT走行体は1周
  • アウトコース難所「トレジャーハント」追加
  • インコース難所「ツインループ」交差部分の灰色マーカ削除
  • アウトコース難所「新ショートカット」周辺の緑部分の形が変更

新難所「トレジャーハント」ですが、ボーナスタイム30秒ってそんな難しい難所には見えませんが何かあるのでしょうか?真っ直ぐ通れないように看板置いたりやゲートみたいなものつくのかもしれません・・・。どういう状況でも対処できるよう準備したいと思います。


NXT走行体を動かす(4)

この記事は、青大ロボコン研の備忘録です。間違った情報を掲載している可能性もありますので、利用される方はご注意くださいませ。

走行体を製作し、開発環境を整え、サンプルプログラムが動かせる状態を前提にします。あとbluetoothを使った通信が可能である(ハードが対応しているなど)とします。(NXT GamePad 1.04をしばらくは使う予定)

光センサ値の確認


プログラムを起動して、NXT走行体を垂直の状態でコースの「白」および「黒」の光センサ値を確認します。もしコースに灰色マーカがあればその値も確認します。

SANY0009.JPG

確認した値をsample.cに反映します。

変更前
#define WHITE 500 /* 白色の光センサ値*/
#define BLACK 700 /* 黒色の光センサ値*/

変更後
#define WHITE XXX /* 白色の光センサ値*/
#define BLACK ooo /* 黒色の光センサ値*/

XXXは「白」の光センサ値を入れます。oooは「黒」の値を入れます。(ただしコースに灰色マーカがある場合は、「灰」の値)

これらの調整で動作するか確認しましょう。

(つづく)

2009年4月26日

NXT走行体を動かす(5)

この記事は、青大ロボコン研の備忘録です。間違った情報を掲載している可能性もありますので、利用される方はご注意くださいませ。

走行体を製作し、開発環境を整え、サンプルプログラムが動かせる状態を前提にします。あとbluetoothを使った通信が可能である(ハードが対応しているなど)とします。(NXT GamePad 1.04をしばらくは使う予定)

ログをとる

sample_c/dataloggingを参考にして、sample.cを改良します。

その1
変更前
void user_1ms_isr_type2(void){/* 空 */}

変更後
void user_1ms_isr_type2(void){/* 空 */}
void ecrobot_device_initialize(void)
{
ecrobot_init_bt_slave("LEJOS-OSEK");
}

void ecrobot_device_terminate(void)
{
ecrobot_term_bt_connection();
}

その2
変更前
nxt_motor_set_speed(NXT_PORT_B, pwm_R, 1); /* 右モータPWM出力セット*/
systick_wait_ms(4); /* 4msecウエイト*/

変更後
nxt_motor_set_speed(NXT_PORT_B, pwm_R, 1); /* 右モータPWM出力セット*/
ecrobot_bt_data_logger(pwm_L, pwm_R);
systick_wait_ms(4); /* 4msecウエイト*/

NXT GamePad のインストールと設定はこちらを参考にしてください。

改良したプログラムを転送して、走行体側でプログラムを起動します。

その後PC側でNXT GamePadを実行します。settingボタンを押し、COM port を選択し、NXT Data Acquisition にチェックして、connectボタンを押します。

走行体の画面に、[BT] が表示していることを確かめてからRUNします。

(備忘録 おわり)

2009年4月27日

走行方法検討中

週末は、競技規約とモデル審査基準の確認と走行方法を検討しました。

備忘録にあるようなサンプルプログラムでは、あまり滑らかに走行できませんので、改善できそうなアイディアを2,3つプログラムにしてログで確認してます。

しかし、まだこれという決め手がない・・・。

でも、最初のこの走行に比べれば改善は進んでいるはず。

カーブが連続している所で、少しコースからズレてしまってます。ここを何とかしないといけません。連休中の課題です。

2009年4月29日

NXT走行体は2分で1周できるのか

競技規約によるとNXT走行体は2分以内に1周しないとリタイヤになります。サンプルプログラムで2008年のコースを難所無しで走らせてみたところ、約2分30秒で1周しました。

いやNXTはあまりスピードがないとは思ってましたが、これは遅い。RCXのときは、サンプルでも2分で2周はしてたと思いましたが・・・。少しプログラムを改良して、現時点で一番速く走れる状態でビデオを撮りました。

今のプログラムでは、1周約1分20秒ぐらいです。大会ではコース内の難所、坂道、ゴール停止を入れて2分以内に走りきらないとリタイアになるので、もう少し速く走れないとまずい気がしています。

当面の目標として1周1分以内を目指して作業していきます。

実際走ってみて、NXT走行体2台で並走できないことが分かりました。なんか変だ思ったら、今年はインコースとアウトコースの間が140mmから200mmに間隔が拡大してます。コース全体もよく見ると同じではなく、昨年と比べて全体に拡大している様に見えますね。

これが昨年2008年のコース
c2008.jpg

これが今年2009年のコース
c2009.jpg

About 2009年4月

2009年4月にブログ「青大ロボコン研(仮)参戦記」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2009年3月です。

次のアーカイブは2009年5月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。