屋外でピンポイントの位置(インチ)を検出するには何を使用できますか?


13

しばらくしてEEに戻りますので、無知を許してください。私は息子と一緒にプロジェクトのロボットをナビゲートするために、屋外でピンポイントの位置を検出する方法を探しています。
GPSを三角測量または使用するための低コストの方法はありますか?インチ単位の精度を探しています。また、デバイスにリファレンスを提供するためにいくつかのトランスミッタを異なる場所に配置する必要があるかどうかは気にしません。

これは、ロボット芝刈り機用です。私は2エーカーの庭を所有しており、私の家は障害物としていくつかの木々の真ん中近くにあります。

私の2エーカーヤード

私の3人の少年のうち2人(14歳、11歳、5歳)がこのアイデアを持ち出しました。そのため、このプロジェクトの本当の目標は、彼らと時間を過ごし、EE&CEに興味をそそることです。

そうは言っても、コストは要因ですが、今後2年間はコストに取り組み、少しずつ費やしてもかまいません。

ここに私の現在の計画があります

  • ボードにWindows PCを含めて、センサーに対してコーディングできるようにします。
  • 障害物検出に役立つMicrosoft Connectを搭載(Windows PCの理由)
  • 一般的な場所にUSB GPSを含める
  • それの楽しみのためだけにカメラを含める

2年間でお金があれば大丈夫ですが、クレイジーな高価なGPSから始めたくありません。

私を助けてくれたみんなに感謝します!!!!


1
GPSを使用してロボット芝刈り機を制御している人々のことを聞いたことがありますが、そのために数千ドルを費やしたと考えています。
ケレンブ

1
詳細は、さまざまなオプションについてとりとめずに、実際のソリューションを推奨するのに役立ちます。システムの範囲、許容電力、計算コスト、複雑性コスト、および財務コストなどの情報(あなたの息子とのプロジェクトとして、私はそれが空想を構築するのにかかる数千ドル未満だと推測しています商用搬送波位相差分GPSシステム、ただし、どの程度かは不明)、および送信機と受信機の物理的なサイズがすべて役立ちます。
ケビンフェルメール

詳細を追加しました。このプロジェクトで非常に役立つすべての入力に感謝します!!
ジェイミーマケルヴィーン

1
オーディオベースの方法を使用しても機能しません。それを台無しにすることができますがあまりにも多くのものがあります。風(風からのノイズではなく、空気の移動と音の速度/方向の変更)、芝刈り機自体からのノイズと振動、家やフェンスからの反射など。RFまたは光ベースのシステムに固執します。

1
スペルナチで申し訳ありませんが、「ピーク」ではなく「ピケ」です。
ローマンスターコフ

回答:


11

システムをひっくり返すことを検討する必要があります。ロボット自体が場所を特定する必要はありません。何をすべきかを知る必要があるだけです。これは、固定のPCからWiFiリンク経由で通信できます。このようなリンクを使用すると、ロボットが場所を特定するか、それが固定設備で行われ、結果がロボットに送信されるかは関係ありません。ロボットがWiFi接続を失った場合、単に停止する可能性があります。これにより、範囲外にならないため、向きを変える必要のある情報を取得できません。また、近隣のすべてのフラワーガーデンを刈り取ります。ロボットをできる限りシンプルにし、監視、修正、操作が容易な固定設備にできるだけ多くの負担をかけることも良い考えだと思います。

私は実際にこれをやったことがありませんが、あなたの問題について考えながら、私が思いついたものを以下に示します。ロボットにIRエミッタを回転させます。これは1秒に1回程度回転する場合があります。変調されたIRのかなり狭い垂直スリットを発射します。次に、固定されたIRセンサーをその場所、主に周辺に配置します。これらは、ロボットからのビームを感知するタイミングを示します。これは、反復間隔のごく一部に限られます。さまざまなセンサーからの信号のタイミングを比較し、それらの位置を知ることにより、ロボットの位置を計算できるはずです。任意の2つのセンサーからの時間オフセットをビーコン周期で割ると、ロボットから見た2つのセンサーの相対角度がわかります。十分なセンサーと多数の数学(最新のPCでほんの数秒で簡単に実行できます)により、ロボットの絶対位置を解くことができます。その後、PCはWiFiリンク経由でTCP接続を介して適切なコマンドをロボットに送信します。

ロボットは実際には位置情報を必要としません。すべての「思考」は固定PCで行われます。ロボットに必要なのは、WiFIモジュールとTCP / IPスタックを備えた小さな組み込みシステムです。相対方向、速度などの基本的なコマンドをロボットに送信できます。

任意の2つのセンサーからのデータにより、2つのセンサーも含む円弧上にロボットが配置されます。正確な円弧は、2つのセンサーの角度オフセットに依存します。理論的には、必要なのは3つのアーク、つまり3つのセンサーです。さまざまな理由で個々のセンサーが一時的に脱落するように、さらにいくつか使用します。それは問題を過剰に制約しますが、適切なアルゴリズムを使用すると、このすべてのデータを利用して、ロボットの最も可能性の高い場所を見つけることができます。

私が言ったように、私はこれを試していませんが、芝刈り機を制御するのに十分な精度を得ることができると思います。少なくともこのスキームは、特に高価なもの、入手困難なもの、または自分の裏庭で合理的に測定できるものをプッシュするもの(たとえば、ナノ秒のタイミングなし)に依存しません。


問題を回避するための+1。これにより、芝刈り機自体を可能な限りシンプルに保つことができます。IRスキームも単純であり、ヤード内の他のものからの反射が多くない限り、非常に効果的です。これは「いまいましい、私はそれを考えた」カテゴリに分類されます!

4

以前の回答では、芝刈り機がその位置を検出する方法の観点から問題に取り組んでいます。ただし、センサーは外部、つまり家の上にあってもかまいません。あなたの庭のどこでも芝刈り機を見ることができるようにカメラを置きます。芝刈り機といくつかの基準点にシンボル、旗、またはカラフルなものを置きます(または赤外線反射器またはLEDを使用して、カメラにノッチフィルターレンズをインストールし、irを入れるだけで追跡コードを単純化します)。カメラは固定されているため、ビデオフレーム内の参照ポイントと芝刈り機の位置は、明確なローカリゼーションデータを提供する必要があります。精度はカメラの解像度に依存します。このように、オンボードエレクトロニクスにそれほど費やす必要がなく、画像処理コードを「自宅から」実行できます。


3

ロボットが動き回る範囲(メートル、または数百メートル?)に応じて、これを達成できるいくつかの方法を考えることができます。

ただし、GPSを使用しても、簡単に入手できるハードウェアで1インチレベルの精度が得られるわけではありません。その精度を実現するには、キャリア位相差補正を実行する必要があります。これはそれほど複雑ではありませんが、モジュールをプラグインするほど簡単ではありません。このプロジェクトを見て、その実装を確認できます。

より簡単なアプローチは、IRビーコンまたは超音波ビーコンを使用し、ロボット上のセンサーを使用して、ロボットとさまざまなビーコンの間の相対範囲を決定することです。サーボ搭載のレシーバーは、トランスミッターに対する角度と相対的な信号強度を分離できます。残念ながら、この方法で精度のインチレベルを取得する可能性はありません。


1
このGPS技術は「差分GPS」として知られ、静止基準点の位置を正確に知る必要があります。
マーク

OPは正確な相対精度のみを必要とすることに注意してください。芝刈り機は、クリーブランドまたはツーソンにあるかどうかを知る必要はありません
。– DefenestrationDay

2

別のオプションは、ウェブカメラといくつかのよく知られている形状/色を使用して、簡単な画像認識を実行することです。三角測量(おそらく、ステッピングモーターでWebカムを回転させる)を使用して、現在位置を把握します。これは、Arduinoのような小さなものではなく、かなりのCPU処理能力(たとえば、BeagleBoneやネットブック)が搭載されている場合に実行可能です。


私はこれについて考えてきました。これは大きな4輪ロボットで、安価なWindows 7またはLinux PCを搭載するだけなので、ソフトウェアを作成できます。
ジェイミーマケルヴィーン

2

私はこれらすべての他の答えとは異なるルートを見ます。庭の周囲にワイヤーを埋めます。100kHz(または何か)の信号を出力する小さな回路で駆動します。これは、モバイルプラットフォームで簡単に検出できます。これは、犬を庭に飼うために使用されるフェンスレスシステムで使用されるのとまったく同じ手法です。地獄、あなたはおそらくセンサーとして使用するユニットのいずれかをつかむことができます。

それはあなたに境界制御を与えるでしょう。100kHzの信号を感知すれば、あなたは端にいます。もちろん、最初に芝刈り機なしでこれをテストします(おそらく、最初の設計はこれを行うために改造されたR / Cカーでなければなりません。WindowsPCを捨ててArduinoシステムを入手します。数百ドルとR / C車があれば、プロトタイプを手に入れることができます。

親として、これを可能な限り安全にしたいと思っています。これは、多くの電子機器を信頼できる2ストロークに縛り付けないことを意味します。80年代のRadio-Electronicsマガジンの古いコピーが見つかるかどうかを確認してください。そこには、ローンレンジャーと呼ばれるロボット芝刈り機の設計がありました。もちろん、元のデザインを再作成することはありませんが、刈り取り草を検出するための簡単に構築できるセンサー(障害物回避、境界検出、ナビゲーション)など、いくつかの新しいイノベーションがあり、さらに重要なことに、 1ポンドの鋭く硬化した鋼が振り回されるよりもはるかに安全な切断刃。切断システムは、基本的に、x-actoブレードが固定された一対のスイングディスクでした。ディスクは回転します。つまり、岩(または足)が邪魔になると、悲惨な傷害が少なくなります。その一連の記事をチェックして、いくつかの原則を現代のデザインに適用することを強くお勧めします。公共図書館から入手できる場合があります。私はそれらがあったことを知っています。

幸運を祈ります。これは、若者たちの興味と思考を保つ素晴らしいプロジェクトのように聞こえます。


1
ローンレンジャーについて読んだことがないことは認めざるを得ませんが、刈払機のスイングブレードを修理したので、安全性に関するあなたのコメントは間違っていると思います。草を刈るのに十分な速さで回転すると、足をバラバラにします。スイングカッターの利点は、切り株や岩に引っかかってもギアボックスが破損しないことです。それはあなたの足が何らかの形でブレードから安全であることを意味するものではありません。同様に、ストリングトリマーの比較可能なケースを考えてみましょう。非常に軽量で柔軟ですが、それでもかなりひどく混乱する可能性があります!
ケビンフェルメール

1
信じてください、ピボットディスクが足を保護するとは思いません!私は、固定された重いブレードは、より多くの慣性を持ち、より軽いだけでなく、足を打つときに「与える」ピボットディスクよりも多くの損傷を引き起こすと言っています。モーター用のハードウェア過電流カットオフと組み合わせると、典型的な芝刈り機のブレードよりもはるかに安全なものがあると思います。それが私が提案した理由です。このプロジェクトは、自律型電子機器と鋭利な物体を扱っています。安全は、最初から設計の一部にすべきだと思います。:-)
akohlsmith

2

ジャイロでGPSを使用して、安定した位置追跡を行うことは可能でしょうか。方法を知っていて、両方のソースからの安定した位置誤差信号(PES)があれば、ファジーロジック学習法を適用できます。大規模な位置検出用のGPS +/- 10mおよびジャイロまたは短距離位置追跡用のその他の手段+/- 0.1m

計画1)Zigbeeラジオまたは機内データ収集システムを使用して、芝生を刈る各子供のGPSパストラッキングデータを測定します。距離を集計し、勾配ジッタ、オーバーラップ、またはトラックXおよびYの有効数を分析するパス分析プログラムで、後で安定性、パターン、速度、有効性を分析します。

2)最適なパスを選択して記憶します。(クッキークラム)各子供が使用するさまざまなパスを記録し、記録されたパスをパスのパフォーマンスと安全性について評価します。

3)直交ベクトル、斜めベクトル、円形トラックを使用して草刈りすることにより、さまざまなパスPESを測定し、各車両誘導方法の有効なトラッキングエラーを決定し、生成された刈り取り芝生の美的差異についてコメントします。

分析のために蓄積された記録された位置信号を使用し、その後4チャンネルのサーボ制御システムでロボット追跡を試みます。(ガス、ステアリング、ブレーキなど。)

最大の教訓は、(子供、クライアント、エンジニアと)コミュニケーションをとる方法を学ぶことです。設計する前に仕様を書く方法を学ぶことが最大の教訓です。どのような入力、プロセス、出力、環境入力、および受け入れと拒否の基準を持つテスト可能/測定可能なパラメーター。マイルストーンごとに適切な報酬と失敗の結果も必要です。

これは、プロジェクト計画、設計仕様、およびDVT計画のサムネイルです。(設計検証テスト)

あなたの成功はそれにかかっています。頑張って楽しんでね。


1

これは出発点にすぎませんが、John Swindleのオーディオローカライザーの背後にある理論を説明するこのPDFをご覧になることを強くお勧めします。私が思い出すように、ローカライズのさまざまな方法を説明し、ジョンの方法を説明します。(セットアップは簡単ではなく、コードは提供されませんが、DPRG(Dallas Personal Robotics Group)のRoboColumbusイベントに有効に使用されます)。


私はすべてのオーディオに専念していますが(私は生計のためにオーディオ製品を設計しています)、ここでは動作しません。風が吹いている庭と、芝刈り機からの騒音/振動は、この種のアプローチにとって敵対的な環境です。距離が関係するため、音のレベルはかなり大きく、人間の聴覚範囲内である必要があります。たとえそれが機能したとしても、隣人と住宅所有者を困らせます。

@DavidKessner-超音波スピーカーとマイクを使用して、サウンドシステムを人間の聴覚と環境ノイズ(超音波領域では振幅が小さいことがわかっています)から分離できませんでしたか?超音波鳥のリペラーはかなり強力で安価です。もちろん、これはペットにとっては面倒なことであり、鳥の餌箱の近くの出席者を減らすでしょうが、例えば、鳥に襲われた庭がある場合は望ましいかもしれません。
ケビンフェルメール

1
@KevinVermeer Ultrasonic(US)は、人間の聴覚の範囲で物事を実行するよりも優れたソリューションであり、他の物事を複雑にします。まず、PCサウンドカードを使用してチャープを生成したり、マイク信号をデジタル化することはできません。また、必要な距離(私の推定では200フィート以上)で動作する米国のエミッタを入手するのは困難です。それでも、芝刈り機自体の騒音と振動があります。あなたが言及したPDFは、ロボットがローカリゼーションプロセスの間、静止したままでなければならないと述べました、そして、私は芝刈り機の刃も同様にオフ/静止している必要があると思います。

1

/electronics//a/23506/5439

LPSに関する別の質問に対する私の答えをご覧ください。簡単な答えは、これは非常に難しい問題であり、既存のシステムは非常に高価なことです(数千ドルから)。超音波センサーを使用することをお勧めします。Googleを使用している場合、超音波と可聴音の使用に関する先行技術を見つけることができます。


1

現在、udacityは、無料のオンラインコース「ロボット車のプログラミング」を提供しており、Googleが自動運転車に対してどのようにそれを行うかを教えています。基本的には、GPSを使用して大まかなポジショニングを行い、保存されたマップとビジョンセンシングを使用して、高精度にローカライズします。ソフトウェアは粒子フィルターを使用します。

測量士が使用する非常に高価なディファレンシャルGPS機器を使用した場合、GPSだけでそれを行うことができますが、それはほとんど費用効果がありません。お勧めのように、低コスト(おそらくXbee?)のトランシーバーを使用すると、パルスを送信し、ロボットのトランスミッターからロボットまでの移動時間を測定することで、非常に高い精度で距離を簡単に測定できます。リモートリピーターとバック。これはレーダーに似ていますが、パッシブサーフェスから信号をバウンスする代わりに、静止したトランスポンダーによって送り返されます。

編集:私はこれについてケビンから呼び出されたので、おそらく私が説明した方が良いかもしれません;-)これを実装します)。

2点間の伝搬遅延を正確に測定するには、主に2つのことが必要です。1)反射により歪みが生じるため、直線信号パス。2)同期クロックを使用し、必要な精度で時間間隔を測定する機能を使用する両端の電子機器。

同期クロックは、受信ステーションが他のステーションによって送信されている信号からクロックを取得できるため、比較的簡単です。これは、クロックリカバリを使用した標準の同期データ送信です。

これは、1.25 Gbpsの双方向データリンクでの伝搬遅延の測定に関する論文です。長さ10 kmの光ファイバーでこの種の精度を簡単に得ることができます。彼らは次のように述べています「最大10 kmの長さにわたってサブナノ秒の精度で〜1000ノードを同期できるはずです。」

このノートでは、2つのノード間の時間オフセットを決定する方法について説明します。これらのノードは、たとえば1000BASE-X(ギガビットイーサネット)で使用されているように、8B / 10Bコード化1.25 Gbps双方向シリアルポイントツーポイント通信チャネルを介して接続されます。時間オフセットは、マーカー信号を使用して伝搬遅延を測定することにより決定されます。信号は、マスターからスレーブノードに送信され、(Virtex-5)FPGAのシリアライザー/デシリアライザー(SerDes)機能を使用して返送されます。スレーブノードで回復されたクロックはスレーブの送信クロックとして使用されるため、システム全体が同期します。1.25 Gbpsシリアル通信チャネルの場合、遅延は単一単位間隔(つまり800 ps)の分解能で認識されます。この分解能は、マスターノードの送信クロックと受信クロック間の位相関係を測定することでさらに強化できます。この手法は、2つの波長で使用される単一の10 kmファイバーで動作し、マスターノードとスレーブノード間の双方向のポイントツーポイント接続を容易にすることが実証されています。

また

最初のテストセットアップは、3.125 Gbpsで動作するコード化されたシリアル通信チャネルを使用して、トランスミッタとレシーバ間の伝搬遅延を測定する原理を検証するために構築されました。トランスミッタとレシーバは、2つの別個の開発ボード上のFPGAにあります。この最初のテストのセットアップでは、1単位間隔の分解能(つまり、3.125 Gbpsで320 ps)で100 kmのファイバ上の伝搬遅延を測定できることが示されました。

使用機器:

テストセットアップは、2つのML507ザイリンクス開発ボードで構成されています[7]。Virtex-5 FPGAは各ボードにマウントされています。一方のML507開発ボードはマスターノードとして指定され、もう一方はスレーブノードとして指定されます。マスターとスレーブは、スモールフォームファクタープラガブル(SFP)トランシーバーと10 kmのファイバーを介して接続され、双方向リンクを作成します。デュアル波長で動作する単一のファイバが使用されます。

テスト設定

明らかに、この特定のセットアップはほとんどの趣味のロボット工学プロジェクトにとってはやり過ぎですが、市販の開発ボードを使用し、特別な才能を必要としないため、自宅で簡単に再現できます。ロボットの場合、リンクは光ファイバーケーブルではなく無線になります。多分、それはテレビのリモコンのようなIRリンクでさえあるかもしれませんが、明るい日差しの中で外が問題になるかもしれないと疑っています。夜になるとうまくいくでしょう!


2
パルスを送信し、ロボットの送信機からリモートリピーターまで往復するのにかかる時間を測定することにより、非常に高い精度で距離を簡単に測定できます -空気を介してパルスを送信するのにかかる数ナノ秒パルスの送信とエコーに必要な処理遅延よりも5桁高速です。私はこれがうまくいくとは思わない。
ケビンフェルメール

1
ケビンの権利。グレースホッパーナノ秒(youtube.com/watch?v=JEpsKnWZrJ8)を考えてください。インチの精度は、数十ピコ秒の測定を意味します。私はそれがうまくいかないと思います。一方、超音波の使用は可能性です。
drxzcl

1

他の人が言ったように、ローカリゼーションは難しい問題であり、手頃なコストで1インチの解像度は非常に困難です。あなたは、ロボット芝刈り機を含む大学レベルの競争があることを知ることに興味があるかもしれません:ION Robotic Lawn Mower Competition。私はIONの準備をしているチームの一員でした。結局、私たちは競争しませんでしたが、私たちは間違いなく問題について考えることに多くの時間を費やしました。ご了承ください競合他社のほとんど前回のIONコンテストでは、割り当てられた時間内にフィールドの50%未満を刈り取り、プラットフォームの費用は数万ドルでした!ただし、IONは、問題をより簡単に解決できるビーコンなどの外部ナビゲーション支援を許可しないため、利点があります。(そして、時間制限はありません。)チームのプロジェクトレポートに目を通すことは、良いアイデアの源です。

あなたのようなロボット芝刈り機プロジェクトに着手する場合、おそらく安価なGPS(大まかな場所)、IR /超音波/マルチカラービーコン(fine(r)場所)、エンコーダー(位置推定)、およびコンピュータービジョンの組み合わせを使用します(さまざま)。派手なGPSやIMUシステムに数千ドルを費やすことはお勧めしません。Kinectは良いアイデアであり、Lidarよりもはるかに安価です。デプスマップとカメラの間を噛むことは間違いなくあります。

また、自動運転車のプログラミングに関するUdacityコースで、関連する概念を紹介することをお勧めします。


1

質問を修正して1インチの解像度の要件を削除し、Windows PCとMicrosoft Connectをオンボードで搭載するように指示したので、ロボットのそのハードウェアだけで非常に良い場所に配置できると思います。

ティーまでの距離を見つけるために使用する安価なゴルフスコープを見たことがありますか? ここに画像の説明を入力してください

彼らが働く方法は、グリーン上の旗の知覚された高さ(固定高さ)を測定し、ティーまでの距離を示すことです。これは単純な直角三角形で、角度と向こう側の高さがわかっていれば、底辺の長さを計算できます。これはまさにあなたの息子が幾何学で、そして後に三角法で学ぶことになるようなものです。

あなたの家はあなたの区画のすべての部分から見えるように見えるので、おそらく2つのコーナーを見て距離を計算するのは簡単でしょうか?


1

芝刈り機自体の音響エネルギーを使用します。独自のピンガーです。または、そのノイズを使用して、芝刈り機に追加されたオーディオチャープピンガーをマスクし、クランクシャフトまたはブレードに同期させることができます。芝刈り機と庭のいくつかの場所にマイクを置きます。ラウドネスに基づいて位置の大まかな推定値を取得します。最も近いマイクには、マルチパスの問題はほとんどありません。次に、最も近いマイクからのオーディオを相互相関させて、飛行時間のサウンド遅延を推定します。平均またはカルマンフィルターを使用して、遅延推定のノイズを取り除き、トリガーを適用します。芝刈り機のチャープまたはエンジン振動を(人間から)隠し、(相互相関によって)検出できる場合、数インチの精度を得ることができるかもしれません。


1

http://porcupineelectronics.com/uploads/LR3_Data_Sheet.pdfをご覧ください この小さなLR3アダプター(廃止されましたが、より良いものが準備中です)を使用すると、PCまたはSBCをFluke 411D距離計に接続できます。新しいユニット(LR4)は、新しいFlukeメーターで動作します。パン/チルトプラットフォームのカメラと組み合わせて、既知のターゲットとパンサーボの高解像度エンコーダーをポイントして、高精度の角度測定を行うことができます。これにより、ヤードのマップに対するロボットの位置を三角測量できます。必要な精度。コードに三角法が必要になります(私の高校の数学より上)。インターネット(Wikipedia)で必要な方程式を見つけました。ここに含めますが、情報が保存されている自宅のマシンからは離れています。システムは、マップの生成を容易にすることもできます。受動的な防振機能を備えたジャイロ安定プラットフォームが必要な場合があります(芝刈り機には多くの振動があります)。その場で測定する場合は、レーザーをターゲットに維持するための追跡ソフトウェアが必要になる場合があります。正確な走行距離計を使用すると、計算能力が控えめであれば、「修正」の間隔が長くなります。


それはだ芝刈り機ではなく、スペースシャトル。
オリンラスロップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.