RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
今回の記事は電池の話の続きです。
前回の記事では、ニカド電池とニッケル水素電池について記述しました。
これらの電池は何れもひと昔前は充電池の主流でした。
しかし現在の電子機器、携帯やスマートフォンにはこれらの電池は
使われていません。
では、どんな電池が使われているのでしょうか?
その答えはリチウム電池です。
リチウム電池とは、従来の充電池とは、全く違う、新しい種類の充電池です。
何種類かありますが、ますばその具体的な特徴について紹介します。
まずは1セル辺りの電圧、普通の乾電池やニカド、ニッ水はだいたい1セル辺り1.2〜1.5vでしたよね。
それに対し、リチウムイオン電池はだいたい3.6〜3.7v、倍以上の電圧がだせることになります。
そして流せる電流量も多く、同サイズのニカドやニッ水とは桁が違う・・・訳ではありませんが、
大体1.5〜2倍くらいはいけるはずです。
そしてメモリー効果も極端に少なく、メモリー効果によって使えなくなることはそうそうないでしょう。
また、継ぎ足し充電も自在に行え便利です。
あと大きな特徴が、軽いということでしょうか。
同サイズの他電池と比べても半分以下の重量だったりもします。
まぁそういった理由から、今では二次電池は殆どリチウム系の電池が市場を占めています。
只、リチウム電池には弱点もあります。
まずは温度。
メモリー効果が殆どない代わりに電池自体の温度上昇によって出力の低下やメモリー効果のような現象が起きます。
そのくせリチウム電池自体は他の電池より発熱しやすいっていうんだからめんどくさい。
まぁこれはスマートフォンがあったかくなる一番の原因だったりしますよね。
因みにこうなると電池が膨らむので割りとわかりやすいです。
あとは完全放電すると使い物にならなくなる点でしょうか。
だから使用する際には、電池残量に注意しないといけません。
あとは・・・ショートさせると非常に危険です。最悪電池が爆発することもあります。
よく聞く某りんご社のPCの爆発は殆どこれが原因ですね。
まぁこのように、便利な反面、とても危険である電池がリチウム系の電池という訳です。
便利だけど危険・・・どっかで聞いたことがあるような・・・
この電池も危険であるということがもっと世に知られていれば、ここまで普及する前に反対運動とかで撤廃されていたかも知れませんね・・・
まぁそんなリチウム電池ですが、
実は二次電池のリチウム電池には大きく分けて三種類あります。
リチウムには一次電池もあるんですよね。
一つはリチウムイオン電池
Li ionなんて表記されていると思います。
リチウム電池の中では安全な部類で、燃えることはあっても爆発まではそうそうしないでしょう。
リチウム系の電池の最初期のものなので、型落ちしたパソコンや小型機器のバッテリーなんかに使われています。
通常電池のセルは乾電池みたく丸い形状をしているのでなかなか電池を使う機器は小型化できなかったのですが、
リチウム系の電池はセル自体が平べったいパック状になっているので、
充電池に採用することで、機器を驚異的に薄くすることができるようになったりした背景があったりなかったり。
そして次はリチウムイオンポリマー電池
Li-poなんて表記がされているはずです。
で、この電池ですが、
ヤバイです。うちの高専では爆弾と等価に扱っています。
と、いうのも・・・
あ、ショートしちゃった。
↓
どかーん
↓
昔ここにロボカップ部の部室があったんだけどね・・・。
なんていう自体になりかねないくらい危険です。
そんな危険な電池ですが、どのような所に使われているかと言いますと、
例えば、大多数のノートパソコンとか、
殆どのデジカメとか、
NXTとか(笑)
それぐらい身近な電池だったりします。
素材はリチウムイオン電池と同じですが、セル内はゲル状になっていて、高密度のポリマーになっています。
要するにリチウムイオン電池を高密度にしたものがリチウムイオンポリマー電池という訳です。
高密度なので、もちろん普通のリチウムイオン電池よりサイズ辺りの容量が大きくなります。
なので大容量かつ軽量な電池になる特徴があります。
そういった理由から様々な機器に使用されています。
そして3つ目はリチウムフェライト電池
Li-Feなんて表記されます。
フェライトですから、鉄が混ざっている電池になります。
リチウム系の電池だと一番新しい・・・というか、つい最近でてきた種類の電池です。
家電に使われているのはまだ僕は見たことないです。ラジコンバッテリーなんかだと最近増えてきましたよね。
その特徴は、自己放電が全く起きない、メモリー効果がゼロ、急速充電が可能、そして爆発しない。
これまでのリチウム系の弱点をかなりもみ消した仕様になっていますね。リポと同様の出力でこの便利さは素晴らしいですね。
只ちょっとお高いという弱点がありますが・・・。
以上がリチウム系の電池の紹介です。
因みにうちの部では大多数の充電池がリポになっています。爆弾だらけですね。
(^・ω・)ノ RadiumProduction in RoboCup Junior
前回の記事では、ニカド電池とニッケル水素電池について記述しました。
これらの電池は何れもひと昔前は充電池の主流でした。
しかし現在の電子機器、携帯やスマートフォンにはこれらの電池は
使われていません。
では、どんな電池が使われているのでしょうか?
その答えはリチウム電池です。
リチウム電池とは、従来の充電池とは、全く違う、新しい種類の充電池です。
何種類かありますが、ますばその具体的な特徴について紹介します。
まずは1セル辺りの電圧、普通の乾電池やニカド、ニッ水はだいたい1セル辺り1.2〜1.5vでしたよね。
それに対し、リチウムイオン電池はだいたい3.6〜3.7v、倍以上の電圧がだせることになります。
そして流せる電流量も多く、同サイズのニカドやニッ水とは桁が違う・・・訳ではありませんが、
大体1.5〜2倍くらいはいけるはずです。
そしてメモリー効果も極端に少なく、メモリー効果によって使えなくなることはそうそうないでしょう。
また、継ぎ足し充電も自在に行え便利です。
あと大きな特徴が、軽いということでしょうか。
同サイズの他電池と比べても半分以下の重量だったりもします。
まぁそういった理由から、今では二次電池は殆どリチウム系の電池が市場を占めています。
只、リチウム電池には弱点もあります。
まずは温度。
メモリー効果が殆どない代わりに電池自体の温度上昇によって出力の低下やメモリー効果のような現象が起きます。
そのくせリチウム電池自体は他の電池より発熱しやすいっていうんだからめんどくさい。
まぁこれはスマートフォンがあったかくなる一番の原因だったりしますよね。
因みにこうなると電池が膨らむので割りとわかりやすいです。
あとは完全放電すると使い物にならなくなる点でしょうか。
だから使用する際には、電池残量に注意しないといけません。
あとは・・・ショートさせると非常に危険です。最悪電池が爆発することもあります。
よく聞く某りんご社のPCの爆発は殆どこれが原因ですね。
まぁこのように、便利な反面、とても危険である電池がリチウム系の電池という訳です。
便利だけど危険・・・どっかで聞いたことがあるような・・・
この電池も危険であるということがもっと世に知られていれば、ここまで普及する前に反対運動とかで撤廃されていたかも知れませんね・・・
まぁそんなリチウム電池ですが、
実は二次電池のリチウム電池には大きく分けて三種類あります。
リチウムには一次電池もあるんですよね。
一つはリチウムイオン電池
Li ionなんて表記されていると思います。
リチウム電池の中では安全な部類で、燃えることはあっても爆発まではそうそうしないでしょう。
リチウム系の電池の最初期のものなので、型落ちしたパソコンや小型機器のバッテリーなんかに使われています。
通常電池のセルは乾電池みたく丸い形状をしているのでなかなか電池を使う機器は小型化できなかったのですが、
リチウム系の電池はセル自体が平べったいパック状になっているので、
充電池に採用することで、機器を驚異的に薄くすることができるようになったりした背景があったりなかったり。
そして次はリチウムイオンポリマー電池
Li-poなんて表記がされているはずです。
で、この電池ですが、
ヤバイです。うちの高専では爆弾と等価に扱っています。
と、いうのも・・・
あ、ショートしちゃった。
↓
どかーん
↓
昔ここにロボカップ部の部室があったんだけどね・・・。
なんていう自体になりかねないくらい危険です。
そんな危険な電池ですが、どのような所に使われているかと言いますと、
例えば、大多数のノートパソコンとか、
殆どのデジカメとか、
NXTとか(笑)
それぐらい身近な電池だったりします。
素材はリチウムイオン電池と同じですが、セル内はゲル状になっていて、高密度のポリマーになっています。
要するにリチウムイオン電池を高密度にしたものがリチウムイオンポリマー電池という訳です。
高密度なので、もちろん普通のリチウムイオン電池よりサイズ辺りの容量が大きくなります。
なので大容量かつ軽量な電池になる特徴があります。
そういった理由から様々な機器に使用されています。
そして3つ目はリチウムフェライト電池
Li-Feなんて表記されます。
フェライトですから、鉄が混ざっている電池になります。
リチウム系の電池だと一番新しい・・・というか、つい最近でてきた種類の電池です。
家電に使われているのはまだ僕は見たことないです。ラジコンバッテリーなんかだと最近増えてきましたよね。
その特徴は、自己放電が全く起きない、メモリー効果がゼロ、急速充電が可能、そして爆発しない。
これまでのリチウム系の弱点をかなりもみ消した仕様になっていますね。リポと同様の出力でこの便利さは素晴らしいですね。
只ちょっとお高いという弱点がありますが・・・。
以上がリチウム系の電池の紹介です。
因みにうちの部では大多数の充電池がリポになっています。爆弾だらけですね。
(^・ω・)ノ RadiumProduction in RoboCup Junior
ぶいーん。ただいま例の電ノコで基盤を切っています。
今日はあっという間に実験が終わってしまったので割りと暇でした。
という訳で取り組んだのが、
例の16F1939基盤の拡張です。
というのも、この基盤、40ピンのPICが2つも乗っているせいで無駄にI/Oピンが多いんです。
全体だと60以上あるんじゃないかな。多すぎます。
まぁ勿論こんな数、実装できるはずもないので
基盤は2段に分けてI/Oピンやらなんやらはそっちの方からだしていくようになりました。
それでも回路図も自力ではんだづけするには狂っているぐらい面倒な基盤になってきています。
回路図も完成しないまま、回路作成に入ったりもしましたが、全然完成する気配がありません。
っていうかこれ本当に出来るのか・・・?
とにかく毎度のことですが、キチガイな基盤が出来る方向なのはまず間違いないでしょうね・・・。
それでは今日はこのへんで。できたらまた報告します。これは一日二日じゃムリだろうなぁ。レポートあるし。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今日はあっという間に実験が終わってしまったので割りと暇でした。
という訳で取り組んだのが、
例の16F1939基盤の拡張です。
というのも、この基盤、40ピンのPICが2つも乗っているせいで無駄にI/Oピンが多いんです。
全体だと60以上あるんじゃないかな。多すぎます。
まぁ勿論こんな数、実装できるはずもないので
基盤は2段に分けてI/Oピンやらなんやらはそっちの方からだしていくようになりました。
それでも回路図も自力ではんだづけするには狂っているぐらい面倒な基盤になってきています。
回路図も完成しないまま、回路作成に入ったりもしましたが、全然完成する気配がありません。
っていうかこれ本当に出来るのか・・・?
とにかく毎度のことですが、キチガイな基盤が出来る方向なのはまず間違いないでしょうね・・・。
それでは今日はこのへんで。できたらまた報告します。これは一日二日じゃムリだろうなぁ。レポートあるし。
(^・ω・)ノ RadiumProduction in RoboCup Junior
どうやら600回目の記事は成功報告という割と明るい記事になりそうです。
電磁気の授業で死んだ後、放課後。
とりあえず昨日告知したNXTとPICのI2C通信をやってみることにしました。

まぁ予想通りあっという間に終わりました。僕が寝ぼけていたせいで無駄に1時間ほど持っていかれましたけど・・・。
NXTの方は普通に普通の1.27で、PICは例の16F1823で行いました。14ピンの小型のヤツですね。
とりあえず、NXTからデータを送ったり、PICからデータを送ったり。色々してみましたが、
まぁまぁなんの問題もなく無事に通信できていました。
という訳で今日はそれを終わらせて、後はのんびりと・・・何してたっけ。ちょっと思い出せませんねぇ・・・。
うん。きっとそのまますぐ帰ったんですよね。うん、きっとそうだ。
そんな感じで今日はNXT-PIC間I2C通信のお話でした。別に特記するようなことでもないね。
それでは今日はこのへんで。
(^・ω・)ノ RadiumProduction in RoboCup Junior
電磁気の授業で死んだ後、放課後。
とりあえず昨日告知したNXTとPICのI2C通信をやってみることにしました。
まぁ予想通りあっという間に終わりました。僕が寝ぼけていたせいで無駄に1時間ほど持っていかれましたけど・・・。
NXTの方は普通に普通の1.27で、PICは例の16F1823で行いました。14ピンの小型のヤツですね。
とりあえず、NXTからデータを送ったり、PICからデータを送ったり。色々してみましたが、
まぁまぁなんの問題もなく無事に通信できていました。
という訳で今日はそれを終わらせて、後はのんびりと・・・何してたっけ。ちょっと思い出せませんねぇ・・・。
うん。きっとそのまますぐ帰ったんですよね。うん、きっとそうだ。
そんな感じで今日はNXT-PIC間I2C通信のお話でした。別に特記するようなことでもないね。
それでは今日はこのへんで。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今回はポインタの続きです。
前回までで、ポインタと変数の関係についてつらつらと書いていったかと思います。
今回の記事ではここら辺を実際のプログラムを使ってもう一度書いていこうと思います。
と、いう訳で早速プログラムです。
int main(void)
{
int x=5;
int y=2;
int *p;
printf("%d",x);
printf("%p",&x);
p=&x;
printf("%d",*p);
printf("%p",p);
p=&y;
printf("%d",*p);
printf("%p",p);
return 0;
}
例えばこんなプログラムがあったとしましょう。
まず一番目のprintfでは、xの値である5が出力されるのは大丈夫ですね。
じゃあ二番目のprintfは何でしょう。
二番目のprintfは変数xのアドレスになりますので、
わかりません(笑)
変数のアドレスがどうなるかは、その時のメモリーの空き具合によって変わりますので、
プログラムを実行する度に変わってきてくるのです。
因みにアドレスを出力する際には%pを使います。
そして三番目のprintf、ここでは前にpにxのアドレスを代入していることから、これはxの値である5が出力されます。
同様に四番目のprintfは・・・xのアドレスなので此方も不明ですね。
まぁ、二番目のprintfの結果と同じ値が出力されることになります。
そして五番目、ここでは、既にpに新たな変数yのアドレスが代入されていますね。
ということは、ここで出力されるのは、yの値である2になる訳です。
同様に六番目のprintfは変数yのアドレスになります。これもxと同様に数値そのものはわかりませんが、
xのアドレスとyのアドレスが一致することはありませんので、二番目、四番目の値とは異なる値になるはずです。
また、こんなプログラムになると出力はどうなるでしょう。
int main(void)
{
int x=5;
int y=2;
int *p;
p=&x;
*p+=y;
printf("%d",*p);
printf("%d",x);
return 0;
}
このプログラムの場合、まずはポインタpに変数xのアドレスを代入しています。
そしてさらに、そのポインタpの示す値に変数yの値を加えています。
ということなので、一番目のprintfが出力するのは5+2なので7となります。
二番目はと言いますと、pにはxのアドレスがありますので、pがxのアドレスと一致している間は必ず
*p=xとなります。
よって二番目の出力も7ということになります。
こんな感じで、片方が変わればもう片方も変わる。
こういった同期する仕様になっているので、ちゃんと使えば非常に便利ですが、
やっぱり値の変動とか、そもそも今どのポインタがどの変数を示しているのか等、
一目ではわかりにくい部分がどうしても出てきてしまいます。
だから難しい、だからわからない。こうなる訳です。
まぁこれに関しては、正直慣れが一番の特効薬ではないでしょうか。
最初のうちはわかりません。常識です。でもやっていればそのうち慣れてくると思います。
さて、ここまできて一つ疑問に思うのが、「これ、何に使うんだ?」というところでしょう。
だって変数のアドレスがわかったって・・・ん?
ってなりますよね。
実はこのポインタ、例えば関数とか、配列とか、文字列とか、構造体とか、
そこら辺と兼ね合わせて使うことが殆どになります。
まぁこれらの話は後程するとして、まずは先程ちょろっと出てきた文字列や構造体について紹介していこうと思います。
まぁそんなところで今日は終了です。
(^・ω・)ノ RadiumProduction in RoboCup Junior
前回までで、ポインタと変数の関係についてつらつらと書いていったかと思います。
今回の記事ではここら辺を実際のプログラムを使ってもう一度書いていこうと思います。
と、いう訳で早速プログラムです。
int main(void)
{
int x=5;
int y=2;
int *p;
printf("%d",x);
printf("%p",&x);
p=&x;
printf("%d",*p);
printf("%p",p);
p=&y;
printf("%d",*p);
printf("%p",p);
return 0;
}
例えばこんなプログラムがあったとしましょう。
まず一番目のprintfでは、xの値である5が出力されるのは大丈夫ですね。
じゃあ二番目のprintfは何でしょう。
二番目のprintfは変数xのアドレスになりますので、
わかりません(笑)
変数のアドレスがどうなるかは、その時のメモリーの空き具合によって変わりますので、
プログラムを実行する度に変わってきてくるのです。
因みにアドレスを出力する際には%pを使います。
そして三番目のprintf、ここでは前にpにxのアドレスを代入していることから、これはxの値である5が出力されます。
同様に四番目のprintfは・・・xのアドレスなので此方も不明ですね。
まぁ、二番目のprintfの結果と同じ値が出力されることになります。
そして五番目、ここでは、既にpに新たな変数yのアドレスが代入されていますね。
ということは、ここで出力されるのは、yの値である2になる訳です。
同様に六番目のprintfは変数yのアドレスになります。これもxと同様に数値そのものはわかりませんが、
xのアドレスとyのアドレスが一致することはありませんので、二番目、四番目の値とは異なる値になるはずです。
また、こんなプログラムになると出力はどうなるでしょう。
int main(void)
{
int x=5;
int y=2;
int *p;
p=&x;
*p+=y;
printf("%d",*p);
printf("%d",x);
return 0;
}
このプログラムの場合、まずはポインタpに変数xのアドレスを代入しています。
そしてさらに、そのポインタpの示す値に変数yの値を加えています。
ということなので、一番目のprintfが出力するのは5+2なので7となります。
二番目はと言いますと、pにはxのアドレスがありますので、pがxのアドレスと一致している間は必ず
*p=xとなります。
よって二番目の出力も7ということになります。
こんな感じで、片方が変わればもう片方も変わる。
こういった同期する仕様になっているので、ちゃんと使えば非常に便利ですが、
やっぱり値の変動とか、そもそも今どのポインタがどの変数を示しているのか等、
一目ではわかりにくい部分がどうしても出てきてしまいます。
だから難しい、だからわからない。こうなる訳です。
まぁこれに関しては、正直慣れが一番の特効薬ではないでしょうか。
最初のうちはわかりません。常識です。でもやっていればそのうち慣れてくると思います。
さて、ここまできて一つ疑問に思うのが、「これ、何に使うんだ?」というところでしょう。
だって変数のアドレスがわかったって・・・ん?
ってなりますよね。
実はこのポインタ、例えば関数とか、配列とか、文字列とか、構造体とか、
そこら辺と兼ね合わせて使うことが殆どになります。
まぁこれらの話は後程するとして、まずは先程ちょろっと出てきた文字列や構造体について紹介していこうと思います。
まぁそんなところで今日は終了です。
(^・ω・)ノ RadiumProduction in RoboCup Junior
さて。この記事はNXTカテゴリーなのか、PICカテゴリーなのか。
割と悩むことなくNXTカテゴリーにしましたが、特に意味はありません。
NXTとPIC。どちらもI2C通信ができるので、繋げると色々ロボットの幅が広がって凄く便利なのですが・・・。
何故か僕はこれをやったことがないんです。
なんでなんだろう。使う機会がなかったから?とにかくやったことがないんです。
まぁ一番の理由はつい最近までPICでも、3.3Vの24Fや24Hで遊んでいたからでしょうね。
5V対応のPICで遊びだしたのはつい最近の話ですし・・・。
NXTのケーブルから出ている電源も大体5Vなので、3.3VのPICだと何かと不便ですからね。
という訳でI2Cをやってみることになりました。
以前にRCXでPICと通信した際は、謎の2線シリアル通信規格を作って、謎な通信をしていましたが、
今回、NXTではI2Cという共通の通信規格がありますからね。非常に楽にこなせると思います。
今週はまずそんな感じで遊んでいこうと思います。結果はまた後ほど報告ということで。
それでは今日はこのへんで。
(^・ω・)ノ RadiumProduction in RoboCup Junior
割と悩むことなくNXTカテゴリーにしましたが、特に意味はありません。
NXTとPIC。どちらもI2C通信ができるので、繋げると色々ロボットの幅が広がって凄く便利なのですが・・・。
何故か僕はこれをやったことがないんです。
なんでなんだろう。使う機会がなかったから?とにかくやったことがないんです。
まぁ一番の理由はつい最近までPICでも、3.3Vの24Fや24Hで遊んでいたからでしょうね。
5V対応のPICで遊びだしたのはつい最近の話ですし・・・。
NXTのケーブルから出ている電源も大体5Vなので、3.3VのPICだと何かと不便ですからね。
という訳でI2Cをやってみることになりました。
以前にRCXでPICと通信した際は、謎の2線シリアル通信規格を作って、謎な通信をしていましたが、
今回、NXTではI2Cという共通の通信規格がありますからね。非常に楽にこなせると思います。
今週はまずそんな感じで遊んでいこうと思います。結果はまた後ほど報告ということで。
それでは今日はこのへんで。
(^・ω・)ノ RadiumProduction in RoboCup Junior
PIC16F1939。 ここ暫く、何度もその単語が出ている PICの型番なのですが、
よくよく考えると、このPIC自体はまだ一回も話題に上がってないんです。
という訳で今回の記事では、このPIC16F1939 についてです。
まず概観はこんな感じ。40PINのPICです。

秋月電子通商にて170円で売ってます。
16Fファミリなので8bitのPICですが、16bitの24Fより早いです。
I/Oピンは最大で36ピン、発振子内蔵型のPICなので普通にフルで使えます。
電源電圧はなんと1.8V~5.0Vまで対応、どの電圧でも動きますが、最高性能を出したい際は5Vで。
動作周波数は最大32MHzとなっています。
旧型の16FはMIPSの関係上、事実上のシステムクロックは動作周波数の4分の1になっていましたが、
この16F19XXシリーズがは、1サイクル1命令なので(分岐を除く)、システムクロックも32MHzです。
A/Dコンバーターは10bit、24Fのように複数個の搭載はされていませんが、アナログピンは全部で14chあります。
アナログ入力14個はこのサイズのPICでは多い方なのではないでしょうか。結構使い勝手がいいですね。
そしてタイマーは独立して5つ搭載されています。当然ですが、そこいらの16Fとは数も質も全然違います。
なんと8bitマイコンのくせに16biタイマーが標準で搭載されていたりするんです。
後、通信モジュールはシリアルのSPI、I2C、EUSARTが対応しています。UARTがないのはちょっと痛いですね・・・。
CCPモジュール、つまりPWM等の波形を扱うモジュールの数も5つと、旧型の16Fを圧倒しています。
後はLCDドライバやらタッチセンサモジュールやら、色々と面白い機能が搭載されています。
まぁこのように、なんか凄いよ。という新しいPICの種類なんですね。
また、同じ40PINで実は160円(10円安い!)で16F1937 というPICも発売されています。

これとの違いはなにかといいますと、RAMとプログラムメモリの量が1939の半分しかなかったりします。
まぁ基本的な性能は変わりませんので、安い方がいいというのであれば此方の方がいいかもしれませんね。(10円だけど)
僕の場合は記述するプログラムの量的な問題から1939の方を使用しています。
でもまぁ普通にプログラムするのであれば、1937のメモリサイズで事足りると思います。
因みに24F なんかになると、ここらへんのメモリの量とか、通信モジュールの数とかが増え始めます。
特にメモリとかがおかしな領域に突入するんです。システム的に絶対あんなに必要ないと思われる量のメモリがあったり・・・。
まぁモジュールはともかく、メモリはそんなに使うことは余り無いと思われますので、
どう考えても24Fのアレは一体・・・ってなりますよね。そんな高度なプログラム、わざわざPICで書かないって。
といっても、結構頑張ったプログラムにしちゃうと1937の場合は足りなくなる場合もでてきますので、
プログラムがつがつ書いちゃうような人には1939の方がお勧めだったりします。
そんな感じで、今日はPIC16F1939 の紹介でした。
(^・ω・)ノRadiumProduction in RoboCupJunior
よくよく考えると、このPIC自体はまだ一回も話題に上がってないんです。
という訳で今回の記事では、このPIC16F1939 についてです。
まず概観はこんな感じ。40PINのPICです。

秋月電子通商にて170円で売ってます。
16Fファミリなので8bitのPICですが、16bitの24Fより早いです。
I/Oピンは最大で36ピン、発振子内蔵型のPICなので普通にフルで使えます。
電源電圧はなんと1.8V~5.0Vまで対応、どの電圧でも動きますが、最高性能を出したい際は5Vで。
動作周波数は最大32MHzとなっています。
旧型の16FはMIPSの関係上、事実上のシステムクロックは動作周波数の4分の1になっていましたが、
この16F19XXシリーズがは、1サイクル1命令なので(分岐を除く)、システムクロックも32MHzです。
A/Dコンバーターは10bit、24Fのように複数個の搭載はされていませんが、アナログピンは全部で14chあります。
アナログ入力14個はこのサイズのPICでは多い方なのではないでしょうか。結構使い勝手がいいですね。
そしてタイマーは独立して5つ搭載されています。当然ですが、そこいらの16Fとは数も質も全然違います。
なんと8bitマイコンのくせに16biタイマーが標準で搭載されていたりするんです。
後、通信モジュールはシリアルのSPI、I2C、EUSARTが対応しています。UARTがないのはちょっと痛いですね・・・。
CCPモジュール、つまりPWM等の波形を扱うモジュールの数も5つと、旧型の16Fを圧倒しています。
後はLCDドライバやらタッチセンサモジュールやら、色々と面白い機能が搭載されています。
まぁこのように、なんか凄いよ。という新しいPICの種類なんですね。
また、同じ40PINで実は160円(10円安い!)で16F1937 というPICも発売されています。

これとの違いはなにかといいますと、RAMとプログラムメモリの量が1939の半分しかなかったりします。
まぁ基本的な性能は変わりませんので、安い方がいいというのであれば此方の方がいいかもしれませんね。(10円だけど)
僕の場合は記述するプログラムの量的な問題から1939の方を使用しています。
でもまぁ普通にプログラムするのであれば、1937のメモリサイズで事足りると思います。
因みに24F なんかになると、ここらへんのメモリの量とか、通信モジュールの数とかが増え始めます。
特にメモリとかがおかしな領域に突入するんです。システム的に絶対あんなに必要ないと思われる量のメモリがあったり・・・。
まぁモジュールはともかく、メモリはそんなに使うことは余り無いと思われますので、
どう考えても24Fのアレは一体・・・ってなりますよね。そんな高度なプログラム、わざわざPICで書かないって。
といっても、結構頑張ったプログラムにしちゃうと1937の場合は足りなくなる場合もでてきますので、
プログラムがつがつ書いちゃうような人には1939の方がお勧めだったりします。
そんな感じで、今日はPIC16F1939 の紹介でした。
(^・ω・)ノRadiumProduction in RoboCupJunior
去年、ロボカップ研究部では、産技高専の文化祭、産技祭で出展を行いました。
内容は、TAとの交流試合的なアレ+センサーの販売でしたね。
色々あって急ごしらえの企画だったので、問題が多発した苦い記憶が残っていますね。
そういう経緯もあって、じゃあ次こそはちゃんとやろうか。という話・・・にはまだなっていませんが(オイ
なんだかんだで今年もなんかやることになりました。
今年も大まかな内容は去年と変わらず、交流試合的な消化試合と、何かしらの物品販売を行おうと考えています。
後は他のいくつかの団体と連携して活動することになるような予感がします(笑)
試合に関しては、まぁ去年と同じ・・・じゃまずいか。もうちょっとまともにやることを考えるとして、
物品販売の方ですが、去年の低堕落なアレよりはちょっと改善する方向で考えています。
とりあえず1個1000円のセンサーだけじゃいくらなんでも残念すぎますよね。
という訳で・・・
訳で・・・。
まぁまだ何にも決まっていません(笑)
とにかく、まずは、ロボカッパー以外の方の需要がないとなので、
ロボカップ関連外のものをちょっと販売しようと思います。
例えば、副部長がゲーム機を作ったりだとか、副部長がキーホルダーを作ったりだとか・・・
まぁ実は僕はが個人的に作成したなんとやらも数百円で販売しようと思っていますので、
それも含めてお求め安い値段でなんやかんややろうと思っています。
そしてもうひとつは去年に引き続いたセンサー販売。
今年は去年のアレの4倍のクオリティを目標に、今、着々と準備・・・というか素案の収集が行われています。
要するにこっちもまだ何を売るか決まってないんです(笑)
僕が企画した商品だと結構いいところまで準備がいっているのですが、他の部員の物はまだ素案の状態だったり。
まぁ販売商品については、また近くなったら公表すると言う形にしようと思います。
そんな感じで、今日は今年の高専祭の告知でした。さて、今年はちゃんとできるかな・・・?
(^・ω・)ノRadiumProduction in RoboCup Junior
内容は、TAとの交流試合的なアレ+センサーの販売でしたね。
色々あって急ごしらえの企画だったので、問題が多発した苦い記憶が残っていますね。
そういう経緯もあって、じゃあ次こそはちゃんとやろうか。という話・・・にはまだなっていませんが(オイ
なんだかんだで今年もなんかやることになりました。
今年も大まかな内容は去年と変わらず、交流試合的な消化試合と、何かしらの物品販売を行おうと考えています。
後は他のいくつかの団体と連携して活動することになるような予感がします(笑)
試合に関しては、まぁ去年と同じ・・・じゃまずいか。もうちょっとまともにやることを考えるとして、
物品販売の方ですが、去年の低堕落なアレよりはちょっと改善する方向で考えています。
とりあえず1個1000円のセンサーだけじゃいくらなんでも残念すぎますよね。
という訳で・・・
訳で・・・。
まぁまだ何にも決まっていません(笑)
とにかく、まずは、ロボカッパー以外の方の需要がないとなので、
ロボカップ関連外のものをちょっと販売しようと思います。
例えば、副部長がゲーム機を作ったりだとか、副部長がキーホルダーを作ったりだとか・・・
まぁ実は僕はが個人的に作成したなんとやらも数百円で販売しようと思っていますので、
それも含めてお求め安い値段でなんやかんややろうと思っています。
そしてもうひとつは去年に引き続いたセンサー販売。
今年は去年のアレの4倍のクオリティを目標に、今、着々と準備・・・というか素案の収集が行われています。
要するにこっちもまだ何を売るか決まってないんです(笑)
僕が企画した商品だと結構いいところまで準備がいっているのですが、他の部員の物はまだ素案の状態だったり。
まぁ販売商品については、また近くなったら公表すると言う形にしようと思います。
そんな感じで、今日は今年の高専祭の告知でした。さて、今年はちゃんとできるかな・・・?
(^・ω・)ノRadiumProduction in RoboCup Junior
ロボット系だとレゴならRCX、SCOUT、Spybot、NXT、他にもロボデザイナーやTJ3にも手を出し
マイコンだとPIC、H8、SH、ARM・・・とまぁ結構な数をこなした事があったりする自分ですが、
実はFPGAやCPLDも齧る程度は手を出してるんです(笑)
といってもここらへん、素子自体が桁違いに高いので所有はしていないんですけど・・・
まぁたまに借りたり何だりで使ったりしているんです。
それで今日また久しぶりにFPGAに触る機会がありまして、Quartusをまたインストールしようとしたのですけど・・・
なんか最新版を入れたらFPGAの型番が対応していないって弾かれてしまいました><。
古いのを使えーって言われてしまったのですが、
今度はその古いのがWindows7に対応していなくてインストールすらできないなんていう惨事に。
という訳でXPの入ったノートPCに入れようと思ったら、今度はファイルの欠損で弾かれてしまいました。
なので今、再びダウンロードしています。
ところがこれが長くて長くて。終わる気配がありません。また日が昇りそうだなぁ・・・。
そんな感じでヒマなので記事を書いてみました。特に意味はありません(笑)
と云う訳でそれではこの辺でー。
そういえばマイコンも多いけど、良く考えると齧ったプログラミング言語の数も多いかもしれない。
専用言語も含めると、C,Java、Javasq、vbs、HTML、XHTML、Python、Ruby、Perl、Tex、NQC、NXC、NBC、VHDL・・・
挙げればキリが無かった(笑)
(^・ω・)ノRadiumProduction in RoboCupJunior
マイコンだとPIC、H8、SH、ARM・・・とまぁ結構な数をこなした事があったりする自分ですが、
実はFPGAやCPLDも齧る程度は手を出してるんです(笑)
といってもここらへん、素子自体が桁違いに高いので所有はしていないんですけど・・・
まぁたまに借りたり何だりで使ったりしているんです。
それで今日また久しぶりにFPGAに触る機会がありまして、Quartusをまたインストールしようとしたのですけど・・・
なんか最新版を入れたらFPGAの型番が対応していないって弾かれてしまいました><。
古いのを使えーって言われてしまったのですが、
今度はその古いのがWindows7に対応していなくてインストールすらできないなんていう惨事に。
という訳でXPの入ったノートPCに入れようと思ったら、今度はファイルの欠損で弾かれてしまいました。
なので今、再びダウンロードしています。
ところがこれが長くて長くて。終わる気配がありません。また日が昇りそうだなぁ・・・。
そんな感じでヒマなので記事を書いてみました。特に意味はありません(笑)
と云う訳でそれではこの辺でー。
そういえばマイコンも多いけど、良く考えると齧ったプログラミング言語の数も多いかもしれない。
専用言語も含めると、C,Java、Javasq、vbs、HTML、XHTML、Python、Ruby、Perl、Tex、NQC、NXC、NBC、VHDL・・・
挙げればキリが無かった(笑)
(^・ω・)ノRadiumProduction in RoboCupJunior
以前に、変数について紹介した記事があったかと思います。
その時に、変数の値を計算する場合についてのことが書かれていました。
単純な四則演算、つまり足す、引く、掛ける、割る、の4つの計算の方法ですね。
この時は、この4つの演算についてしか記述しませんでしたが、
実はC言語で行うことのできる演算はまだまだ他にも沢山あったりするのです。
今日はそのことについて紹介していこうと思います。
・・・とその前に。まずは演算子と言う言葉の話から。
演算子と言うのは、「この演算をしますよ」という一種の命令みたいなものです。例えば足し算だったら+だし、引き算だったら-になりますね。
普通の計算でもそうですが、
演算子は演算をする際には必ず必要になってくる上、行う演算によって表記も変わってきますので、
この演算子をまず理解できないと、実際にどういった演算が行われているかが理解できなくなってしまうのです。
と云うわけで、これから紹介する演算では、演算と演算子、合わせて紹介を行っていくことにします。
まぁ今回紹介するのは演算子のなかでもほんの一部、特にメジャーな演算子のみとさせていただきます。
まずはインクリメント演算子。++とかです。
これらは何かというと、要するに今の変数に1足しますよ。という命令です。実際に書いてみると、
x++;
このような感じになります。これだと、変数xに1足すと言う意味になります。
既存のxの値に1足すという命令なので、xに元々何かしらの数字が入っていないと多分エラーか警告を吐くと思います。
因みにこのインクリメント演算子、前置式と後置式がありまして、前置式は++x;、後置式はx++;と表記します。
これはまぁどちらも変数xに1を足すという意味になるのですが、実はほんのちょっとだけ意味が変わってきます。
変わってくるのは例えばこういった場合。
int X=0;
printf("%d",++x);
例えばこの場合、表示される数は、xに1足されるので1になります。
でもこっちの場合はというと・・・
int X=0;
printf("%d",x++);
なんと0になるのです。
というのも、実は++xの場合は演算を実行してからprintfにxの値を送信しているので
xは1の状態でprintfに送られているのですが、
x++の場合はprintfにxの値を送信してから演算を実行しているのです。
つまり最終的にプログラムではxの値はどちらも1になっているのに、
printfの出力結果はx++と++xで変わってきてしまうのです。
こういった演算子がインクリメント演算子です。
また、同様に--で表記するデクリメント演算子と言う演算子もあります。
これはインクリメント演算子とは真逆で、元の値から1引くと言う演算になっています。
次に紹介するのは論理演算子と言う演算子です。
論理演算子にも色々ありますが、今日紹介するのは&&と||です。
前者が論理&演算子、後者が論理OR演算子と呼ばれる演算子です。
文章で説明するのもいいですが、結構面倒なので実際のプログラムで説明します。
まずは論理&演算子です。例えば論理&演算子だとこんなプログラムが書けます。
if((x==5) && (y==2))
これだと、&&演算子を使うことで、ifの条件が、xが5のときとyが2のとき、両方が成立している場合になります。
このように、論理&演算子では、
「複数の条件が同時に成立している」という条件を作り出すことができる演算子と言うことになります。
同様に論理OR演算子の場合はこのようなプログラムが書けます。
if((x==5) || (y==2))
これだと、||演算子を使うことで、ifの条件が、xが5のときとyが2のとき、どちらかが成立している場合になります。
このように、論理OR演算子では、
「複数の条件のどちらかが成立している」という条件を作り出すことができる演算子と言うことになります。
つまり、この演算子を使うことによってROBOLABやNXT-Gでいう、複合分岐がたった一行で書くことができると言う訳です。
特にロボット等の組み込みプログラムだと、あれやこれやと意味不明な条件の複合が大量に出現しますので、
これを使用することで非常に便利にプログラムを記述することができるようになります。
と云うわけで今日は演算子と演算の紹介でした。演算にはまだまだ沢山の種類が存在しますし、
演算によって優先度なんかも発生したりしますので今後はこういった内容についても記述していこうと思います。
例えばさんすうの世界でも、+より×の方が、×より更に()の方が優先度が高いですよね。
という訳で今日の記事はこの辺で。
(^・ω・)ノRadiumProduction in RoboCup Junior
その時に、変数の値を計算する場合についてのことが書かれていました。
単純な四則演算、つまり足す、引く、掛ける、割る、の4つの計算の方法ですね。
この時は、この4つの演算についてしか記述しませんでしたが、
実はC言語で行うことのできる演算はまだまだ他にも沢山あったりするのです。
今日はそのことについて紹介していこうと思います。
・・・とその前に。まずは演算子と言う言葉の話から。
演算子と言うのは、「この演算をしますよ」という一種の命令みたいなものです。例えば足し算だったら+だし、引き算だったら-になりますね。
普通の計算でもそうですが、
演算子は演算をする際には必ず必要になってくる上、行う演算によって表記も変わってきますので、
この演算子をまず理解できないと、実際にどういった演算が行われているかが理解できなくなってしまうのです。
と云うわけで、これから紹介する演算では、演算と演算子、合わせて紹介を行っていくことにします。
まぁ今回紹介するのは演算子のなかでもほんの一部、特にメジャーな演算子のみとさせていただきます。
まずはインクリメント演算子。++とかです。
これらは何かというと、要するに今の変数に1足しますよ。という命令です。実際に書いてみると、
x++;
このような感じになります。これだと、変数xに1足すと言う意味になります。
既存のxの値に1足すという命令なので、xに元々何かしらの数字が入っていないと多分エラーか警告を吐くと思います。
因みにこのインクリメント演算子、前置式と後置式がありまして、前置式は++x;、後置式はx++;と表記します。
これはまぁどちらも変数xに1を足すという意味になるのですが、実はほんのちょっとだけ意味が変わってきます。
変わってくるのは例えばこういった場合。
int X=0;
printf("%d",++x);
例えばこの場合、表示される数は、xに1足されるので1になります。
でもこっちの場合はというと・・・
int X=0;
printf("%d",x++);
なんと0になるのです。
というのも、実は++xの場合は演算を実行してからprintfにxの値を送信しているので
xは1の状態でprintfに送られているのですが、
x++の場合はprintfにxの値を送信してから演算を実行しているのです。
つまり最終的にプログラムではxの値はどちらも1になっているのに、
printfの出力結果はx++と++xで変わってきてしまうのです。
こういった演算子がインクリメント演算子です。
また、同様に--で表記するデクリメント演算子と言う演算子もあります。
これはインクリメント演算子とは真逆で、元の値から1引くと言う演算になっています。
次に紹介するのは論理演算子と言う演算子です。
論理演算子にも色々ありますが、今日紹介するのは&&と||です。
前者が論理&演算子、後者が論理OR演算子と呼ばれる演算子です。
文章で説明するのもいいですが、結構面倒なので実際のプログラムで説明します。
まずは論理&演算子です。例えば論理&演算子だとこんなプログラムが書けます。
if((x==5) && (y==2))
これだと、&&演算子を使うことで、ifの条件が、xが5のときとyが2のとき、両方が成立している場合になります。
このように、論理&演算子では、
「複数の条件が同時に成立している」という条件を作り出すことができる演算子と言うことになります。
同様に論理OR演算子の場合はこのようなプログラムが書けます。
if((x==5) || (y==2))
これだと、||演算子を使うことで、ifの条件が、xが5のときとyが2のとき、どちらかが成立している場合になります。
このように、論理OR演算子では、
「複数の条件のどちらかが成立している」という条件を作り出すことができる演算子と言うことになります。
つまり、この演算子を使うことによってROBOLABやNXT-Gでいう、複合分岐がたった一行で書くことができると言う訳です。
特にロボット等の組み込みプログラムだと、あれやこれやと意味不明な条件の複合が大量に出現しますので、
これを使用することで非常に便利にプログラムを記述することができるようになります。
と云うわけで今日は演算子と演算の紹介でした。演算にはまだまだ沢山の種類が存在しますし、
演算によって優先度なんかも発生したりしますので今後はこういった内容についても記述していこうと思います。
例えばさんすうの世界でも、+より×の方が、×より更に()の方が優先度が高いですよね。
という訳で今日の記事はこの辺で。
(^・ω・)ノRadiumProduction in RoboCup Junior
4月分のアクセス解析の結果が出ましたので発表します。
・・・いつの間にか、PICが首位独走なんですけど・・・。
4月は大分PIC押しだったせいか、押し切っちゃう形となりました。不動のNXTとはなんだったのか・・・
という訳で一位はPICです。頻繁に出てくるせいか、16F1939の型番のワードも多かったです。
そして第2位がロボカップ、ロボカップジュニア。結構安定しているように見えて安定していないですね。
大会は終了しましたが、競技関連の記事をいくつか書いたからか、高順位を維持しています。
そして3位に下落、真っ逆さまに下降中なのか3位のNXT。ちょっと前まで不動の1位だったのですが、
ここ最近のあっちこっちのワードの急浮上と最近全くNXT関連の記事を書いていない点からか、真っ逆さまです。
次の4位。未だに謎な安定のコンデンサです。何故今尚アクセスが多いのか。謎ってレベルじゃないですよね。
ロボカップ部の某部員が無駄にコンデンサ押しをしてくるコンデンサ信者なのですが、何か関係があるのでしょうか・・・?
そして5位がレゴです。此方もここ暫く殆ど単語は出てきていないような気がしますが、安定のランクインです。
2012年になって、上位3位の変動が激しいような気がしますね。逆に4,5位辺りは安定しているような・・・。
そしてお次は予備調査。今回の予備調査は・・・
フレーズです。要するに検索に入れた文章すべてのデータの統計ですね。
今回なんでこれにしたかといいますと・・・
ワードランキングのコンデンサの安定さの謎が解明されたのです。
というのも・・・なぜかよくわからないのですが、上位10位の殆どが、コンデンサに関わるフレーズなのです。
コンデンサ 使い方 とか コンデンサ 繋ぎ方 とか・・・
なんかとてつもないですよね。
フレーズさえわかってしまえば、同じフレーズをGoogle先生に入力するだけで検索結果から
なんでこのフレーズでアクセスがきたの?ってことがわかってしまうのです。
だって実際に検索をかけてみて結果の欄に自分のブログがあれば
他の人が同フレーズの検索でここにたどり着く確立は高いですからね。
という訳で、「コンデンサ 使い方」と打ってみたのですが・・・。
結果:なんと一ページ目。
そりゃ安定しますよね。1ページ目でひっかかりゃ、普通誰かしらは見ますもの。
同様に「コンデンサ つなぎ方」と打って見ると・・・
なんと、2番目(笑)
いったい何があったのでしょうか。この他にも、コンデンサ関連のフレーズでは、謎の1ページ目が続出しました。
そりゃ、コンデンサワード伸びるわけだ・・・。っていうか伸びないほうがおかしいです。
という訳でフレーズ調査によってコンデンサのワードの伸びの謎は解決しました。
でも新たになんで全部1ページ目かって謎ができちゃったけどね!
因みに他にもオムニボールや、バーニアNXTセンサアダプタV46なんてフレーズが無双状態です。
たまに「ロボカップジュニア」で検索しても、3.4ページ目に現れる謎現象があったりするのですが、
やっぱりフレーズによっては謎の常時1ページ目表示現象があるようです。
どうやらアクセス安定のワードのウラにはこんな秘密があったようですね。
という訳で今日の記事はこのへんで。
(^・ω・)ノ RadiumProduction in RoboCup Junior
| 順位 | ワード | 数 |
| 1 | PIC | 80 |
| 2 | ロボカップ、ロボカップジュニア | 62 |
| 3 | NXT,nxt | 33 |
| 4 | コンデンサ | 19 |
| 5 | レゴ | 17 |
・・・いつの間にか、PICが首位独走なんですけど・・・。
4月は大分PIC押しだったせいか、押し切っちゃう形となりました。不動のNXTとはなんだったのか・・・
という訳で一位はPICです。頻繁に出てくるせいか、16F1939の型番のワードも多かったです。
そして第2位がロボカップ、ロボカップジュニア。結構安定しているように見えて安定していないですね。
大会は終了しましたが、競技関連の記事をいくつか書いたからか、高順位を維持しています。
そして3位に下落、真っ逆さまに下降中なのか3位のNXT。ちょっと前まで不動の1位だったのですが、
ここ最近のあっちこっちのワードの急浮上と最近全くNXT関連の記事を書いていない点からか、真っ逆さまです。
次の4位。未だに謎な安定のコンデンサです。何故今尚アクセスが多いのか。謎ってレベルじゃないですよね。
ロボカップ部の某部員が無駄にコンデンサ押しをしてくるコンデンサ信者なのですが、何か関係があるのでしょうか・・・?
そして5位がレゴです。此方もここ暫く殆ど単語は出てきていないような気がしますが、安定のランクインです。
2012年になって、上位3位の変動が激しいような気がしますね。逆に4,5位辺りは安定しているような・・・。
そしてお次は予備調査。今回の予備調査は・・・
フレーズです。要するに検索に入れた文章すべてのデータの統計ですね。
今回なんでこれにしたかといいますと・・・
ワードランキングのコンデンサの安定さの謎が解明されたのです。
というのも・・・なぜかよくわからないのですが、上位10位の殆どが、コンデンサに関わるフレーズなのです。
コンデンサ 使い方 とか コンデンサ 繋ぎ方 とか・・・
なんかとてつもないですよね。
フレーズさえわかってしまえば、同じフレーズをGoogle先生に入力するだけで検索結果から
なんでこのフレーズでアクセスがきたの?ってことがわかってしまうのです。
だって実際に検索をかけてみて結果の欄に自分のブログがあれば
他の人が同フレーズの検索でここにたどり着く確立は高いですからね。
という訳で、「コンデンサ 使い方」と打ってみたのですが・・・。
結果:なんと一ページ目。
そりゃ安定しますよね。1ページ目でひっかかりゃ、普通誰かしらは見ますもの。
同様に「コンデンサ つなぎ方」と打って見ると・・・
なんと、2番目(笑)
いったい何があったのでしょうか。この他にも、コンデンサ関連のフレーズでは、謎の1ページ目が続出しました。
そりゃ、コンデンサワード伸びるわけだ・・・。っていうか伸びないほうがおかしいです。
という訳でフレーズ調査によってコンデンサのワードの伸びの謎は解決しました。
でも新たになんで全部1ページ目かって謎ができちゃったけどね!
因みに他にもオムニボールや、バーニアNXTセンサアダプタV46なんてフレーズが無双状態です。
たまに「ロボカップジュニア」で検索しても、3.4ページ目に現れる謎現象があったりするのですが、
やっぱりフレーズによっては謎の常時1ページ目表示現象があるようです。
どうやらアクセス安定のワードのウラにはこんな秘密があったようですね。
という訳で今日の記事はこのへんで。
(^・ω・)ノ RadiumProduction in RoboCup Junior
今回はライントレースの続きの記事です。
ロボカップにおけるライントレースでは、ラインが交差することはないのでそこまで難しい課題ではありません。
しかし、普通のライントレースとは違うある特徴があります。
それは途中でラインが途切れること、つまりギャップがあるのです。
といってもそこかしこにそんなもの出現されては溜まったものではありません。
ちゃんとその辺りの規定は存在して、まず、ギャップはラインの直線の部分にのみ置くこと、
そして、ギャップの長さは20cm以内にすることです。
ギャップには、このふたつの大原則があります。
でも、ギャップ自体は直線上でも、ギャップの直前のラインは直線とは限りません。
なので、ライントレース自体が荒いと、ギャップへの入り方によっては
ギャップにまっすぐに入れずにコースアウト、即ち競技進行の停止を取られてしまいます。
なのでその辺りをどう解決するかが課題となってくる訳です。
まっすぐにギャップに入れるようなプログラムを書くか、
またはまっすぐ入れなくてもちゃんと復帰するようなプログラムを書くか・・・
といったところでしょうか。
ギャップの紹介はこんな感じですね。
それでは今日はこの辺で。
(^・ω・)ノ RadiumProduction in RoboCup Junior
ロボカップにおけるライントレースでは、ラインが交差することはないのでそこまで難しい課題ではありません。
しかし、普通のライントレースとは違うある特徴があります。
それは途中でラインが途切れること、つまりギャップがあるのです。
といってもそこかしこにそんなもの出現されては溜まったものではありません。
ちゃんとその辺りの規定は存在して、まず、ギャップはラインの直線の部分にのみ置くこと、
そして、ギャップの長さは20cm以内にすることです。
ギャップには、このふたつの大原則があります。
でも、ギャップ自体は直線上でも、ギャップの直前のラインは直線とは限りません。
なので、ライントレース自体が荒いと、ギャップへの入り方によっては
ギャップにまっすぐに入れずにコースアウト、即ち競技進行の停止を取られてしまいます。
なのでその辺りをどう解決するかが課題となってくる訳です。
まっすぐにギャップに入れるようなプログラムを書くか、
またはまっすぐ入れなくてもちゃんと復帰するようなプログラムを書くか・・・
といったところでしょうか。
ギャップの紹介はこんな感じですね。
それでは今日はこの辺で。
(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
最新CM
カテゴリー
らじぷろ目次
らじぷろ検索機
最新記事
(01/01)
(09/04)
(08/31)
(06/08)
(01/12)
(08/29)
(01/03)
(08/27)
(04/29)
(01/01)
(11/20)
(09/06)
(09/04)
(08/09)
(08/06)
プロフィール
HN:
Luz
性別:
男性
アーカイブ