忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[93]  [94]  [95]  [96]  [97]  [98]  [99
書いた記事がその場で消えたので 無茶苦茶ブルーになってます。

また書き直しか・・・><。

昨夜、なんか頭いたいなー。と思って今朝病院に行ったら・・・

どうやらインフルだったようです。A型でした。

とりあえずリレンザ貰って帰りました。



それでさっき、書いた記事を確認してたら、

PWMについての説明がないことに気がついてしまいました。

あれじゃなんのこっちゃかわかりませんね・・・


という訳で今日の記事はPWMについてです。

前の記事を呼んでいただければ、

とりあえず「モーターに関係のあるもの」ということはわかっていただけると思います。

PWMというのは、簡単に言うと、一種のモーターの制御方式のことです。

正式にはPulse Width Modulationといって、

パルス派のデューティ比を変化させて変調をする変調方式のことを指します。

でもこっちの話をすると、ちょっと長くなるし、図とかも欲しくなってきちゃいます。

今ちょっとその余裕がないのでモーターの制御方式ということで話を進めようと思います。


まず、ある時間内でのモーターの回転量は何によって決まると思いますか?

電圧?電流?電力?

そのどれもが正解なんですが、ちゃんとした答えを言うと、「電力量」となります。


電力量というのは電力の大きさとその電力を与えている時間をかけたものです。

電力は電流×電圧なので、電力量、つまりモーターの回転量は電圧×電流×時間となります。

なのでモーターの回転量を変えるにはこの中のどれかを変化させてやればよい。ということになりますね。


しかし、電流や電圧を変えるというのは非常にめんどくさいんです。

これは電力の変化はアナログなのに対してロボットの制御はデジタルで行われているからなのですが。

これまた面倒なのでデジアナのことはまた今度ということで。


なので残っている「時間」、つまりモーターに電力を流す時間を変えることによって

モーターの回転量を変えることが簡単にできるようになります。


つまりは、モーターを回したり、とめたりを繰り返すということですね。これがPWM制御です。

でも只、回したり止めたりだと、モーターが回ったりとまったりを繰り返すだけですよね。


なのでPWMでは回したり、止めたりという動作に「高速に」という要素が追加されます。

高速に回したり、止めたりを繰りかえすことによって、

普通に回しているときよりも、一定時間での回転量が少なくなります。


これでモーターの回転量、つまりモーターの回転速度が擬似的に変えられることになります。



つまり、モーターの回転する速度そのものは変わらないけど、回転している時間を減らすことによって

結局進む距離を短くすることができる。これがPWM制御です。


こんな感じで大丈夫でしょうか。

とりあえず今日はこの辺で。

(^・ω・)ノRadiumProduction in RoboCupJunior
はるかむかしの おはなしです。

LEGOブロックで つくられた ロボット。
センサーポートが たりなくなってしまった ロボット。

ロボットにのこされた さいごのせんたく。
かさねづけ と しゅうつりょくポート での PICとの つうしん。

このつうしんが ちいさなきせきを おこしました。

このおはなしは そんなちいさな ちいさな きせきのものがたり。

そのロボットがうんだ ”きせき” が たいかいのおわりに みたものは。




まぁ奇跡って程のブツでもありませんが。

冒頭の通り、センサーポートがたりなくなって、自作基盤とPICを使って、

センサー基盤を作ったことがあるんですね。


以前紹介した、背景のロボットのものなんですけど。


今日はその基盤についての記事になります。

この基盤、写真があればいいのですが、なぜかデータがない・・・


というわけで今日は文字だけの説明になります。

今度、写真と回路図載せてみますね。時間があればですが(笑)

まずこの基盤制御しているセンサーは、

アナログセンサーが、測距センサ-が2つ、緑センサーがひとつ、よって計3つ

デジタルセンサーは水銀センサーが2つ、3ビット方位センサーがひとつ、よって計3つ

合計は6個です。

方位センサーは3本信号線が必要なので、入力信号は全部で8本。

最初はPICなんて使う予定は全くなかったのですが、どんどんセンサーの数が増えていって、

流石にここまで信号が多いとロジックなんて組む気にならなかったので間にPICを挟む事にしました。


これで簡単に全てのセンサーの値を読むことができました。


次にPICとの相互通信ですが、

RCX側には赤外線通信機能しかありません。それも超のんびりな。


・・・となると、今余ってるポート2の重ねづけでのデジタル入力と、BポートのPWM出力。

これだけで通信をこなわなければなりませんでした。

RCXのポートが入出力固定で、しかもどちらも1つずつしかないので、もう同期通信はできません。

クロック信号を送ることができませんからね。(イヤ、今考えればできたかも。。。)


という訳で非同期通信を行うことにしました。


まず最初に一瞬だけ考えたのがBポートのPWM信号による通信です。

RCXのPWM比は8段階に変えられたのでそれでちょうどいいかなーとか思ったんですが、

RCXのPWMってアテにならないんですよねー(笑)

中のドライバICが残念なんでしょう。

オシロで測ったらなんか凄いことになってた記憶があります。


という訳で断念。その後も色々考えましたが最終的には擬似UARTを作成して乗り切りました。

RCXの信号がくるのをPICで待ってーきたら今のセンサーの値返してーみたいなことをやっていました。

結局、来た信号とRCXに繋がっているセンサーの値、プログラムの進行状態から

なんのセンサーの値が帰ってきているのかを判断するようなプログラムにした気がします。


一体なんてめちゃくちゃなもの作ってるんだか・・・


今度は回路のほうについて紹介します。


が。今日はここまでにしておきます。

また土日かそこらに更新しようかな。

(^・ω・)ノRadiumProduction in RoboCupJunior


今日の記事は汎用の加速度センサーについてです。

本当なら今日はプレゼンの資料や現代社会論のレポートとかやらないとそろそろやばいんですが

昨日の深夜にサッカーアジアカップ見て徹夜して朝になってから寝たせいか、

全くやる気が起こらないので先に更新しちゃいます。


加速度センサーにも色々ありますが

とりあえず、入手しやすい3軸加速度センサーをふたつ、今日は紹介したいと思います。


まずはこちら
加速度センサーです。アナログのみの出力となります。電源は2.7~5.5Vで一応の動作確認がされているようです。

これは秋月電子通商で販売されている3軸加速度センサーモジュールです。

型番はKXM52-1050だったかな。


これは3方向の加速度をそれぞれ、アナログで出力するというものです。

-2Gから+2Gまで測定ができ、信号の設定で-1Gから+3Gに変更もできるようです。


お次はこちら。
これも加速度センサーです。出力形式がいっぱいです。電源電圧は上と同様ですが、通信を使う際は、通信対象と電圧を同じにしないと回路が非常にめんどくさくなります。

これも秋月電子通商で販売されています。 KXP84-2050という型番の3軸加速度センサーです。

これは上のものと何が違うかというと、出力形式が違います。

上のものは出力はアナログだけでしたが、

こちらのはアナログのほかに、SPIとI2Cという通信規格を採用しています。

まぁボーレートが違うのでNXTとのI2C通信はできませんが。

只、I2Cが使えるということもあり、マイコンを使う際には非常に便利なセンサーとなっています。

しかし、出力範囲は-2Gから+2Gまでの固定だったかと思います。あと日本語の説明書が一切ないです。


ちなみに値段はどちらとも1000円です。



そうそう。最近気がついたのですが、加速度センサーというものは自分でわかっていても、

結構速度センサーと間違えられることが多いみたいです。

まぁ一瞬の思い込み?みたいなやつでしょうか。

加速度センサーはあくまでも加速度、速度の違いを検地するものなので

静止時と等速移動時の値は同じですよね。


それと大きな特徴として、値が大きいほどその値が出力される時間が少なくなり、

値が小さいとその値が出力される時間が長くなります。


これは加速度が大きいほうが速度が安定するのにかかる時間が少ないからですね。

まぁ上海でリニアとかに乗ってたら、結構長い時間値振り切れてそうですけど。


一般的にそーゆー特徴があるので出力値を検知する側としてはちょっと厄介ですね。

特にレスキューロボットの場合、急停止、急発進が多くあるのでかなり難しい気もします。


やっぱりいいセンサーを使うとなるとこちら側もそれなりの力がいるよー。ってことなのでしょうね。

まぁうちののんびり屋さんにのせようとしたら簡単なんでしょうけど(笑)

それではまた

(^・ω・)ノRadiumProduction in RoboCupJunior

まず最初に。 このブログをご覧になる際は酔い止めを飲んでからにしてください。

「普通に読むと酔う!」との苦情がきました。


だからといって色彩を変えるとかそういう対策はする気全くないです。

だってめんどく(ry



今日は杉並科学館での合同練習会に逝ってきました。

まぁ行くといっても競技者側ではなく講師側ですが(笑)


でも。競技者としてでたら、僕じゃまず勝てないでしょうねー(笑)


杉並の子たち、実力があるからねぇ。。どうしたものか。。。


でも僕がみて「勝てない!」って思った理由はそこじゃないんです。(イヤ、それもありますが)


なんだか知らないんですが、皆さんロボットの動きが


速い!

話によると50%程の出力で走っていたロボットが、こっちの全力(100%)の倍ぐらい速いという事態に。

同じハード使って同じ電池使ってどうしてこんなに違うwww

キャタの径も同じなのになぜなんでしょうね。電池の残量もこっちはMAXのはずなのに・・・

プログラムとかロボットとかの作成以前に、こんな差がでてしまうと作る気が全くでなくなりますねー

やっぱり杉並の強さは伊達じゃないということでしょうか。


っていうかマジで気になるんだけど!なんで!?


そもそもモーターの回転音が全然違った気が・・・謎は深まるばかりです。



(^・ω・)ノRadiumProduction in RoboCupJunior



追記:うちに帰ってロボットを動かしてみたらなんとRCXと同速という事態に。
ここでまさかの高専のモーターor電池に問題説が浮上しました。
・・・もしかして俺が遅いだけ?
今日は前回の続きで坂センサーの話題です。

今回は予告通り加速度センサーについてです。

でもこれも記事を書いてて、何回かに分けようかな・・・と考え始めました。

というのも今回僕が紹介しようと思っている加速度センサーは全部で3つもあるからです。

最近、「記事を短くして省エネ(?)運動」を行っているので、

ひとつの記事を短くしようと頑張っています。なので記事を分けると言う結論に。。。


長い前書きは置いておいて、タイトルにもありますように、今日はLEGO加速度センサーについてです。

この加速度センサーhitechnic社が発売している正規のLEGO3次元加速度センサーです。

写真を見ればわかるように、


(外見的な意味で)他のNXTセンサーとの違いが全くワカリマセン(汗)

hitechnicセンサーは全部こんな感じなのですが、とりあえず、

みただけじゃなんのセンサーかわからないようにするという陰湿なデザインはやめて欲しいです


因みに裏にはちゃんと「あくせるせんさー」と記載されています。


中学の頃に初めてこれを見た人は、「アクセルって加速のことだったんだー!」ってなるのが通例なようです。




そんな加速度センサーですが、じゃあどうやって使うの?というと、

hitechnic社のサイトに使い方。ありましたね。


因みに他のhitechnicのセンサーの使い方もありましたよ。

まぁ一応英語ですが、サンプルプログラムがあるので、この際言語なんて関係ないですね。

僕はNXCという言語を使用しているので、NXCでの使用方法を・・・と。

とりあえず関数は見つけました。が・・・

bool ReadSensorHTAccel(const byte port,int & x,int & y,int & z )

あれ?

これ勝手に3つともの値きちゃうんですか?

ポートの指定と、値を押し込む変数のアドレスしか宣言されていません。


どうにもこの関数だと3方向とも全部勝手に値が返ってきちゃうみたいですね。


これ。使えませんね(泣)

なんで使えないかというと、僕は使用用途的にも、3方向もの加速度のデータなんて要らないんです。

多くても2つかな。3方向同時になんて読むことは多分無いと思います。

なのにわざわざめっさ時間のかかるI2C通信を3方向分行なうだなんて・・・


ちょっと3回もやると時間かかりすぎて他の動きに支障でそうですね・・・


しょうがない。入試休みにでも加速度センサー用の関数でも作りますか。

とはいえ、市販の加速度センサーを使えばあっという間に解決ですが(笑)


と云うわけで次は汎用の加速度センサーを紹介します。きっと。←

過去に紹介したLEGOセンサー↓
・NXTライトセンサー
・NXT3次元加速度センサー
・NXTタッチセンサー
・NXT超音波センサー
・RCXタッチセンサー
・NXT音センサー
・RCXライトセンサー
・バーニアNXTセンサアダプタV46

・RCX温度センサー
・NXT EOPDセンサー
・NXT IRLink

・NXT IRSeekerV2
・RCX角度センサー

・NXT角度センサー
・NXTコンパスセンサー
NXT磁気センサー
・NXTジャイロセンサー
NXT慣性センサー
・NXT RFIDセンサー

(^・ω・)ノRadiumProduction in RoboCupJunior

追記:なんか自作関数はあっという間にできちゃいました(笑)
今日は有り得ないぐらい眠いです。レポ徹が原因でしょうか。


今日は以前の続きでチルトセンサーと水銀スイッチのハナシでもしましょうか。

これがチルトセンサー。




これが水銀スイッチです。


これは両方とも傾斜センサーとして販売されています。


内部構造はどちらも同じで、中に菅が入っていて、その中に導体がはいっています。

菅の端子側の端には2つの電極があってセンサーを平行にした場合導体は端子に触れていないけど、

端子側が下になるように傾けると管内の導体が移動して2つの電極に触れて、

それによって電気を流すセンサーです。


つまり角度によってON/OFFが変わるスイッチのようなものです。

これを利用することによって坂を検知することができる訳です。


因みに中には、水銀スイッチは名前どおり無機水銀がはいっており、

チルトセンサーは固体の金属球がはいっています。



まぁこんな感じかな。

加速度センサーについては今度お話します。


(^・ω・)ノRadiumProduction in RoboCupJunior

NXTの充電池が新しくなったようです。


左が旧型、右が新型です。

真っ白になってますね。ちょっとかっこいい?

また、それに伴い、充電機も従来のAC-ACからAC-DCになったようです。


つまり充電器と充電池の新旧の混同使用はできないようです。

しかし、NXT側は従来のものでもこれに対応していいるんだとか。


発熱問題は解決されたのでしょうか。。。ちょっと様子を見て買ってみようかな。


(^・ω・)ノRadiumProduction in RoboCupJunior
学校きてからも、うちに帰ってからも、いっつも寝てる気がします。


昨日(一昨日?)かな?今年はいってから5回目のロボットの作成を行いました。


結果としてとてものんびりしたロボットができましたね。

まぁ東京関東で速度勝負になる!ってことはないような気がするのでこれでいこうかな。。。

JAPAN?いけたときに考えればいいのさ♪って今はそんな感じですね。

そんな今日はセンサーの話。


以前。レスキュー競技に有効なセンサーのハナシなどといっておいて、

長々と書いて結局ライトセンサーについてしか話さないという大惨事をやらかしたかと思うんですが、

その続きでも・・・と。


ライントレース。センサーの個数のハナシはまた今度するとして、

ひとまずライトセンサーが一般的なんだなぁと云うことは理解していただけたと思います。


でもレスキューにはライントレース以外にも様々な要素があります。

ここで・・・ちょっと2010年度のレスキュー競技のルールを確認してみましょう。


ここではその特別な要素については1.Arenaで書かれており、

基本的には3.5.Scoringによって課題として点数化されています。

そのArena項目によると・・・


まず、フィールドについての説明があって、次にフロアの説明、そんでラインについて書かれていますね。


まずここまでで、1.1に 

Modules on different levels are connected by a sloping hallway or ramp. A ramp will not exceed an incline of 25 degrees from the horizontal, and must have walls at least 10 cm high

とあります。

まぁ要訳すると、

フィールドには坂があるよ。その坂は傾斜角25度以内で高さ10cmの壁がつくよ。といってますね。

あと1.6では「坂にはラインが無いかもしれない」と書かれていますね。

つまり坂からはライントレース以外の方法で先に進め。ということですね。



ってことは、坂以降ではライントレースプログラムは機能しない、

変わりに何か別のプログラムを走らせなければいけない。ということになりますね。

そうなると、プログラムの切り替え方法をどうするか。そこが問題になるわけです。

「こんだけ走ったからそろそろ坂だろ」なんてタイマーでテキトーに坂プログラムに入るわけにもいかないので

「なにか」で坂を検知してプログラムを切り替えることが必要ですね。


そこで、その「なにか」、つまり坂を検知するセンサーが必要になってくるわけです。

んじゃどんなセンサーなら坂を検知できるのか。と云う話が次に待っています。

今、巷で流行っている坂センサーと言うと・・・

・タッチセンサー
・チルトセンサー
・水銀スイッチ
・加速度センサー

このあたりでしょうか。

まずタッチセンサー。これは2通りのパターンがあります。

まずはロボットの前または後ろに床と垂直にスイッチ部を付ける方法。


これで前の場合はロボットが坂の前に来たとき、

後ろの場合は坂に入ってロボットの向きが傾いた際にのみセンサーが反応します。

後者のほうは後ろタッチと呼ばれていてLEGOレスキューⅠとかいうチームが最初に採用した技術です。

当時のレスキュー競技では坂からラインがないとかいうことはなかったので、

坂の検知は必要なかったのですが、坂を上る際に通常のライントレースの方法だとずり落ちるらしく、

その対策として使用したようです。

その対策が功を奏し、2006年度の東京ノードでは優勝していましたね。

でもその元チームメンバーがいうには、「今の競技では使えない」そうです。

坂の間ずっとセンサーが反応しているわけではないので「坂が終わったこと」が検知できないんだそうです。

それで最近のセンサーは全て坂にいる間、反応し続けているものになっているようです。

よくタッチセンサーで使われる手法は前後に動く重りなどをタッチセンサーの前に乗せて

坂で傾斜に入った際に重りが後ろにいくことでタッチセンサーが押される手法でしょうか。


まぁ今日はテストも近いのでこの辺で終わりにしましょう。

チルトセンサー以降はまた今度で・・・

(^・ω・)ノRadiumProduction in RoboCupJunior
今日はこのブログの背景の画像の話でもしましょうか。

このブログの背景の画像。まぁロボットの写真なのですが。


このロボット、よく「このロボット絶対レスキューする気ないな・・・」と言われます。

2008~2010に使用した僕のロボットです。


左側に搭載されているLEDつきガトリングの力で今迄数々の被災者を救出してきました。
Radium~レスキューロボットだけどガトリング!~
因みにこのガトリングはマイクロモーター搭載で被災者発見時に回転して光ります。


このロボットはLEGO、RCXをコアにしています。RCXと言うのは以前お話ししたNXTの前世機で、

外部の入出力を3ずつ搭載し、H8マイコンをベースにしたキットです。


このロボットの特徴と言いますと、そのRCXをメインにし、サブでひとつ基板が搭載されています。

この写真ではどこにあるかが確認できませんが、実はロボットの右側、ガトリングの反対側にあります。
RCX補助基盤~見えませんorz~

このサブ基板にはPIC16F873Aが搭載されており、 

これだけで左右にある赤外線測距センサーと3ビット方位センサー、

2個の水銀センサーと緑被災者検出センサーの

合計6個のセンサーを制御し、そのデータをRCXのBポート信号に合わせてRCXのポート2に送信することで

事実上RCXの1つのポートで6つのセンサーの制御ができるようになっています。


また、此処で使用しているものは全てデジタルの信号なので、別途でアナログの信号の入力も行えます。


これはタッチセンサーとライトセンサーの重ねづけの原理と同じですね。

ここではアナログセンサーとしてライトセンサーを利用しているので


実質ポート2で読み込んでいるセンサーは7つとなります。


しかし、この仕組みは完成こそしているものの、本大会では一回も使用されることはありませんでした(笑)


何故かというと、この基板ができた年、2010年度の大会では

電源トラブルによって関東ブロックで敗退してしまっています。

それでそのままNXTに切り替えたのでこれからも使われることは無い・・・と。


まぁそんなロボットなので今も09ルール仕様のまま家に放置です。

年末に久しぶりに動かしたらちゃんとライントレースをして凄く驚いたって状態ですね。


今度これで2011ルール対応作ってみるかな(笑)


(^・ω・)ノRadiumProduction in RoboCupJunior
実はまだきちんとテンプレが完成してなくて色々変わる気がします。特にカーソルとか。


一昨日ようやくロボットができてプログラムを入れてライントレースをさせてみたら、

直角で回転時に壁が尻尾に壁に尻尾が激突して終わりました。また作り直しですね。


その後、ロボコン部の簡易のミーティングに参加して、その後また部屋に帰って絶望。


まだロボットができるのは先の話となりそうです。


そんな今日は今迄の話とは全く関係なく、NXT本体についてです。


NXTとは・・・

これですね。

本体名称はNなんたらXなんたらTなんたらの略です。


・・・スイマセン。今度調べときます。

そもそも略語かすらわからないし(汗


こんなNXTですが、RCXと同じように単3電池6本、つまり9Vで動作します。


また、充電池にすることもでき、その場合は少し本体が大きくなりますが、

電池BOXに入れたまま充電ができるので便利です。


低格は上の写真からもわかりますが、7.4Vの1400A/hのリチウムイオンポリマー電池です。

よく「リポ」って呼ばれてるアレです。ショートさせると爆発します。


この電池は空にさえしなければ継ぎ足し充電が自在に行えて、携帯電話等の小型端末によく使われますが、

とても熱に弱いです。発熱したり、温度の高いところにおいておくと寿命が減ります。

古かったり、しょぼい電池とかだと充電時に発熱するので、

充電すると寿命が縮むという意味不明な仕様がありました。最近のやつは大丈夫っぽいけど。


因みにNXTの充電池は発熱する部類に入ります。

あと充電池はセット同梱、充電器は別売りとなっております。意味不明です。


7.4Vの1400mAってNXTにはちょっと弱すぎる気もしなくも無いけど、これで動作上は問題ないです。


中に入ってるCPUはARM7というマイコンです。

このマイコン、どういうところに使われているかというと、結構凄いんですよ。

例えば、ちょっと前の携帯電話、デジタルカメラ、車のカーナビ等の周辺機器制御、

あとは最近話題(?)のルンバやみんな大好きI podシリーズ、

ゲームボーアドバンスやソフトのメインCPU、DSシリーズのサブCPUなどがそうですね。


結構身近にいるんですよ。このマイコン。

僕もこのマイコンはマンコンとして持っていて、制御して遊んだりしていますが・・・・

どう考えてもNXTには勿体無いですね。

PICやAVR、RCXに内蔵されているH8とかとは問題にならないくらい別次元にいるマイコンです。

もちろん32bitですが、動作クロックは48MHzと少々少なめですね。

まぁこれでもARMファミリーの中では最低クラスの一個上程度のシリーズなのですから驚きですね。

因みにサブでAtmel AVRが使用されています。


こんなNXTは外部出力ポートが3、外部入力ポートが4存在します。

ここから各種センサー、モーターを接続するわけですが、

そのポートのケーブルはRCXの3倍の6芯となっています。


これは、入力の場合はアナログ用電源、アナログ入力、回路電源、GND、入力信号A、入力信号Bの6本、

出力の場合はPWM1、PWM2、エンコーダー電源、GND、入力信号A、入力信号Bの6本となっています。


入力のアナログ用電源、アナログ入力はRCXのセンサーポートの2芯の中身と同じです。

RCX変換ケーブルはこの2本のみを使用しています。

回路電源、GND、は電源とGNDが必要センサー用のものです。回路電源は4.3~4.8V程が出力されます。

入力信号A、入力信号Bはセンサーとの通信用の信号となります。

ここではI2C、RS485という通信規格をサポートしています。でもRS485って要するにD-sub25ですよね。

一体実装してどうするつもりなのでしょう。


I2Cというのは・・・説明するまでも無いとは思いますが、フィリップス社が提唱したシリアル通信方式で

「Inter-Integrated Circuit」の略語です。

この方式は・・・仕組みについての説明を実際にしても難しい言葉の羅列になるので簡単に。

いつも僕が小学生に説明している方法で説明すると、



まず通信線(2本で1セット)があって、

それでデータで受け取る側(NXT)と、データを送る側(センサー)が繋がれています。

そしてこの状態でセンサーはNXTにデータを送っているのですが、

センサー側は同じ線に複数台あっても大丈夫なようになっています。

どのようになっているかというと、

例えばNXTのポート1にI2C対応の超音波センサー、コンパスセンサー、加速度センサーが繫がれた場合、

まずNXTはどのセンサーのデータが欲しいかというデータを全てのセンサーに送ります。

その後、センサー側は「データが欲しい」といわれたセンサーのみが返事をします。

そして、NXTが「データを送るときの設定(加速度センサーであればどの方向の加速度か、等)」を送り、

それをセンサーは受けとり、さっき返事をしたセンサーのみがデータをNXTに送る。


という風になっており、同時に複数のセンサーのデータを送るのではなく、

繫がれた中でNXT側が指定したセンサーのみがデータを送る。というものです。

因みにこれで1ポートにつき112個までのセンサーが接続できます。

これが4ポートあるので4×112で448個、

これにそれぞれのポートにアナログが4つなので4足して、

結果NXTは452個のセンサーが制御できることになります。


また、実際はマルチマスタといって受け取る側のNXTが複数台いても成り立つのですが、NXTのI2C機能は

本物ではなく、ソフトウェアで作られた擬似的なものなのでNXTでできるかはワカリマセン(笑)。


モーターの方はと云うと2本のPWMというのはモーターに送る制御信号で、

エンコーダー電源、GNDは内部の回転センサーの電源です。

入力信号A、入力信号Bというのは回転センサーのデータの入力信号で、これもPWM波形です。

この部分だけ切り取ってセンサーに使っちゃえ!などと考える人もいたかと思いますが(ここにいた)、

残念ながらアナログ信号ではないので、非常にめんどいことになります。まだI2Cの方が楽か・・・。


また、これらの入出力の端子はRJ12という電話線の端子を使用しています。


あとPCとの通信手段としてUSB2.0、他デバイスとの通信用にBluetoothが内蔵されています。


まだまだかけることいっぱいありますが永くなるのでこの辺で今日はお開きです。

書く気になったら続き書きます(笑)

(^・ω・)ノRadiumProduction  in RoboCupJunior
作る気があるんだか無いんだか。


正月に入ってから、ロボット本体を4回程作っては壊すの繰り返しです。

全く形を固定する気が見られません。本当にあと2ヶ月で間に合うんでしょうか。


今日はセンサーの話です。


といっても難しいセンサーの話は一切しないつもりです。


難しい話をしようとすると、NXTのI2C規格は実はソフトウェア上で作ってる擬似的なもので、

実際のI2Cではできないような通信も可能なので・・・なんていう辺りから始めかねないからです。



まずロボカップジュニアレスキューにおいてどんなセンサーが有効なのかという話ですね。


このレスキューという競技では、現時点ではライトセンサーというもので

ラインをトレースするのが主流となっているようです。(Bは違うけどね!)


これがライトセンサーというものですが、


ふたつ穴のようなものがありますね。

この穴。片方はLEDというランプのように赤く発光する素子がはいっていて、

繋いでNXTの電源を入れると恐らくひか・・・らないかも。(汗


Viewとかで確認したり、プログラムを実行するとちゃんと光ると思います。


これ、なんで光ってるかというと、ライトセンサーというものは名前の通り、ライト。つまり光。

もっというと光の反射量を測っているセンサーなんです。

床に一定量の光を当てて、床に反射して返ってきた光の量を読んでいるものです。

光というものは白に近い方が多くの量、黒に近いほうが少ない量反射するのでその特性を利用して

ラインの黒と床の白を区別しているのです。


つまりふたつの穴のうちのもうひとつはこの反射してきた光の量を測る受光素子で、

用語としては「フォトトランジスタ」と云うものが利用されています。

僕のロボットも今年はライトセンサーを利用してロボットを作ろうと考えているのですが、

果たして幾つ使うことになるのか・・・

因みに今までは

2005:3個
2006:2個
2007:3個
2008:4個
2009:5個
2010:4個
2011:?


5個とか4個とかは黒歴史ですね。恐らく。


過去に紹介したLEGOセンサー↓
・NXTライトセンサー
・NXT3次元加速度センサー
・NXTタッチセンサー
・NXT超音波センサー
・RCXタッチセンサー
・NXT音センサー
・RCXライトセンサー
・バーニアNXTセンサアダプタV46

・RCX温度センサー
・NXT EOPDセンサー
・NXT IRLink

・NXT IRSeekerV2
・RCX角度センサー

・NXT角度センサー
・NXTコンパスセンサー
NXT磁気センサー
・NXTジャイロセンサー
NXT慣性センサー
・NXT RFIDセンサー

(^・ω・)ノRadiumProduction  in RoboCup Junior
カレンダー
08 2024/09 10
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...