RoboCup Junior Japan Rescue Kanto OB
2005~2013
2005~2013
うちのロボカップ研究部の部員は、大抵がNXTやRCXなどのレゴと
PICなどのマイコンの両方を使うことができます。
どちらもプログラムはC言語なので、構成は大差ありません。
と、言うか関数さえ作ってしまえばNXCのプログラムやrobotCのプログラムであれば、
そのままコピペでPICを動かすことも可能ではあります。
じゃあこのふたつはプログラムを書く時にどのような違いが出てくるのか。今日はそれについてお話しします。
NXTとPIC、まず一番に違いがでるのが、処理速度の早さでしょう。
NXT内蔵のARM7と比べると、PICは塵にも等しいですが、NXTと比べると、何故かPICが勝ってしまうんです。
RCXの時にもあった、レゴ社特有のアレですね。
これ、し速度なんて早い方がいい。そう思う方は多いと思うのですが、その通りです。
唯、早いには早いなりにNXTの時には起こり得ないような問題が発生するのです。
例えばノイズ。
NXTであれば、よっぽどモーターに負荷でもかけない限り、センサーの値は常にしっかりと返ってきてくれますよね。
でも、センサーの読み取りの早いPICではそうはいきません。
ちょっとのことで生まれた電源のノイズやらなんやら、モロに出力に反映されてしまいます。
だから例えば、黒を見るまで回転する・・・なんてプログラムは危険ですね。
どこでノイズが乗ってセンサーの値が瞬間的に下がるかわかりませんからね。
他にもあるのがセンサーとモーターのラグ。
NXTにもあったかと思いますが、PICではもっと酷いです。
だってセンサーの読み取りはNXTより早くなっているのに、
モーターの応答速度はモーターの問題ですからマイコン側は関係ありません。
つまり・・・ラグは大きくなる一方と・・・。
後は問題が起きた時の原因について。
NXTでは動作が思うようにいかなければ、それはロボットの構造的問題かセンサーの挿しミス、あるいはプログラム。
特にNXT熟練者であれば、問題は十中八九プログラムといっても過言ではないでしょう。
でもPIC、特にメインボードから自作した場合、その原因の欄に「回路」というものが堂々追加されます。
今まで十中八九プログラムだったのが、新たに回路という不確定要素が加わる。これ程厄介なことはありません。
本当に慣れないとどっちが原因かなんてすぐ判別はできませんからね。難しいです。
このように、問題が生じた時の原因の思考も変える必要があるんです。
だからややこしい。難しい。
NXTにもPICにも同様にややこしい問題は多いのです。
(^・ω・)ノ RadiumProduction in RoboCup Junior
PICなどのマイコンの両方を使うことができます。
どちらもプログラムはC言語なので、構成は大差ありません。
と、言うか関数さえ作ってしまえばNXCのプログラムやrobotCのプログラムであれば、
そのままコピペでPICを動かすことも可能ではあります。
じゃあこのふたつはプログラムを書く時にどのような違いが出てくるのか。今日はそれについてお話しします。
NXTとPIC、まず一番に違いがでるのが、処理速度の早さでしょう。
NXT内蔵のARM7と比べると、PICは塵にも等しいですが、NXTと比べると、何故かPICが勝ってしまうんです。
RCXの時にもあった、レゴ社特有のアレですね。
これ、し速度なんて早い方がいい。そう思う方は多いと思うのですが、その通りです。
唯、早いには早いなりにNXTの時には起こり得ないような問題が発生するのです。
例えばノイズ。
NXTであれば、よっぽどモーターに負荷でもかけない限り、センサーの値は常にしっかりと返ってきてくれますよね。
でも、センサーの読み取りの早いPICではそうはいきません。
ちょっとのことで生まれた電源のノイズやらなんやら、モロに出力に反映されてしまいます。
だから例えば、黒を見るまで回転する・・・なんてプログラムは危険ですね。
どこでノイズが乗ってセンサーの値が瞬間的に下がるかわかりませんからね。
他にもあるのがセンサーとモーターのラグ。
NXTにもあったかと思いますが、PICではもっと酷いです。
だってセンサーの読み取りはNXTより早くなっているのに、
モーターの応答速度はモーターの問題ですからマイコン側は関係ありません。
つまり・・・ラグは大きくなる一方と・・・。
後は問題が起きた時の原因について。
NXTでは動作が思うようにいかなければ、それはロボットの構造的問題かセンサーの挿しミス、あるいはプログラム。
特にNXT熟練者であれば、問題は十中八九プログラムといっても過言ではないでしょう。
でもPIC、特にメインボードから自作した場合、その原因の欄に「回路」というものが堂々追加されます。
今まで十中八九プログラムだったのが、新たに回路という不確定要素が加わる。これ程厄介なことはありません。
本当に慣れないとどっちが原因かなんてすぐ判別はできませんからね。難しいです。
このように、問題が生じた時の原因の思考も変える必要があるんです。
だからややこしい。難しい。
NXTにもPICにも同様にややこしい問題は多いのです。
(^・ω・)ノ RadiumProduction in RoboCup Junior
カレンダー
最新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
性別:
男性
アーカイブ