タミヤ カムプログラムロボット工作セット Machine Vision改造編

Eye Robot Eye Robot

前回はArduino Unoを搭載しマイコン化を果たしたカムプログラムロボット。

しかしタイマーを使ってジタバタさせているだけでは退屈。そこで、ロボットにさらなる高度な機能を付け加えました。

我、ロボットに『機械の眼(Machine Vision)』を与えん!

続きを読む

モデルとは基本的に図のことである

あるETロボコン参加チームの進捗報告をちらちらと拝見させていただいているのですが、最近の進捗報告の中に「モデルとは基本的に図のことである」という記載をみつけたので、ちょっと放っておくことができずにマサカリを投げてみることにしました。 😉

続きを読む

Mindstormsのセンサー接続方式

これは、ETロボコン Advent Calendar 2014 – Adventar の18日目のエントリーです。

Mindstorms EV3ではセンサーとインテリジェントブロックを「アナログ方式」、「I2C」、「UART」のいずれかの方式で接続(通信)しています。いずれの方法でもケーブルは同じものを共用します。ケーブルは「アナログ方式」、「I2C」、「UART」のいずれの方式でも接続できるようにと複数のワイヤー(信号線)を束ねた構成になっています。

1. アナログ方式

電圧の高低でセンサーの値を伝えます。インテリジェントブロックに内蔵されたA/D(Analog/Digital)コンバーターによってデジタル値(二進数)に変換されます。

初代 Mindstorms RCXからサポートされている最も原始的な接続方法です。互換性を保つために二代目NXT、三代目EV3もアナログ接続をサポートしてます。タッチセンサーは単純にスイッチのOn/Offの二状態を判定しているだけですがアナログ接続を使っています。

  • Hi-Technic NXT Gyro Sensor (ハイテック製 ジャイロセンサー)
  • LEGO NXT Light Sensor (LEGO純正 NXT光センサー)
  • LEGO NXT Touch Sensor (LEGO純正 NXTタッチセンサー)
  • LEGO EV3 Touch Sensor (LEGO純正 EV3タッチセンサー)

続きを読む

フラッシュメモリ書換え回数上限の考察

参加者メーリングリストにフラッシュメモリの書換え回数の上限について質問が出ていたので調べてみました。

まずLEGO社が公開しているハードウェア仕様を見るとNXTにはATMEL社のARMベースマイコン AT91SAM7S256 が載っていることが分かります。

つぎに、ATMEL社のホームページからダウンロードした AT91SAM7S シリーズの仕様書に以下の記述を見つけました。

  • AT91SAM7S256
    • 256 Kbytes of Flash Memory, single plane
      • 1024 pages of 256 bytes
      • Fast access time, 30 MHz single-cycle access in Worst Case conditions
      • ( 中略 )
      • 10,000 write cycles, 10-year data retention capability
    • 64 Kbytes of Fast SRAM
      • Single-cycle access at full speed

この記述を信じれば、普通の使い方をしている限り、すぐにフラッシュメモリの寿命が尽きる心配はないように思われます。チャンピオンシップ大会に進むチームの中には普通ではない使い方をしているチームもあるとは思いますが・・・ 😉

ちなみに素のフラッシュメモリの場合、書換え回数の上限は数十回から数百回の場合が一般的ですが、ATMEL社の AT91SAM7S シリーズのマイコンには Embedded Flash Controller (EFC) と呼ばれる回路が内蔵されており、Flashへの読み書きを調停することでアクセス速度を向上させたり、Flashの寿命を延ばす工夫をしているようです。

スタートの安定性について

 ETロボコンの参加者メーリングリストにスタート時の倒立安定性について質問が飛んでいたのでちょっとコメント。 🙂

 「電車の運転」によると、停車状態からの急発車で乗客に衝動(鉄道用語みたいです 🙂 )を与えないように、最新の電車ではソフトスタートの機能(機構)が車両自体に組み込まれているそうです。

 自動車であれば、ゆるゆるとアクセルを踏み込んで、同乗者に不快な衝撃を与えないようにふわりと発進することが比較的容易なのですが、電車のノッチ(自動車で言うところのアクセル)は最低ノッチでも最大ノッチでもある速度に達するまでの加速度は同じなのだそうです。したがって、運転手のテクニックではソフトスタートを実現することは基本的に不可能なのだそうです。
 直流モーターを電流制御する電気的な制約からくる特性だそうです。最新車両はVVVF(可変電圧可変周波数)制御に置き換わって、電気自動車と同じようなアクセル操作がエンジニアリング的には可能になったそうですが、運転手さんの昔ながらの運転操作への慣れや旧型車両と新型車両の運転操作特性の互換性を考慮して、ノッチ(マスコン)のインターフェースは現在までのところ昔の制御方法を踏襲したままだそうです。

 ということで、倒立走行体 NXTway-ET のスタート制御もソフトウェアの工夫次第です。ときどきスタートに失敗するということは、スタートを行うメンバーの不慣れだけが原因ではなく、要求分析、設計、そして実装の不出来を露呈する結果でもあります。

 ちなみに、南関東大会の事例発表で、AEK Runnerさんは、『あがり症のメンバー』もリスク要因の一つとしてモデル分析されていました。 🙂

 「電車の運転」の本が手元にあるわけではないのに、なんで私って、こんなにすらすらと書けるんだろう・・・ 🙂