RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
新入部員が2人増えて現在10人。まぁこれで確定でしょう。
とりあえずこれでようやく新入部員の指導も織り込んだ形での部活のスケジュールが考えられそうです。
今年も結局ノード大会がどうなるのかが分からないし・・・困ったものですね。
まぁ例年通り早い方基準で考えましょうか。その方が後々楽ですし。
という訳で11月の半ばに大会があることを想定して作業を進めよう!ということになりました。
でもロボコンの大会って10月なんですよね。大会が終わって・・・1ヶ月!?
今年も今年なりに鬼畜なスケジュールですね・・・1ヶ月っておいおい・・・。
ま。1ヶ月だろうと半年だろうと勝つときは勝つ。負けるときは負ける。というものなので、
そこらへんは考えても仕方がないことなのですけどね。
ここ数年、というより高専に入ってからは負けてばっかりだけど・・・。
まぁそれでも今年は部員もたくさん。チーム戦にもなった訳ですし、
今までと違う、新しい戦い方ができて面白いんじゃないかな。
まぁ色々考えた結果ですが、
とりあえず今年の目標は全国大会出場というペースでいこう。というより、それが限界なような・・・
まぁまだチームや参加競技も決まってないし、上級生がほとんどいない今のロボカップじゃ
ここから半年で1年生を教えきるのは無理ですから・・・ロボコンもあって活動できないし・・・
という訳でこの目標値にセットしたわけです。いきなり世界大会!なんて大きなものを出しても実感・・・
というよりどこまでやればそのレベルにまで到達できるのかという見通しが本人たちの中で立たないから
世界大会なんてものはとても目標にはできませんね。
まぁ僕自身が既に2年以上ジャパンオープンには行っていませんが・・・(やっぱ実力の問題?)
なのでやっぱりこれくらいが妥当かなぁ。という結論です。
一時期は黄金時代とも呼ばれていましたが、関東全滅の現状を見る限り、
もう産技高専のロボカップ部は遠征なんて行けるようなレベルにありませんからね。
ここらでちょっと目標を下げておかないと・・・。
といった次第です。まぁ今度の会議でどのようになるかで方針が決まるとは思いますが。
因みに、その会議は試験明けの6月の13日に予定されました。
部員の人はきっと後でメールが逝くのでその時に詳細をチェックしてください。
という訳で今日は以上です。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.s:あ。目標ってのはロボカップ1年目の1年生の目標ですよー。
とりあえずこれでようやく新入部員の指導も織り込んだ形での部活のスケジュールが考えられそうです。
今年も結局ノード大会がどうなるのかが分からないし・・・困ったものですね。
まぁ例年通り早い方基準で考えましょうか。その方が後々楽ですし。
という訳で11月の半ばに大会があることを想定して作業を進めよう!ということになりました。
でもロボコンの大会って10月なんですよね。大会が終わって・・・1ヶ月!?
今年も今年なりに鬼畜なスケジュールですね・・・1ヶ月っておいおい・・・。
ま。1ヶ月だろうと半年だろうと勝つときは勝つ。負けるときは負ける。というものなので、
そこらへんは考えても仕方がないことなのですけどね。
ここ数年、というより高専に入ってからは負けてばっかりだけど・・・。
まぁそれでも今年は部員もたくさん。チーム戦にもなった訳ですし、
今までと違う、新しい戦い方ができて面白いんじゃないかな。
まぁ色々考えた結果ですが、
とりあえず今年の目標は全国大会出場というペースでいこう。というより、それが限界なような・・・
まぁまだチームや参加競技も決まってないし、上級生がほとんどいない今のロボカップじゃ
ここから半年で1年生を教えきるのは無理ですから・・・ロボコンもあって活動できないし・・・
という訳でこの目標値にセットしたわけです。いきなり世界大会!なんて大きなものを出しても実感・・・
というよりどこまでやればそのレベルにまで到達できるのかという見通しが本人たちの中で立たないから
世界大会なんてものはとても目標にはできませんね。
まぁ僕自身が既に2年以上ジャパンオープンには行っていませんが・・・(やっぱ実力の問題?)
なのでやっぱりこれくらいが妥当かなぁ。という結論です。
一時期は黄金時代とも呼ばれていましたが、関東全滅の現状を見る限り、
もう産技高専のロボカップ部は遠征なんて行けるようなレベルにありませんからね。
ここらでちょっと目標を下げておかないと・・・。
といった次第です。まぁ今度の会議でどのようになるかで方針が決まるとは思いますが。
因みに、その会議は試験明けの6月の13日に予定されました。
部員の人はきっと後でメールが逝くのでその時に詳細をチェックしてください。
という訳で今日は以上です。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.s:あ。目標ってのはロボカップ1年目の1年生の目標ですよー。
やっぱりアセンブラだ・・・(汗)
Cだったら
int x[10];
で定義できる筈の配列が大変なことに・・・
初期値の入力はCと同じようにできるのですが、
まず配列そのものの定義を
x byte[]
でやって、
そのあと要素の数を
arrinit x, 0, 9
で定義しないといけないみたいです。
しかも、配列とは変数とは違ってCのように普通に呼び出せないようになっていて、
Cでいう
i=x[0];
や
x[0]=i;
なんていう風な書き方できないみたいです。
それと同じようなことをしようと思ったら、
どうにも配列専用の命令を使わないといけないらしく
i=x[0];
の場合は
index i, x, 0
で
x[0]=i;
の場合は
replace x, x, 0,i
としないといけないっぽいです。
これはめんどくさい・・・つまり配列でデータをやり取りするにはいちいちbuf変数に置換する必要があるわけですね。
あーぁ。やっぱASMかぁ(笑)
まだ道のりは長いです・・・
(^・ω・)ノRadiumProduction in RoboCupJunior
Cだったら
int x[10];
で定義できる筈の配列が大変なことに・・・
初期値の入力はCと同じようにできるのですが、
まず配列そのものの定義を
x byte[]
でやって、
そのあと要素の数を
arrinit x, 0, 9
で定義しないといけないみたいです。
しかも、配列とは変数とは違ってCのように普通に呼び出せないようになっていて、
Cでいう
i=x[0];
や
x[0]=i;
なんていう風な書き方できないみたいです。
それと同じようなことをしようと思ったら、
どうにも配列専用の命令を使わないといけないらしく
i=x[0];
の場合は
index i, x, 0
で
x[0]=i;
の場合は
replace x, x, 0,i
としないといけないっぽいです。
これはめんどくさい・・・つまり配列でデータをやり取りするにはいちいちbuf変数に置換する必要があるわけですね。
あーぁ。やっぱASMかぁ(笑)
まだ道のりは長いです・・・
(^・ω・)ノRadiumProduction in RoboCupJunior
The Flow Rate Sensor
そのままエキサイトにつっこんだらこうなりました。意味が分かりませんね。
まぁ普通に訳せば流量センサー?みたいな意味になるのかな?
そんなセンサーを発見してきました。
とりあえず「流量」を測定します。なんの流量かというと・・・
水蒸気(原発!?)とか空気とかもできるみたいですが、
どうやら主には水の中に沈めて川の流れなどを測定するもののようです。
まぁ川といっても海外の川は、日本の川みたいな渓流じゃなくて、飛行機が不時着できるぐらいの大きなものですけど。
恐らく日本の川みたいなのは・・・無理なんじゃないかと勝手に推測します。
環境や地球科学の研究のためセンサーだそうなので、
これも使用用途的には、若干小学校の理科の実験を思い出させる物がありますね。
でもお値段はというと$176
なんかバーニアのセンサーって値段がおかしい気がするのは僕だけでしょうか?
やっぱりそれだけ精度がいいのかなぁ。それとも秋葉価格に慣れた自分がおかしいのか?
答えは闇の中ですね。きっと永遠に(笑)
という訳でまたロボカップジュニアでは使えそうもないセンサーの紹介でした。
風とか読めたら面白そうだなぁ。
(^・ω・)ノRadiumProduction in RoboCupJunior
そのままエキサイトにつっこんだらこうなりました。意味が分かりませんね。
まぁ普通に訳せば流量センサー?みたいな意味になるのかな?
そんなセンサーを発見してきました。
とりあえず「流量」を測定します。なんの流量かというと・・・
水蒸気(原発!?)とか空気とかもできるみたいですが、
どうやら主には水の中に沈めて川の流れなどを測定するもののようです。
まぁ川といっても海外の川は、日本の川みたいな渓流じゃなくて、飛行機が不時着できるぐらいの大きなものですけど。
恐らく日本の川みたいなのは・・・無理なんじゃないかと勝手に推測します。
環境や地球科学の研究のためセンサーだそうなので、
これも使用用途的には、若干小学校の理科の実験を思い出させる物がありますね。
でもお値段はというと$176
なんかバーニアのセンサーって値段がおかしい気がするのは僕だけでしょうか?
やっぱりそれだけ精度がいいのかなぁ。それとも秋葉価格に慣れた自分がおかしいのか?
答えは闇の中ですね。きっと永遠に(笑)
という訳でまたロボカップジュニアでは使えそうもないセンサーの紹介でした。
風とか読めたら面白そうだなぁ。
(^・ω・)ノRadiumProduction in RoboCupJunior
やっぱりAtomだと限界が・・・Core2Duoのノートが欲しい。
なんて考えている今日この頃です。
でも買っちゃうと僕のノーパが5台に・・・それはちょっと多すぎる(笑)
まぁ4台でもレポートやるにはこれくらいないときついですね。個人的には。
そんな感じで今日は以前に予告したようにコンパイラの話です。
とりま、コンパイラってなんでしょうって話は全壊前回したと思います。
詳しくはC言語基コンパイラ言語についての記事を参照して下さい。
といっても、全然詳しく書かれてないですけど(笑)
まぁここではとりあえず、「コンパイラ=翻訳機」である。といった感じのことは説明したと思います。
でもちょっと英語できる人だと疑問に思うのがこの点、
コンパイルは英語にするとcompile
これを日本語に直訳すると「編集する」という意味になるんです。
まぁ翻訳も編集のひとつかもしれませんが、そもそも翻訳するだけなら”とらんすれーしょん”でいいと思いませんか?
なんでわざわざコンパイルというんでしょうか。
まぁコンパイルの語源はともかく、結局コンパイラって、翻訳の為のものではあるけど、
「翻訳だけ」している訳じゃないんです。寧ろこっちの方が翻訳より大事かも知れないですね。
そのコンパイラが担当しているもうひとつの役目とは何か。という話ですが、その前に。
皆さん。プログラムって完璧に書けますか?
100%ミスなしでプログラム、作れます?
まぁ簡単なプログラムならできるでしょうけど、
複雑なプログラムなら大体1個や2個は気が付かない打ちミスとかがでてきます。
そのミスをそのまま放置して、機械語に翻訳させて、
ロボットに送ってその間違ったプログラム、実行させたらどうなると思います?
どうなるんでしょうね(笑)
静かにお亡くなりになるかも知れないし、いきなりロボットは真赤に輝きだすかもしれない。
頭のいいLEGOだったらFileErrorで済むかもしれませんけど・・・。ちょっと怖いですよね。
だからみんなちゃんと、プログラムは確認してからロボットに送りますが、それでも確認しているのも人間なので
やっぱり抜けが出ますよね。
でも、こういった打ちミス等の構文的なミスをした際に、
PC側でロボットに送られる前にそれがチェックできたら便利だと思いません?
そう思った先人達はそういった機能、即ちエラー発見機能を作ってしまいました。
それでそれをコンパイラに搭載してしまいました。つまり、翻訳の時に間違いがあったら
「ここおかしいぞ」と教えてくれるようなものを作ってしまったのです。
これによってコンパイラの機能は「翻訳」だけではなく、「エラー検出」も加わることになり、
文字通りプログラムの編集者として世に送り出されることになったのです。(ということらしいです)
因みに現実の翻訳家は明らかに文法とかがおかしかったりしても、
大体翻訳家の方で勝手に脳内修正して翻訳するらしいのでまだ翻訳作業に関しては現実の方が上ですね。
あ。エラーの検知といっても、明らかにやりたいことと違うプログラムを書いたり、括弧がなかったりしても
文法的にさえあっていれば、コンパイルは大体通っちゃうので
コンパイルが通ったからと言って実際に動かしたいように動くかというと、それはまた別の話だったりします。
これは現実の翻訳家でも同じですね。「これ明らかにおかしいだろー」って文章があっても、
とりあえず原文を尊重して原文のまま訳すのが翻訳家の仕事ですから。
まぁ最近は原文の著者に確認を取るケースも増えてきているらしいですが・・・
という訳でこの「翻訳」と「エラー検知」がコンパイラの2つの大きな役割です。という記事でした。
なのでコンパイルが正しく行われないと、プログラムを実行したり、ロボットに送ったり、ができないようになっています。
つまり、プログラムをロボットに送る前には必ず「コンパイル」という手順を踏まないといけません。
それを踏まないままプログラムを送信したり、実行しても、送ったプログラムは実行されません。
その場合は何も実行されないor最後にコンパイルして送信したプログラムが実行されるような仕様になっています。
因みにROBOLABやNTX-GとかNQC、NXC、NBCの場合はプログラムの送信ボタンを押すと、
勝手にコンパイル+送信を一気にやってくれていたりします。
(^・ω・)ノRadiumProduction in RoboCupJunior
なんて考えている今日この頃です。
でも買っちゃうと僕のノーパが5台に・・・それはちょっと多すぎる(笑)
まぁ4台でもレポートやるにはこれくらいないときついですね。個人的には。
そんな感じで今日は以前に予告したようにコンパイラの話です。
とりま、コンパイラってなんでしょうって話は全壊前回したと思います。
詳しくはC言語基コンパイラ言語についての記事を参照して下さい。
といっても、全然詳しく書かれてないですけど(笑)
まぁここではとりあえず、「コンパイラ=翻訳機」である。といった感じのことは説明したと思います。
でもちょっと英語できる人だと疑問に思うのがこの点、
コンパイルは英語にするとcompile
これを日本語に直訳すると「編集する」という意味になるんです。
まぁ翻訳も編集のひとつかもしれませんが、そもそも翻訳するだけなら”とらんすれーしょん”でいいと思いませんか?
なんでわざわざコンパイルというんでしょうか。
まぁコンパイルの語源はともかく、結局コンパイラって、翻訳の為のものではあるけど、
「翻訳だけ」している訳じゃないんです。寧ろこっちの方が翻訳より大事かも知れないですね。
そのコンパイラが担当しているもうひとつの役目とは何か。という話ですが、その前に。
皆さん。プログラムって完璧に書けますか?
100%ミスなしでプログラム、作れます?
まぁ簡単なプログラムならできるでしょうけど、
複雑なプログラムなら大体1個や2個は気が付かない打ちミスとかがでてきます。
そのミスをそのまま放置して、機械語に翻訳させて、
ロボットに送ってその間違ったプログラム、実行させたらどうなると思います?
どうなるんでしょうね(笑)
静かにお亡くなりになるかも知れないし、いきなりロボットは真赤に輝きだすかもしれない。
頭のいいLEGOだったらFileErrorで済むかもしれませんけど・・・。ちょっと怖いですよね。
だからみんなちゃんと、プログラムは確認してからロボットに送りますが、それでも確認しているのも人間なので
やっぱり抜けが出ますよね。
でも、こういった打ちミス等の構文的なミスをした際に、
PC側でロボットに送られる前にそれがチェックできたら便利だと思いません?
そう思った先人達はそういった機能、即ちエラー発見機能を作ってしまいました。
それでそれをコンパイラに搭載してしまいました。つまり、翻訳の時に間違いがあったら
「ここおかしいぞ」と教えてくれるようなものを作ってしまったのです。
これによってコンパイラの機能は「翻訳」だけではなく、「エラー検出」も加わることになり、
文字通りプログラムの編集者として世に送り出されることになったのです。(ということらしいです)
因みに現実の翻訳家は明らかに文法とかがおかしかったりしても、
大体翻訳家の方で勝手に脳内修正して翻訳するらしいのでまだ翻訳作業に関しては現実の方が上ですね。
あ。エラーの検知といっても、明らかにやりたいことと違うプログラムを書いたり、括弧がなかったりしても
文法的にさえあっていれば、コンパイルは大体通っちゃうので
コンパイルが通ったからと言って実際に動かしたいように動くかというと、それはまた別の話だったりします。
これは現実の翻訳家でも同じですね。「これ明らかにおかしいだろー」って文章があっても、
とりあえず原文を尊重して原文のまま訳すのが翻訳家の仕事ですから。
まぁ最近は原文の著者に確認を取るケースも増えてきているらしいですが・・・
という訳でこの「翻訳」と「エラー検知」がコンパイラの2つの大きな役割です。という記事でした。
なのでコンパイルが正しく行われないと、プログラムを実行したり、ロボットに送ったり、ができないようになっています。
つまり、プログラムをロボットに送る前には必ず「コンパイル」という手順を踏まないといけません。
それを踏まないままプログラムを送信したり、実行しても、送ったプログラムは実行されません。
その場合は何も実行されないor最後にコンパイルして送信したプログラムが実行されるような仕様になっています。
因みにROBOLABやNTX-GとかNQC、NXC、NBCの場合はプログラムの送信ボタンを押すと、
勝手にコンパイル+送信を一気にやってくれていたりします。
(^・ω・)ノRadiumProduction in RoboCupJunior
今、NBC内で「Cでいう配列」を探すという作業に明け暮れています。
あるっぽいんだけど・・・使い方が微妙に謎。
Cと同じでいいのかなぁ。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.S頭逝った状態で適当な記事を投稿した訳です、が「今、明け暮れている」って日本語的にどうなんだろう。
因みにまだ使い方わかりませーん。
あるっぽいんだけど・・・使い方が微妙に謎。
Cと同じでいいのかなぁ。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.S頭逝った状態で適当な記事を投稿した訳です、が「今、明け暮れている」って日本語的にどうなんだろう。
因みにまだ使い方わかりませーん。
最近はマイコンサボってNXTで遊ぶようになりました。(若干PICに飽きたというところもあるのですが・・・)
という訳で今日はNBCで遊んでみました。
まずは単純にライントレースを・・・
と思ったら、意外とめんどくさい・・・
まだほとんどなんもやってないのでわからないんですが、さら見した感じだと、
C言語でいうif文的なにかは無論ないっぽいんですね。NBCならあると思ったのに・・・
あるのはジャンプと条件ジャンプだけ。うーん。やっぱりCとは違うんだなぁ。ASM寄りなのは間違いないですね。
という訳でプログラムもROBOLABやNXCとは全然違う考え方で作らないといけません。だって分岐もループもないし・・・
あれですね。ROBOLABでいうと、イベントとジャンプの羅列みたいなプログラムになりますね。
ASMやった時も大分死にましたが、今回もすごくそんな感じの臭いがします。
でも僕が何で、NBCを使うようになったかというと、非常に大きい理由はこれです。
「プログラムの処理速度がNXCと比べて格段に早い」
同じBricxCCなのに・・・こっちのほうが10倍以上はやいです。センサーの読み込みも3倍以上早いですし・・・
まぁ元々NXCはそこまで処理の早い言語形態ではないですから・・・仕方ないですけど。
という訳で今後もしばらくはNBCを続けていこうと考えています。
でも、どうやらNBCもI2Cのラインはできないっぽいので結局RobotCを使うことになるのかもなぁ・・・
RobotCの処理速度が馬鹿みたいに遅くない限りはRobotCを使うことになると思います。
うーん。手を出す言語が多すぎるのも困りものだなぁ・・・
(^・ω・)ノRadiumProduction in RoboCupJunior
という訳で今日はNBCで遊んでみました。
まずは単純にライントレースを・・・
と思ったら、意外とめんどくさい・・・
まだほとんどなんもやってないのでわからないんですが、さら見した感じだと、
C言語でいうif文的なにかは無論ないっぽいんですね。NBCならあると思ったのに・・・
あるのはジャンプと条件ジャンプだけ。うーん。やっぱりCとは違うんだなぁ。ASM寄りなのは間違いないですね。
という訳でプログラムもROBOLABやNXCとは全然違う考え方で作らないといけません。だって分岐もループもないし・・・
あれですね。ROBOLABでいうと、イベントとジャンプの羅列みたいなプログラムになりますね。
ASMやった時も大分死にましたが、今回もすごくそんな感じの臭いがします。
でも僕が何で、NBCを使うようになったかというと、非常に大きい理由はこれです。
「プログラムの処理速度がNXCと比べて格段に早い」
同じBricxCCなのに・・・こっちのほうが10倍以上はやいです。センサーの読み込みも3倍以上早いですし・・・
まぁ元々NXCはそこまで処理の早い言語形態ではないですから・・・仕方ないですけど。
という訳で今後もしばらくはNBCを続けていこうと考えています。
でも、どうやらNBCもI2Cのラインはできないっぽいので結局RobotCを使うことになるのかもなぁ・・・
RobotCの処理速度が馬鹿みたいに遅くない限りはRobotCを使うことになると思います。
うーん。手を出す言語が多すぎるのも困りものだなぁ・・・
(^・ω・)ノRadiumProduction in RoboCupJunior
今日もひとり部員が増えてくれました。
他にも見学に一人来てくれて、明日の見学希望 もひとり出てくれています。
なんか某航空会社が仕事をしないせいで、殆ど4組になっているのが気になりますが。
まぁ何組であろうと、そんなことは問題にはなりませんから、大丈夫でしょう。
とりあえず部員の目標数には達しそうです。なんとか、といったところでしょう。
まぁ』これで部員の問題は解決。
次に浮上してくる問題は、活動場所、PC、ロボット、金、指導時間
・・・山盛りだ・・・。活動所はなんとかするとして、(部室は狭くて全員はいらないので・・・)
PCとロボット、これはまず何台必要なのかを明確にしないと詰みますね。とりあえず部員募集を締め切ってからで・・・
金、上に同じく。PICをはじめたい子がいるらしいので、それに必要な物品を買わないと。という訳です。
でも部費ってまだあるのかなぁ。
そして最後の問題が1年生の指導ですね。
とりあえず来週から1年生は試験2週間前で部活ができないので、実際の講座は、中間後になるのですが、
さて、なにをやるか。とりあえずLEGO組は最初1~2週間程度はROBOLABでプログラムの基礎を勉強させ、
そっからNXCかNQCかなぁ・・・という感じになるのですが、
さて、RCXとNXTどっちにしよう・・・。
数的にRCXになりそうな雰囲気がありますが、2人1組ならNXTでも・・・できるのかな?
PICの子は一人しかいないからてきとーにさっさーと教えれば何とかなりそうな感が(笑)
といった感じのことを今日話していました。が、結果は出ず(笑)
という訳でその辺りのこともしっかりしないと・・・。
まぁROBOLABなら教えられる子が1年生にも何人かいるので、そっちに任せちゃおうかな・・・
こんなに新入部員がきたのは前例がない(筈)なので大変ですが頑張っていこう。うん。
という訳でこれにて。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.s結局部長になりまった。
他にも見学に一人来てくれて、明日の見学希望 もひとり出てくれています。
なんか某航空会社が仕事をしないせいで、殆ど4組になっているのが気になりますが。
まぁ何組であろうと、そんなことは問題にはなりませんから、大丈夫でしょう。
とりあえず部員の目標数には達しそうです。なんとか、といったところでしょう。
まぁ』これで部員の問題は解決。
次に浮上してくる問題は、活動場所、PC、ロボット、金、指導時間
・・・山盛りだ・・・。活動所はなんとかするとして、(部室は狭くて全員はいらないので・・・)
PCとロボット、これはまず何台必要なのかを明確にしないと詰みますね。とりあえず部員募集を締め切ってからで・・・
金、上に同じく。PICをはじめたい子がいるらしいので、それに必要な物品を買わないと。という訳です。
でも部費ってまだあるのかなぁ。
そして最後の問題が1年生の指導ですね。
とりあえず来週から1年生は試験2週間前で部活ができないので、実際の講座は、中間後になるのですが、
さて、なにをやるか。とりあえずLEGO組は最初1~2週間程度はROBOLABでプログラムの基礎を勉強させ、
そっからNXCかNQCかなぁ・・・という感じになるのですが、
さて、RCXとNXTどっちにしよう・・・。
数的にRCXになりそうな雰囲気がありますが、2人1組ならNXTでも・・・できるのかな?
PICの子は一人しかいないからてきとーにさっさーと教えれば何とかなりそうな感が(笑)
といった感じのことを今日話していました。が、結果は出ず(笑)
という訳でその辺りのこともしっかりしないと・・・。
まぁROBOLABなら教えられる子が1年生にも何人かいるので、そっちに任せちゃおうかな・・・
こんなに新入部員がきたのは前例がない(筈)なので大変ですが頑張っていこう。うん。
という訳でこれにて。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.s結局部長になりまった。
なんか波が来ました。一年生のおかげですね。
自分ニートなもんで・・・(笑)
ってか本当は自分で勧誘したかったんだけど、今日の昼は忙しすぎて・・・orz
チラシ作って朝渡すのが精一杯でした><。
というわけで、新入部員が、5人、増えました。
そのうちサッカー経験者が一人。なんとトゥルースの子です。日吉だそうな。
という訳で既にいる二人も合わせてこれで7人。今までにない数ですね。
でも、まともに大会に出る体制を整えるには、まだ最低でも3人は必要で・・・
まだまだ勧誘祭りは続きます。
因みに今2人ほど入部したいという子が現れているので、その子たちを釣り上げられれば、あと一人となります。
なので勧誘はそこまで頑張んなくても大丈夫かな?まぁ多い分には・・・かまわ・・なくもないけど。
という訳で1年生の新入部員は当初の最低人数を超えて10人となりました。
10人も入部させて統率取れんのか・・・非常に不安ですが(笑)
恐らくうちの部活がこんなに新入部員が必要になることなんか今までなかったと思うんですよね。
あー全てはルール改定が・・・。
文句ばかりも言えませんが(笑)
とりあえず新入部員(ロボカップジュニア初心者)達には明日、明後日とLEGOに触れてもらおうということで
体験学習的な何かをしてみよう、というよりさせてみようと考えています。
んでもってその後LEGO組は、RCXを二人一組で借りて、初歩的なことを学ばせる講習を行い、
PIC組は・・・どこから話せばいいんだ(笑)
僕の時は何故か回路を学ぶ前にPICを最初にやって、
一番最初にやったことがサーボモーター制御という鬼畜っぷりだったので全く参考にもなりゃしない・・・
まぁ適当に回路のことから参りましょうか。まぁPICに関しては自己学習させてみようかな。
さて、ここでひとつ困ったことが。
LEGO組のロボット。プログラミングソフト何使わせようか。
最初ROBOLABを考えたんですけど、あんなの使っても仕方ないし・・・やっぱNQC?
でも教える余裕あるかな・・・2年前はそれで失敗してるし・・・
まぁちょっと考えてみます。
という訳で今日はこの辺で
(^・ω・)ノRadiumProduction in RoboCupJunior
自分ニートなもんで・・・(笑)
ってか本当は自分で勧誘したかったんだけど、今日の昼は忙しすぎて・・・orz
チラシ作って朝渡すのが精一杯でした><。
というわけで、新入部員が、5人、増えました。
そのうちサッカー経験者が一人。なんとトゥルースの子です。日吉だそうな。
という訳で既にいる二人も合わせてこれで7人。今までにない数ですね。
でも、まともに大会に出る体制を整えるには、まだ最低でも3人は必要で・・・
まだまだ勧誘祭りは続きます。
因みに今2人ほど入部したいという子が現れているので、その子たちを釣り上げられれば、あと一人となります。
なので勧誘はそこまで頑張んなくても大丈夫かな?まぁ多い分には・・・かまわ・・なくもないけど。
という訳で1年生の新入部員は当初の最低人数を超えて10人となりました。
10人も入部させて統率取れんのか・・・非常に不安ですが(笑)
恐らくうちの部活がこんなに新入部員が必要になることなんか今までなかったと思うんですよね。
あー全てはルール改定が・・・。
文句ばかりも言えませんが(笑)
とりあえず新入部員(ロボカップジュニア初心者)達には明日、明後日とLEGOに触れてもらおうということで
体験学習的な何かをしてみよう、というよりさせてみようと考えています。
んでもってその後LEGO組は、RCXを二人一組で借りて、初歩的なことを学ばせる講習を行い、
PIC組は・・・どこから話せばいいんだ(笑)
僕の時は何故か回路を学ぶ前にPICを最初にやって、
一番最初にやったことがサーボモーター制御という鬼畜っぷりだったので全く参考にもなりゃしない・・・
まぁ適当に回路のことから参りましょうか。まぁPICに関しては自己学習させてみようかな。
さて、ここでひとつ困ったことが。
LEGO組のロボット。プログラミングソフト何使わせようか。
最初ROBOLABを考えたんですけど、あんなの使っても仕方ないし・・・やっぱNQC?
でも教える余裕あるかな・・・2年前はそれで失敗してるし・・・
まぁちょっと考えてみます。
という訳で今日はこの辺で
(^・ω・)ノRadiumProduction in RoboCupJunior
今日の記事はもう紹介していそうで、まだ紹介をしたことがないNXTのコンパスセンサーについてです。
写真は今までにも何回か出していますので、(しかも他のと同じだし・・・)大丈夫かとは思いますが、
一応紹介するとこんな感じです。
・・・
見分けるときには裏を見ましょう。それだけです。
このセンサー。何ができるかといいますと、ご存じのとおり、センサーが向いている方位を知ることができます。
確か、見ているのは黒い方の方向だったような気がしますが、よく覚えていません(笑)方向に関しての記載ないし・・・
分解能は360、つまり1°ずつ読み取ることができます。設定によって2°単位にすることもできますが、
ロボカップジュニアで使う上では、わざわざ荒くする必要もないでしょう。
センサーの値を読み取りたい時は、ROBOLABの場合はプログラムを実行さえすれば画面に表示されますよね。
(実はあれのせいでプログラムの進行が異様に遅くなってたり・・・)
でも、実はそんなことしなくても、NXTのviewの
UltraSonicSensorのcmを選択して、
ポートをコンパスセンサーがついているものにすると・・・!
この通り、0から180までの値が返ってきます。
この値を2倍してやれば方位センサーの値になります。
要するにここでは分解能180、2度単位で値が返ってくるわけです。
因みになんでInchではダメかといいますと、もともと超音波センサーはcm単位で値を返していて、
それをわざわざNXTでinch換算して表示しているのです。
なのでinchの方で値を出そうとすると1inch=2.54㎝
∴でてきた値を2.54×2=5.08倍しないとコンパスの値にならないのです。
これはめんどくさい・・・
という訳で㎝を使いましょう。ということです。
あ、2.54っていう数字は回路ではよくでてくるので覚えておいて下さい(笑)
そんなコンパスセンサーですが、コンパスというものは方位磁石と同じで、地球の磁場を利用して測定されています。
まぁこれを地磁気というのですが、結局磁場を測定していうるので近くに磁場を作るものがあると、
その磁場に影響されて測定ができないんです。
磁場を作る物といえば、これは中学物理で習うように、簡単に言うと磁石と電流です。
つまりこのふたつがたくさんあると、方位センサーはバグります。
特に電磁石とかは最悪です。確実に死にます。後モーターとかも・・・
これは、これらのものに使われている「コイル」という素子が影響しているのですが、
この話をするとブログのジャンルが「電磁気」になってしまうので割愛します。
あとまずいのが床下の電気配線。専門用語で床隠蔽配線といいますが、これも痛いです。
それと、電子レンジ。ダメ、絶対。
という訳でこれらに注意して方位センサーは使ってください。
まぁ実は磁場というのは強磁性体というものを使うと、遮蔽することができなくもないので、
興味のある方は調べてみてください。今年の僕のロボットは実は遮蔽していました(笑)
でも!実はこのNXTの方位センサーには外部磁場を検知してそれに合わせて方位の値を調整するモードが存在します。
これを使えば磁場が強くても大丈夫・・・・というほどのものでもありませんが、
まぁこれをすれば幾分マシにはなるでしょう。ROBOLABの場合はデフォルトでこのモードになっているとかいないとか。
まぁそんな感じで今回の記事は終了です。
このコンパスセンサー、結構調べてはいるのですが、未だにわからないところが多いんですよね。これ本当にI2C?
超音波センサーと並んでNXTの7不思議のふたつ目ですね。あと5つどこにあるんだよ・・・あ、一個はNXT-Gか。
それではまたー。
過去に紹介した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
写真は今までにも何回か出していますので、(しかも他のと同じだし・・・)大丈夫かとは思いますが、
一応紹介するとこんな感じです。
・・・
見分けるときには裏を見ましょう。それだけです。
このセンサー。何ができるかといいますと、ご存じのとおり、センサーが向いている方位を知ることができます。
確か、見ているのは黒い方の方向だったような気がしますが、よく覚えていません(笑)方向に関しての記載ないし・・・
分解能は360、つまり1°ずつ読み取ることができます。設定によって2°単位にすることもできますが、
ロボカップジュニアで使う上では、わざわざ荒くする必要もないでしょう。
センサーの値を読み取りたい時は、ROBOLABの場合はプログラムを実行さえすれば画面に表示されますよね。
(実はあれのせいでプログラムの進行が異様に遅くなってたり・・・)
でも、実はそんなことしなくても、NXTのviewの
UltraSonicSensorのcmを選択して、
ポートをコンパスセンサーがついているものにすると・・・!
この通り、0から180までの値が返ってきます。
この値を2倍してやれば方位センサーの値になります。
要するにここでは分解能180、2度単位で値が返ってくるわけです。
因みになんでInchではダメかといいますと、もともと超音波センサーはcm単位で値を返していて、
それをわざわざNXTでinch換算して表示しているのです。
なのでinchの方で値を出そうとすると1inch=2.54㎝
∴でてきた値を2.54×2=5.08倍しないとコンパスの値にならないのです。
これはめんどくさい・・・
という訳で㎝を使いましょう。ということです。
あ、2.54っていう数字は回路ではよくでてくるので覚えておいて下さい(笑)
そんなコンパスセンサーですが、コンパスというものは方位磁石と同じで、地球の磁場を利用して測定されています。
まぁこれを地磁気というのですが、結局磁場を測定していうるので近くに磁場を作るものがあると、
その磁場に影響されて測定ができないんです。
磁場を作る物といえば、これは中学物理で習うように、簡単に言うと磁石と電流です。
つまりこのふたつがたくさんあると、方位センサーはバグります。
特に電磁石とかは最悪です。確実に死にます。後モーターとかも・・・
これは、これらのものに使われている「コイル」という素子が影響しているのですが、
この話をするとブログのジャンルが「電磁気」になってしまうので割愛します。
あとまずいのが床下の電気配線。専門用語で床隠蔽配線といいますが、これも痛いです。
それと、電子レンジ。ダメ、絶対。
という訳でこれらに注意して方位センサーは使ってください。
まぁ実は磁場というのは強磁性体というものを使うと、遮蔽することができなくもないので、
興味のある方は調べてみてください。今年の僕のロボットは実は遮蔽していました(笑)
でも!実はこのNXTの方位センサーには外部磁場を検知してそれに合わせて方位の値を調整するモードが存在します。
これを使えば磁場が強くても大丈夫・・・・というほどのものでもありませんが、
まぁこれをすれば幾分マシにはなるでしょう。ROBOLABの場合はデフォルトでこのモードになっているとかいないとか。
まぁそんな感じで今回の記事は終了です。
このコンパスセンサー、結構調べてはいるのですが、未だにわからないところが多いんですよね。これ本当にI2C?
超音波センサーと並んでNXTの7不思議のふたつ目ですね。あと5つどこにあるんだよ・・・あ、一個はNXT-Gか。
それではまたー。
過去に紹介した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
今日、とりあえずNBCに触れてみたのですが、
なんだ・・・こりゃ・・・
只、モーターAを回転させようと思っただけなのに・・・
気が付いたらこんな長いプログラムが(笑)
・・・この先が不安すぎます><。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.s:どうやら普通にOnFwd(OUT_A,100);でも動くっぽいです(笑)
なんだ・・・こりゃ・・・
#include "NXTDefs.h"
dseg segment
UF byte
pwr sbyte
OM byte OUT_MODE_MOTORON+OUT_MODE_BRAKE
RM byte OUT_REGMODE_IDLE
RS byte OUT_RUNSTATE_RUNNING
dseg ends
thread main
set UF, UF_UPDATE_MODE
setout OUT_A, OutputMode, OM, RegMode, RM, RunState, RS, UpdateFlags, UF
endless:
set pwr, 100
UpdateSpeed:
set UF, UF_UPDATE_SPEED+UF_UPDATE_MODE
setout OUT_A, Power, pwr, OutputMode, OM, UpdateFlags, UF
jmp endless
exit
endt
只、モーターAを回転させようと思っただけなのに・・・
気が付いたらこんな長いプログラムが(笑)
・・・この先が不安すぎます><。
(^・ω・)ノRadiumProduction in RoboCupJunior
P.s:どうやら普通にOnFwd(OUT_A,100);でも動くっぽいです(笑)
さてと。久しぶりのcircuit カテゴリーの記事です。今日の記事は以前予告したように、
「回路図」についてのお話となります。
まず、回路図ってなんでしょうか。
簡単に言うと名前の通り、回路の図。つまりその回路がどういう構成になっているかを表した図ということです。
まぁこれだけなんですが、
例えば機械の設計図でも、部品一つ一つの設計図と全体の組立図のふたつがあって、
それでようやくひとつの「設計図」になるのと同じように、
回路図でも、大きく分けてふたつの図があります。
そのひとつが配線図。
これはどの回路素子がどのように他と接続されているかを示した図です。
まぁ要するに配線方法を図に示したものですね。
もうひとつがパターン図。
これは実際に基盤上で素子を接続するときの図で
この図の通りにはんだ付け等をすることになります。
あ。基盤ってのはこれのことです。これの上に素子とかおいて回路造りますよー。
ところで、なんでふたつも図がいるんでしょう。
結局パターン図だけでも配線の方法がわかるんだからパターン図だけでいいじゃない。と思いませんか?
その理由は簡単です。
まずはこれ、パターン図です。
これだけ見て、すぐに何が何に繋がっていてどういう回路なのか。なんてわかります?
ちょっと難しいですよね。配線を目で追っていかないと恐らく無理でしょう。
ところがこの回路の配線図。これを見ますと・・・
スッキリ。わかりやすいですよね。
これが理由です。配線図の方が圧倒的にパターン図より見やすいので、作る回路の構成を考えるときに楽なんです。
要するに回路図を作る際は混乱しないために
とりあえず、何を何につなぐかということをこの配線図で決めて、
そのあとで実際に素子をどういう風に配置するかをパターン図で決めるんです。
まぁこれが回路図の作り方です。
それで、ここで大事なのが、パターン図の場合は実際に素子を配置するのをPC上でやるものなので、
抵抗はちゃんと実際の抵抗の形を、コンデンサはちゃんとコンデンサの形を使って配置をします。
まぁ要するに素子を上から見た形がPC上にデータそして入っていてその形を使って配線をするわけです。
でも配線図だとこれでは見にくいので、素子そのものを記号に置き換えて配線しています。
なので、配線図を作ったり、読んだりする際にはこの記号がわかってないといけません。よね?
だから回路を作る時はこの記号(回路図記号)を覚えないと大変なのです。
例えば、電池はコレ
抵抗だったらコレ
コンデンサならコレ
といった感じで決まっています。
まぁ未だに、僕も読めないものもたまにでてきたりしますけど、
普段使うものって結構限られているのですぐに覚えられますよ♪
これからの素子の紹介ではこの回路図記号も合わせて紹介するので、
その時にでも確認すれば大丈夫・・・かな?
あ。抵抗の旧記号はこんな感じ。
ギザギザで書きにくいから新しいのになったっていう噂があります(笑)
それでは今日はこの辺で。またこのカテゴリーは素子編が続きます。
(^・ω・)ノRadiumProduction in RoboCupJunior
「回路図」についてのお話となります。
まず、回路図ってなんでしょうか。
簡単に言うと名前の通り、回路の図。つまりその回路がどういう構成になっているかを表した図ということです。
まぁこれだけなんですが、
例えば機械の設計図でも、部品一つ一つの設計図と全体の組立図のふたつがあって、
それでようやくひとつの「設計図」になるのと同じように、
回路図でも、大きく分けてふたつの図があります。
そのひとつが配線図。
これはどの回路素子がどのように他と接続されているかを示した図です。
まぁ要するに配線方法を図に示したものですね。
もうひとつがパターン図。
これは実際に基盤上で素子を接続するときの図で
この図の通りにはんだ付け等をすることになります。
あ。基盤ってのはこれのことです。これの上に素子とかおいて回路造りますよー。
ところで、なんでふたつも図がいるんでしょう。
結局パターン図だけでも配線の方法がわかるんだからパターン図だけでいいじゃない。と思いませんか?
その理由は簡単です。
まずはこれ、パターン図です。
これだけ見て、すぐに何が何に繋がっていてどういう回路なのか。なんてわかります?
ちょっと難しいですよね。配線を目で追っていかないと恐らく無理でしょう。
ところがこの回路の配線図。これを見ますと・・・
スッキリ。わかりやすいですよね。
これが理由です。配線図の方が圧倒的にパターン図より見やすいので、作る回路の構成を考えるときに楽なんです。
要するに回路図を作る際は混乱しないために
とりあえず、何を何につなぐかということをこの配線図で決めて、
そのあとで実際に素子をどういう風に配置するかをパターン図で決めるんです。
まぁこれが回路図の作り方です。
それで、ここで大事なのが、パターン図の場合は実際に素子を配置するのをPC上でやるものなので、
抵抗はちゃんと実際の抵抗の形を、コンデンサはちゃんとコンデンサの形を使って配置をします。
まぁ要するに素子を上から見た形がPC上にデータそして入っていてその形を使って配線をするわけです。
でも配線図だとこれでは見にくいので、素子そのものを記号に置き換えて配線しています。
なので、配線図を作ったり、読んだりする際にはこの記号がわかってないといけません。よね?
だから回路を作る時はこの記号(回路図記号)を覚えないと大変なのです。
例えば、電池はコレ
抵抗だったらコレ
コンデンサならコレ
といった感じで決まっています。
まぁ未だに、僕も読めないものもたまにでてきたりしますけど、
普段使うものって結構限られているのですぐに覚えられますよ♪
これからの素子の紹介ではこの回路図記号も合わせて紹介するので、
その時にでも確認すれば大丈夫・・・かな?
あ。抵抗の旧記号はこんな感じ。
ギザギザで書きにくいから新しいのになったっていう噂があります(笑)
それでは今日はこの辺で。またこのカテゴリーは素子編が続きます。
(^・ω・)ノRadiumProduction in RoboCupJunior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
(07/27)
(05/29)
(03/15)
(01/01)
(05/07)
(01/11)
プロフィール
HN:
Luz
性別:
男性
アーカイブ