投稿

8月, 2023の投稿を表示しています

IRボールの角度を正確に出そう!

 皆さんこんにちは!Air所属のGamuです(Twitter: @Air_Gamu )。Twitterのフォローもして頂けると嬉しいです。  今回の内容は「IRボールの角度を正確に出そう!」です。 この記事はあくまで自分のやり方を綴っているだけなので、記事というか技術メモだと受け取ってもらいたいです。また、この方法は未完成であり、たまたま上手く行っただけな可能性があるので、間違ってい どうぞ最後まで見ていただけると嬉しいです。それでは始めていきます。 https://twitter.com/Air_Gamu/status/1692884184581484870 これは私のTwitterの投稿です。このプログラムではIRボールの角度を一度刻みで出しています。自分では中々に精度が出せていると思っています。今回はこれの解説をしていきます。  まずは私たちが使っているボールセンサーの紹介についてです。RCJで使用されているIRボールは赤外線を発光しています。ロボットはその赤外線を読み取るためにボールセンサーが必要です。IRセンサーにはTSSP4038✖️16個を使用しています。それを取り付ける基板は私たちAirのスポンサーであるJLCPCB様に発注をし作っていただきました。いつも品質の高い基板を作ってくださって、ありがとうございます。この機に一度JLCPCBを利用してみてはどうでしょうか?(リンク: jlcpcb.com/JPV )  基板に関しては前回のブログで解説をしています。よければ、見ていってください。IRセンサーに関しては全てデジタルで読み取っています。  次にプログラムの解説です。 1. IRセンサーで角度の読み取り:まずIRボールの大体の位置を出すことから始めます。私たちのロボットには16個のIRセンサーが等間隔に配置されています。間隔としては22.5度づつになります。まずはfor文を用いて1つのIRセンサーがそのfor文の中でどれくらいの回数見ているのかを数えます。私はとりあえず1000回読んでいます。しかし、それでは処理速度の問題などが出てくるので、将来的には833μsの間読み取ろうと考えています。 2. 全てのボールセンサーの値の比較:IRボールの大体の角度を導き出すために、IRボールを読み取った回数が多いIRセンサーを見つけたいので、読み取ったIRセン...