カメラを試しに行ってきた

カメラを試しに行ってきた

Tags
Published
November 12, 2018
日付11/12

カメラを試しに行ってきた

notion image
本日は私とみっくすは数学つよつよプログラミングざるそばくんと中学Sci-techに遊びにカメラを試しに行きました。
まあなかなかひどいもんでした。僕も最初はこのプログラムならいけるだろうと思ってそのアルゴリズムを肯定し続けていました。しかしいざしっかりしたコートで試してみるとまあなかなかひどかったですね。ひどかった部分としましてはまずロボットがコートから消えたりする、コートの真ん中らへんに行くとロボットが消える、ロボットを傾けるとY軸に対してめっちゃブレるなどです。本当に使い物にならなかった。
そうなってしまったので今回はカメラをなんのために使うのかを再確認しました。
そうです。位置情報を求めるのが目標じゃないです。活用するのが目標です。
そもそも僕がざるそば君に位置情報を求めるのをやってくれないかと頼んでいた時点で間違っていました。というのは位置情報を求めてくれないかという質問では位置情報を元に何かをする、そして位置情報を求めることが目標になってしまっているという問題点がありました。そこからまず問題でした。
notion image
目標は位置情報を利用し、ゲームを有利に運ぶことです。なので今回はその本質のどの情報から何を推測してどう使うのかをもう一度考え直しました。要件定義??要は数学の証明問題と同じです。どの情報仮定に相当します。なにを求めるかは何を証明するかの題であると言えるでしょう。その仮定は今のセンサの状態や向いている方向、どこらへんにいるときにそういう状況になるかなどです。円周角の定理とかと似てるのかな。。。円に内接する三角形の1辺は円の中心を通っていたら辺の対角は90度で、円の中心を通っていないときは90度じゃないと言える。と言った感じでしょうか。同じようにこの方向を向いているときはこのセンサが反応しやすくなるとかですね・
話がずれましたが、本質のいつ使うかどこで使うかですが、僕なりの見解としましては、
  • コートの端にいますか
  • ゴールの角度はどのくらいでしょうか、
  • ホームポジションに戻りたいからカメラで見る
などです。相手ゴールに顔を向けると位置情報はブレまくっていたのを数値じゃなくってどっちの角らへんにいるかにするんですね。
notion image
ロボットが仮に黄色ゴールの方を向いているとしましょう。そのときは自ゴールがどっちにあるかでどっちの角にいるのかを判断することができます。
あと案があるとすればメインマイコンで向いている方向と正面との差分を利用し、カメラから見えていたゴールの情報を無理やり正面の方向に見えているかのように変換する方法もあります。
θをコンパスから得られる自分の向いている角度とし、カメラからのxy座標からのデータを元に xx+yy=RRを計算すればゴールまでの距離r(斜辺)を求められます。R[斜辺]xSin(θ)はYの長さ(xはCos)になります。これを使ってあたかも正面をロボットが向いているかのようにし、位置座標を得るという仕組みです。流石に計算がややこしいとか時間がかかるとかでやばそうですが、これができればマジで優勝レベルだなと思いますね。ずれる問題を解決できれば今までのアルゴリズムを少し改良したものが使えます。

Loading Comments...