投稿

2022/04/22~24けいはんなロボカップジュニアの振り返り

  今回私はロボカップジュニアのライトウェイトリーグに出場しました! 結果は55位とあまり良くなかったですが、色々勉強できた大会でした。やはり大会では何が起こるか分かりません。試合時間がずれたり、ロボットが壊れたり、バグったりとすることがありました。ロボットのプログラムを当日に作るようなことはせず、そこに改善する時間をどれだけ多く用意できるかが大切だと思えた大会でした。 このブログで私がまとめようと思っていることは3つあります。1つ目はロボットの反省点、2つ目はチームとしての反省点、3つ目は自分の反省点、4つ目は今回のよかった点、5つ目はまとめです。それぞれ分けて、まとめていきたいと思います。 1.ロボットの反省点 • 見た目が汚い!(基板がむき出しだったり、コードがぐちゃぐちゃだったり、基板がロボットの形にあってなかったり、、、) • ラインから良く出てしまう!(ボールをきれいに追いかけることに力を入れすぎてライン処理に力を入れられなかった。&ラインと緑のコートの違いがあまり思っていたよりはっきりしていなかったので、あまりライン処理がうまく動かなかった。) • 動きが遅い!(ダイセンのオムニホイールを使っていたのですが、ダイセンコートだと滑りにくく、動きが遅くなってしまいました。まぁ速すぎるとラインから出てしまいますけど((() • まわりこみの時に何故かボールから離れる現象が起こる(これから原因を探しますが、おそらく、ボールセンサのノイズだと思う) • PD制御が安定しない(うまく行く時と、行かない時がある) • BNO055の方位がよくバグる(訳わかんない!!) • ロボットのタイマンで互角になる(パワーがない??) • デバックがとりにくい(いちいちシリアルモニターで見ていた) • スタートボタンの押しミスが多い(トグルスイッチに変えます) 2.チームとしての反省点 • チームとして成り立っていなかった(役割分担がうまくできていない) • 計画性がなかった(大会中にプログラムを書いていた) • 他のチームと交流する余裕がなかった(ロボットが動いていなかったため) • 時間管理がうまくできていなかった(一試合不戦勝で負けてしまった) 3.自分の反省点...

ArduinoでIRセンサの処理の高速化

イメージ
  こんにちはbee(ビー)です 今回は16個のIRセンサ(ボールセンサ)を読み取ることにめちゃくちゃ苦労したので記事にしました。前まではダイセンさんのボールセンサを4つ使ってボールを追いかけていましたが、それをうまく使いこなせず、今年の京奈滋大会ではうまくボールを追いかけることができずになかなか良い順位が取れませんでした。そこで僕はIRセンサを16方位につけることでボールの位置を正確に把握し、きれいにボールに追従できるようにしようと考えました。一応僕はarduinoを使っているのでこの記事の実験はその言語で書いてやってます。 まずボールのパルスの周期を見てみました。オシロスコープで見てみると、、、 写真の真ん中の下を見てもらうと、"250 µs "と書いてありますこれはオシロの画面に見える横軸のマス目一つ分の大きさを表しています。これによると、ボールの周期は850 µs です。(ボールの情報によると正確には833 µs らしいです) (あまり周波数について知らないので、時間を比較してこれから検証していきます <実験1> pluseInで見る! 最初に試したことはpluseInです。これはIRをデジタルで読んだ時などにボールがない時を1とすると、0になった瞬間に計測を初めて、1に戻るまでの時間を測り、その長さを数字にするといったものでした。まず一旦これを実装してみました。コードはこんな感じです。(実際のコードは長くて見にくいのでIRセンサ一個だけのverを載せます) すると、シリアルで見たとき、なかなか値が表示されず、使い物に一切なりませんでした。一応オシロスコープで見てみると、赤色の線がプログラムが動いている時間を表していて、 HIGHになっているときがボール処理をしている時間 で、LOWになっている時間は関係ないので、気にしないでください。(以降、すべてHIGHになっている時がボールの処理をしている時間です) 写真の真ん中の下を見てもらうと、"5.0ms"と書いてありますこれはオシロの画面に見える横軸のマス目一つ分の大きさを表しています。そして僕はhighのときがボールの処理をしている時間にしているので、これによると、 pluseInで読むと、約22.0ms(22000 µs )かかる ということに...