カメラとwifiコントロールを備えた自家製ボット

公開された記事を読んだ後、昔、合板、アトメガ、はいラズベリー 、私は自分のクラフトを共有することにしました。



ボットの作成時に、次のタスクが設定されました。





オンボードコンピューター




オンボードコンピューターには、手元にあるデュアルコアアンドロイドミニコンピューターUG-802を選択しました。 オペレーティングシステムとして-完全なLinuxディストリビューション、LinaroからのUbuntuのアセンブリ。







最初に、問題のある組み込みのWi-Fiアダプターで何かをしなければなりませんでしたが、これは頑固に再アセンブルされたカーネルで実行したくありませんでした。 基本的な決定は、はんだ付けを解除し、2番目のUSBホストコネクタをインストールすることでした。このコネクタには、通常のusb wifi(または3Gモデム)を接続できます。 すぐに言われたように、内蔵のwifiボードははんだ付けされず、2台目のホストが代わりにはんだ付けされました。



内部USBホストの最初のチェック:





インストールされたUSBホストの最終ビュー:





ホイールプラットフォーム




Ardubotプラットフォームとモーター付きホイールを注文したが、手が届きませんでした。 ためらうことなく、それを使用することにしました。 店舗で特別に購入した車の充電器に取り付けられた12〜5ボルトのコンバーターボードが取り付けられました(使用される超小型回路の入力電圧範囲が広くなっています)。 11.1V / 1250mAのリチウムポリマーバッテリーは、過去に壊れたモデルからすでに入手可能でした。 Ardubotボードは、制御ボードの機能のために軽く変更する必要がありました(トラックはD9から切り離され、D7にはんだ付けされています)。 5ボルトの電力のみが出力されるusbコネクタもインストールされました。





ホイールエンコーダーからの配線は後ろに見えます:





エンジン、調光




ArdubotはもともとArduinoと共有するように設計されていたので、活用してみてください。 Arduinoの代わりに、コネクタと互換性のあるOLIMEX PIC32-PINGUINO-MX220を使用しました。 不快な些細なことが判明しました-モーター制御ピンの1つがPINGUINOボードのLEDに使用されていました。 すべては問題ありませんが、このLEDはファームウェアブートモードで点滅し、同時にホイールを回します。 したがって、上で書いたように、トラックを再はんだ付けする必要がありました。



デバッグを容易にし、汎用性を高めるために、制御ボードはUSB経由で接続されています。 PINGUINOファームウェアは、シリアルポート/ dev / ttyACM0としてユーザーに表示されるCDC-ACMデバイスをエミュレートします。 送信される制御コマンドは次のようになります。

モーターXY X-モーター番号、Y-状態
ライトxy X-ランプ番号、Y-状態
クリア すべてをデフォルト状態にリセットします
コミット 適用する




モーターの番号付け:0-左、1-右。

状態:0-停止、1-前方、-1-後方。



たとえば、プラットフォームの背面LEDをオンにするには、コンソールからコマンドを送信するだけで十分です。

echo "LIGHT 1 1" > /dev/ttyACM0 echo "COMMIT" > /dev/ttyACM0
      
      







先に進むには:

 echo "MOTOR 0 1" > /dev/ttyACM0 echo "MOTOR 1 1" > /dev/ttyACM0 echo "COMMIT" > /dev/ttyACM0
      
      







カメラとハブ




オンボード(ボット)コンピューターの1つのUSBポートはwifiアダプターで使用され、もう1つはプラットフォーム制御ボードです。 カメラをどこに接続しますか? 解決策があります-ハブを使用します。 コンピューターの1つに、最も安価なWebカメラの1つが格納され、疑わしい種類のUSBハブが購入されました。



電子機器の配置




ボットが何を探すかを見つける過程で、IPOD TOUCHのプラスチックボックスパッケージが正常に見つかり、UG802と分解されたUSBハブが理想的に挿入されました。 3つのハブコネクタの側面にカットアウトが作成されました。 4番目の(内部)コネクターに差し込まれたカメラ(ケーブルが事前に短縮されている)。 ふたにもUG802のUSBコネクタの切り欠きがあり、閉じられませんでした。





すべてがPINGUINO-MX220-プラットフォーム制御ボードの上部にねじ込まれています。





最終組み立てとテスト




すべてをまとめるときです。





すべての配線が本来あるべき場所で止まっている-ハブのPINGUINO、ArdubotのUSBコネクタに電源供給されているUG802:





オンボードコンピューターはsshアクセス用に構成され、作業に必要なすべてのツール(コンパイラー、ライブラリー、mc)はLinaroリポジトリーからインストールされます。 入って、書いて、コンパイルして、デバッグしてください。 美人!



テストのために、ボットのカメラからオンライン画像を表示し、どこに行くか、ランプをオン/オフするコマンドを送信するコントロールコンソールが開発されました。 ソフトウェアボットはコマンドを受信し、オンラインビデオを管理コンソールに送信します。 現在のステータスはディープベータです。 ただし、すでにシステムを使用できます!



ビデオデモンストレーション








推奨事項


sparkfan ardubotを使用する必要はありません。より安価で優れたオプションがあります。

UG802は安価なアナログ(MK802、CX-01)に置き換えることもできますが、特定のデバイスクローンで動作するカーネルソースが利用できるようにする必要があります。 そうしないと、本格的なLinuxをインストールするのに問題が生じるか、まったく不可能になります。



参照資料


googolコードのプロジェクト(ソース)

リナロ

OLIMEXのPIC32-PINGUINO- MX220

SparkfunのArdubot






All Articles