本日はROBOSQUAREで開催されたYOKAロボまつり16バトル大会に親子で参加しました。
運営の皆様、参加者の皆様、お疲れ様でした。
結果は2戦して2敗でした。
というかそもそもロボットのレベルが違いすぎました。
こちらはなんとか倒れずに歩けるかなというレベルでしたが、他の皆さんは非常に安定した素早い動き+操縦も高度でした。
今回は9/4の記事で書いたXBeeでの無線化で臨みました。
送信側はノートPCに接続したJOYSTICKで行い、ブレッドボード上のXBeeから送信します。
操作はJOYSTICKでできるものの、ノートPCをフィールドに持っていくのが大変だったので、何か考える必要がありそうです。
今回、初めてバトル大会に参加しましたが、とても楽しく過ごせました。
また参加したいです。
#はじめて、当日にブログを書いたかも。
2年ほど前に購入した、KHR-2HV。
組み立てただけで放置状態でした。組み立てたのも子供なので、ほとんど何もさわっていません。
その間、後継機(KHR-3HV)が発売されショックを受けつつ、カメラを積んで自律動作させたいなどと思いながらも時は流れ。。。
久しぶりに引っ張り出して来ました。
胸のカウル(?)を無くしてしまったようで、子供に電池ガードをつけてもらいました。(ちょっとカワイくなりました。)
とりあえず、XBeeで無線化してみるつもりです。
(純正の無線化セットは結構なお値段ですので。。。)
なお、写真に写っている木製ハンガーは自作です。ロボカップジュニア サッカーコートの余りの木材で作りました(笑)。電源が入っていないと自立できないですし、下手に動かすとすぐに倒れてしまうので、ハンガーは必須ですね。
Trevaで取り込んだイメージデータをPCに送信していますが、5秒以上かかっていたので、高速化に取り組んでみました。
【やったこと】
・XBeeのボーレートを38400bpsから115200bpsに変更
・ハードウェアフロー制御でCTS信号をチェックするようにした。
・CTSが立っていないのにデータをロストすることがよくあったので、送信時に少しWAITを入れてあげると改善しました。(この辺は良く分かりません。)
フロー制御は以下のように行いました。
- XBeeのCTS端子をマイコンの適当な入力端子に接続
- XBeeのCTSは反転しているので、LOWの時に送信し、HIGHになったら送信を待つ。
- なお、XBeeはデフォルトでCTSフロー制御がONになっています。確認方法はX-CTUでDIO7が1-CTS FLOW CONTROLになっていればOKです。
- しかし、CTSの効果は微妙で、上記にも書いたWAITの方が効きました。
上記で、80Kbpsぐらい出るようになりました。
Trevaのイメージデータは96*72*2 (約14KB)ですので、1.5秒ぐらいでデータの送信が完了します。1.5秒は短いようですが、実際に見てみるとかなり遅いです。
また、間に壁等の遮蔽物があると、かなりのデータロストが発生します。
やはり、XBeeでリアルタイムにイメージデータを送ろうというのは少し無理があるようです。
定期観測ぐらいであれば問題ないでしょうが。。。
無線LANが本命でしょうか?
とりあえず、高速化はこれぐらいであきらめて、解像度を減らすなどデータを減らすことを試してみます。(既にかなりの低解像度なのですが。)
あと、上位階層でデータロスト対策を考えます。(今の仕組みだとデータロストすると待ちに入って止まってしまうので)
カメラといえばモッパーさん(http://moparlab.sblo.jp/article/40142757.html)も試されているTCM8230MD/TCM8240MDにも興味があります。このスペックのカメラが約\1,100で売られているのですから、もうTrevaを使っている場合ではないですね。
コントロールにFPGAやCPLDを使われている方が多いようですが、マイコンでもSH-2Aぐらいの性能とメモリー容量があればなんとかなるのではないかと考えています。