2012-12-30 3 views
6

簡単な紹介:
以下のように動作する位置決めシステムを開発しています。私たちのカメラはロボットの上にあり、上を向いています(天井を見て)。天井にはランドマークのようなものがあり、ロボットの位置を計算することができます。それは次のようになります。位置決めシステムにおけるカメラチルトのプログラムによる補正

enter image description here

私たちの問題:
カメラはロボットの表面が完全にもないので、ビット(と思う0-4度)傾いています。つまり、ロボットが回って同じ座標にとどまると、カメラは天井の別の位置を見るので、ロボットの周りが回っていて移動していないにもかかわらず、ロボットの位置が変わりますビット。

私たちの現在の(ハードコードされた)解決策:
カメラからいくつかのテスト写真を撮って、レンズ軸を中心に回転させました。私たちが推測した写真から、それはca.画像の「上方向」に4度。単純な幾何学的変換を使用して、傾斜効果を減らし、実際のカメラ位置を見つけることができました。次の写真では、灰色の点が写真の中心を示し、黒い点がカメラが置かれている天井の実際の場所です。黒いドットは、灰色のドットから変換された(その位置は、灰色のドットの位置を補正して計算された)。簡単に気付くように、灰色の点は天井に円を描き、黒い点はこの円の中心になります。

enter image description here

enter image description here

enter image description here

enter image description here

私たちの解決策の問題:
我々のアプローチは完全に移植不可能です。カメラを新しいロボットに移動した場合、傾きの角度と方向を完全に再調整する必要があります。そこで、校正フェーズをユーザーに任せて、いくつかの画像の撮影を要求し、彼が傾斜パラメータを評価してからプログラムに設定する必要がありました。私はあなたに質問しています:傾斜パラメータを計算するか、写真の傾きを修正するためのより優れた(より自動的な)ソリューションはありますか?

+1

カメラの下に平らなプラットフォームを置くことはできませんか?私はこれにソフトウェアソリューションがあると確信していますが、それはおそらく実装するのが難しいことではないでしょうし、すべての場合にどのように動作するのかをどのように知っていますか?カメラのレベリングははるかに簡単で包括的なソリューションのようです。 – Richard

+0

はい、我々はまた、特に雄牛の目のレベルを使用してハードウェアソリューションについて考えましたが、もし存在すれば他の可能性についても学びたいと思います。 – Wojtek

答えて

5

素敵な仕事。自動キャリブレーションを行うことは素晴らしい課題です。

屋根のタイルの平行線を使用することが考えられます。 カメラが完全に水平の場合、すべての線も写真内で平行になります。 カメラが傾けられていると、すべての線が分割されます(消失点で交差します)。

これはおそらく実装が非常に難しいでしょう。使用しているカメラでは、歪みが最初に補正されて線が真っ直ぐになる必要があります。

あなたの実際的なアプローチは、おそらくより単純で堅牢です。あなたが説明するように、それはユーザーフレンドリーになるために自動化することができるようです。ロボットをオンにして、どの点が画像内の同じ場所に残っているかを実際に特定する。

+0

答えをありがとう。実際、完全自動構成は不可能と思われますが、私たちの教授は同じ意見です。私たちは加速度計の使用について考えてきましたが、市販されている非常に小さいものもいくつかあります。私たちは見るでしょう:) – Wojtek

+0

私たちは私たちのボードにi2cバスの加速度計をインストールしました。うまく動作するように見えますが、今度はコードを書く必要があり、うまくいけばうまくいきます。ちょうどあなたに知らせることを望んでいた。 – Wojtek

関連する問題