• カテゴリ ユニバーサルドライバ の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - ロボット相撲 自立型に参加するに際して

ロボット相撲 自立型に参加するに際して

カテゴリ : 
ユニバーサルドライバ
2015-10-30 9:30
ユニバーサルドライバ3.5サンプルプログラムは、専用のライブラリの使い方やラジコン型や自立型といった用途別にいくつか用意されています。



色々とアイデアを盛り込んで好みの動作に仕上げていただくつもりのサンプルプログラムなのですが、ほぼ無改造のまま利用されているケースも多いかと思います。

そういった場合に苦慮するのが、ルールの改正かと思います。
最近のルールでは自立型においてスタート・とストップをリモートで行うべしとあるので、非常停止のみを想定して作られているサンプルプログラムは、そのままではルールに従うことはできない筈でして。
とは言っても、何かしらのリモコンからスタート・ストップを意味する単純なON/OFF信号が得られるのであれば、簡単な改造で対処でいると思っています。

ところが、最近ラジコン用のプロポを使用してスタート・ストップを行わせたいというの問い合わせが多くなってきました。どうやらプロポを使っても良いらしく、実際にそうやってスタート・ストップを指示しているロボットがあるためだそうで。
それを実現するサンプルプログラムは提供されていませんが、sample11(RC_STICK).c を動かして受信機からのパルスを計測した上で、その結果を元にON/OFF的な処理をにコーディングすれば、ある程度の事はできる筈です。

しかし、弊社から一方的に提供しているこユニバーサルドライバのライブラリを使い込んでいないと難しい面が多々あるのと、受信機の信号は安定していない事もあって、そこそこ確実な判断をするのはそれなりの経験が必要なのも事実です。
と言うことで、ラジコン用のプロポを使用し、そこそこ簡便な操作でスタート・ストップを行える自律型のサンプルを用意しました。いつもよりコメントをいっぱい書いておきましたので、参考にしてください。
sample25(SUMOU_AUTO3).c
大まかな仕様は、
  • sample16(SUMOU_AUTO1).c を雛形とする。
  • プッシュボタンによってスタートとストップを促していたものを、プロポの信号による励起で全て代替。
  • プロポのスティック1本(1ch)だけを使用。
    該当チャネルの受信機の信号はGPIOのJ9に入力。
  • 中立位置をOFFと見なす。
  • 中立以外の位置をONと見なす。
  • スタートはスティックの中立位置から倒された時。
  • ストップはスティックの中立位置から倒された時。
    なおスタートしてから5秒後にスティックの状態の判定を開始し、簡単な誤動作回避として一度ONと判断してから0.5秒後にもONであればストップ。
  • 戦っている最中はスティックを中立位置とする。
といったところです。
その他、不安定な受信機からのパルス信号をスタート待ちの時に毎回計測し直していますので、調整の類いを強いられる事無く使える様にしてみました。

いずれにしても、受信機によってはプロポの電源が切れるとあらぬ信号を出力するものがありますので、堅牢な目的で使用するのは個人的にはお勧めできません。

技術

トラックバック

トラックバックpingアドレス http://www.besttechnology.co.jp/modules/d3blog/tb.php/199