リモート脳を使って小さなロボットを作る


8

ロボットをできるだけ小さく、「デリケートな」パーツをできるだけ少なくして作りたいと思います(ボットはお互いにぶつかります)。

bluetooth / IR / wifiコマンドを受信して​​モーターを動かし、次に加速度計などのセンサーに基づいてフィードバックを送り返す(衝撃を検出する)ことができる小さなチップを使用できるかどうか疑問に思っていました。

私はおそらくPiCyでこのようなことを達成できます

ぴかぴか

ただし、これは(Piのサイズが原因で)希望よりも少し大きく、Piが継続的に影響を与える期間はわかりません。

したがって、脳(Pi)をアリーナの側面にオフセットし、小さなチップを使用して移動コマンドを受信し、加速度計からデータを返送したいと考えています。

そのようなチップに対する推奨事項はありますか?Wifiが私の選択ですが、それがサイズに影響を与える場合、BTを試すことができます

編集:さらなる調査の後、WiFi RedBackシールドを備えたArduino nanoが、モーターに対して次のようなものと一緒に機能する可能性があるようです:http ://www.gravitech.us/2mwfecoadfor.html

回答:


2

rPIボードの耐久性は予想よりも高いかもしれません。それらに多くの質量がないので、少量のゴムまたはフォームのパッド(周りのがたつきを減らすため)でそれらを保護するのに十分でなければなりません-ロボットがプラスチックのケーシングを割るのに十分な力で一緒に叩いていない場合それら。

処理をリモートの(そしておそらくより強力な)システムにオフロードすると、いくつかの利点が得られます。たとえば、軽量化、壊れにくく、移動に必要なバッテリーが少なくなります。

欠点は、帯域幅の制限と待ち時間です。ワイヤレス伝送の遅延を導入したら、毎秒数千回の反復の大枠で処理できるハードウェアベースのループから、毎秒数十回の反復しか処理できないネットワークベースのループに進みます。

最良の結果を得るには、設計でローカルハードウェア上で可能な限り多くの制御処理を実行し、リモート接続を使用して、1秒あたり数回しか受信する必要がない高レベルの計画決定を行う必要があります。


あなたのコントロールは、インターネットを介してウェブカメラを介して行われるため、とにかくわずかな遅延が予想されます。
タイタン

0

あなたが説明するロボットを構築するための2つのアプローチがあります。

1つ目は、ご提案のとおり、センサーとアクチュエーターを保持するロボットの他の部分から処理能力を切り離すことです。そのためには、処理装置(PC / RPi /その他のマイクロコントローラー)とロボットの間の通信が必要です。このための低コストのソリューションは、安価なBluetoothモジュールを使用することです(eBayで「シリアルBluetoothモジュール」を検索してください。コストは5ドル以下にする必要があります)ロボット側では、Bluetoothからデータを受信して​​処理し、モーターの制御信号に変換する必要があるため、マイクロコントローラーも必要です。さらに、同じマイクロコントローラーがセンサーの読み取りとリモート処理ユニットへのデータの送信を担当します。

2番目のアプローチは、ロボットに配置された単一の処理ユニットを使用することです。同じコントローラーがセンサーを読み取り、インテリジェンスを提供し、モーターを制御します。あなたが説明するロボットは単純なので、このコントローラーは単純なマイクロコントローラーに実装できます。(PIC / AVR / ARMを使用して)独自のコントローラーを作成するか、Arduino、BasicStampなどのレディソリューションを使用できます。オプションで、テレメトリー用にPCとBluetooth接続できます(センサー値の監視および/または手動での制御ロボット)。

プロジェクトにとって、2番目のアプローチはより魅力的です。処理がロボットで直接行われるため、コストが大幅に削減され、ロボットの反応が速くなります。また、最初のアプローチではロボットの処理ユニットも必要になるため、2番目のユニットを処理に使用するのはやり過ぎのようです。一方、最初のアプローチでは、経験に応じてより快適な環境になる可能性のある上位システム(PC / RPi)でロボットコントローラーを開発できます。


ロボットに大きなコントローラーを設置しない主な理由は、衝撃後の損傷を避けるためでした。リモートコントローラーアプローチを採用した場合、複数のロボットに1つのメインコントローラーのみが必要になります(それぞれに固有のIDを使用してコマンド/フィードバックを識別します)。私は、Wifiシールド(リモートサーバーとの制御とフィードバックのためにsocketio通信を送受信するため)で十分に小さく見えるAdriuno nanoで「ボットの頭脳」ソリューションを実現できるかもしれません。
タイタン

あなたは正確に何を示唆していますか?ロボットにWi-Fiと追加のリモート処理ユニットを備えたArduino nanoをお持ちですか?どのユニットが制御計算を行いますか?
Demetris

ええと、私はまだわからない。nanoは私が推測するすべてを実行できます!
タイタン

はい、あなたのプロジェクトの目的のために、単一のオンボード処理ユニットがより良い選択のようです!回答で述べたように、ロボットとの通信が必要な場合は、安価なBluetoothモジュールを介して行うことができます。あるいは、複数のロボットがあるので、ネットワークを確立する必要がある場合は、(さらに安く!)nrf24l01 +モジュールを使用できます。
Demetris

0

私はこのプロジェクトに最適なコントローラーを見つけたかもしれません:

http://www.robotshop.com/en/dagu-micro-magician-robot-controller.html

Micro Magicianを使用すると、2つのシンプルなDCモーターを制御し、加速度計で衝撃や衝突を検出し、IRレシーバーから移動コマンドを受け取ることができます。サイズとしてはかなり素晴らしいです。

パズルに残っているのは、リモートコントローラーにデータ(加速度計データ)を送り返すことだけです。IRトランスミッタまたはBT / Wifiを接続できるかどうかわかりません。

編集:これは仕事をすることができるように見えます!http://www.dawnrobotics.co.uk/dagu-arduino-bluetooth-module/

小さなモーターを見つけるために...


1
Synapse RF266PC1は興味深いデバイスです。それらは小さく、プログラムが簡単で、Pythonベースです。それらのADCはそれほど良くありませんが、ATmega328(Arduino UNOで使用されるチップ)と組み合わせて、データを送受信するのに十分な処理能力を得ることができます。私はWixelsも使用しましたが、rx / tx距離は多くの点で満足できません。これらのRF266PC1は、箱から出してすぐにメッシュネットワーキングを実行できますが、Wixelsはそれをまったく実行できません。
Daniel F
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.