ETロボコン2009

ETロボコン2009、挑戦記(3)

Cで行う二輪倒立振子とライントレースの制御

上口翔子 @IT MONOist編集部 2009/6/23

- PR -

さらに正確なセンサ値を得るために

 昨年取材していた際に何名かの参加者の方が「普段練習している環境と、実際にレースを行う会場との光度が違うので、うまく走行できない場合がある」といっていたのですが、今回実際に参加してみて、そのことがよく分かりました。例えば、先ほどラインを外れたときのセンサ値が約540でしたが、自宅で走行した際には600近い値でした。これでは同じプログラムを実行してもNXTはうまく走行してくれません。

 NXTは構造上、RCX(昨年までメインで使用されていた走行体)よりも、環境に左右にくいような光センサになっていますが、それでも、より本番に近い環境でセンサ値を得る必要がありそうです。

(案1)LED点灯時のセンサ値を得る

 まずは、走行時に点灯していたLEDを、helloworldプログラム実行時にも点灯するように書き換えます(さきほど走行していたときにはLEDが点灯していました)。

 LEDの点灯は、ecrobot_set_light_sensor_active(NXT_PORT_S3);というAPIが用意されていますので、これを上記のソースコードに書き加えます。すると、LEDが点灯しました。これでより走行時に近いセンサ値を得られるようになります。

helloworldプログラムのソースコード
光センサのAPIを追加

画像5 hellowordlプログラムにLED点灯を加えた後の実行の様子
これでより正確なセンサ値を得られます

(案2)光センサの周りに遮光スカートを付ける

 もう1つの方法は、RCXのときに多くの参加者の方が付けていた遮光スカート(センサの周りにまくもの)を使用することです。

 遮光スカートを付けることで、万が一斜め横や反射されてきた光が入ってきても、遮断することができます。昨年の取材時にチーム「すねいる」さんがとてもきれいな遮光スカートを付けていましたので、それを参考にすると良いかもしれません。

画像6 昨年参加されていたすねいるさんのRCX

関連記事:
連載記事「ETロボコン2008〜チャンピオンシップへの道〜」
http://monoist.atmarkit.co.jp/fembedded/index/robocon2008.html
コースアウトも何のその、ロボコンにも“鈍感力”を
http://monoist.atmarkit.co.jp/fembedded/articles/robocon/etrobocon2008/02/robocon02_a.html



 さて次回はついにETロボコンの核心部分である、モデルの作成に入ります。5〜6月にかけて行われた参加者向けの技術説明会の内容も踏まえ、組み込みシステム開発におけるモデリングの手法について1から学んでいきたいと思います。


@IT MONOist ロボット特集ページ

ETロボコン2009公式ホームページはこちらへ

  • 連載バックナンバー
  • 全記事インデックス
  • 組み込み開発トップ
  • MONOistトップ

スキルアップ/キャリアアップ(JOB@IT)

スポンサーからのお知らせ

- PR -
@IT Sepcial

震災関連・復興支援情報

震災関連・復興支援情報
@IT MONOist/EE Times Japan/環境メディアの製造業技術者向け3メディアを中心に、震災関連/復興支援情報を集めました

次世代エンベデッドコーナー

次世代エンベデッド
“次世代”の組み込み機器を開発するエンジニアを支援するコーナー。新潮流・新技術をインタビューやコラム、解説記事で分かりやすく紹介!

Windows Embeddedコーナー

Windows Embedded
Windows Embedded専門コーナー。Windows Embedded StandardやWindows Embedded CEをはじめとする「Windows Embedded」ファミリの最新動向や技術情報をお届けします!!

Androidコーナー

Android
Android専門コーナー。組み込みデバイスへの適用からアプリケーション開発、イベントレポート、ニュースなどAndroidに関するさまざまな技術情報がここに集結!!

@IT MONOist 求人情報

- PR -