自律ロボットFrankの作成。 パート1

画像



2か月目は、夜に自律ロボットを収集しています。その名前はFrankです。 なんで? 聞かないで! すべてのロボットに美しい名前を付ける必要があることは知っていますが、まだ何も思いついていません。 何かアイデアがあれば、コメントに書いてください。 それはずっと前に始まりました。 神経科学、認知科学、人工ニューラルネットワーク、人工知能に対する私の情熱は、コンピューターアルゴリズムの研究はかなり魅力的なプロセスであるという事実につながりましたが、時には自分の手で自分の作品に触れて、実際の生活でどのように動作するかを確認したいです。



私は映画業界で仕事をしているので、これらはすべて既存の知識とはあまりうまくいきませんでした。 目的の結果を得るには、すべてをゼロから学び、膨大な量の文献やWebサイトを読み、多数の実験を行う必要がありました。



私がロサンゼルスに住んでいる時間の半分とモスクワに住んでいる時間の半分から、いくつかのリンクはあまり関係がないかもしれません。 一方で、私は絶え間なく旅行してもロボット工学を勉強したいという欲求に影響を与えないため、あちこちで電子機器を買う店を見つけなければなりませんでした。 したがって、可能であれば、私たちと西洋の両方のリソースへのリンクを公開します。 おそらく、これはロシアの読者と海外のHabréを読む人の両方に役立つでしょう。







画像



それはすべて、ロボットを構築できるプラットフォームの選択から始まりました。 当時、私は彼が脚、車輪、その他の交通手段を持っているかどうかは気にしませんでした。 Lynxmotionプラットフォームの1つから始めることにしましたが、注文を送信するのに十分なサーボモーターがありませんでした。 その瞬間、私はサンディエゴにあるBrain Corporation社のロシア人仲間と出会い、彼らのオフィスを訪れたとき、私は簡単なもの-レゴマインドストームから始めなければならないことに気付きました。 これはかなり単純なプラットフォームで、青少年には理解できますが、必要に応じてPythonおよびC ++でプログラミングできます。



モスクワに向けて出発するまで、私はロサンゼルスで一週間過ごしました。 念のため、レゴテクニックキットとレゴマインドストームNXT2.0キット自体をいくつか注文しました。 Arduinoやその他の同様のシステムに関する興味深い記事を読んだ後、初心者向けのコンポーネント、サーボモーター、レゴ用のサーボモーターの取り付けを含むキットをいくつか注文しました。



すべての詳細が来て、スーツケースに入れて、モスクワに飛んで最初のロボットを集めました。



画像



最初はすべてが非常にシンプルに見えましたが、実際には、全輪駆動、全輪駆動、およびサスペンションを操縦できる4輪のモンスターを組み立てることができませんでした。これにより、3週間でオフロードを走行できます。 レゴテクニックキットに入っているモーターは非常にコンパクトです。 本当に全地形型車両を組み立てることができますが、マインドストームに接続するのはそれほど簡単ではありません-追加のケーブルとアダプターが必要です。 マインドストームモーターは非常に大きいため、コンパクトなフランクを組み立てることは不可能でした。 もっと難しく、もっと面白くしなければなりませんでした。



Legoに付属しているモーターの代わりにHiTechモーターを使用し、NXT Brickの代わりにArduino Unoを使用することにしました。 サーボモーターをArduinoのPWM出力に接続し、すべてが機能していることを確認した後、フランクを組み立て直し始めました。 マウントとモーターはまだ非常に大型でしたが、フォームファクターの変更により、SUVのボディに配置することができました。 サスペンションを犠牲にしなければなりませんでしたが、将来、路上を走る時が来たら、何かを思いつくでしょう。



画像



画像



そして、プラットフォームは組み立てられます。 最も興味深いことをする時が来ました-フランクに電子機器を詰め込み、彼を動かします。 すべてのコンポーネントが正常に機能することをテストするために、通常のプロトタイピングボードであるArduinoを使用しました。 各サーボモーターには、赤、黒、黄色の3本のケーブルがあります。 黒いケーブルはアースです。 Arduinoを接続するときは、Arduinoのグラウンドとサーボモーターを互いに閉じる必要があります。 したがって、サーボモーターからのすべての黒いケーブル、Arduinoからのgrd出力、および接続するサーボモーターに電力を供給するバッテリーの最小値。 さらに、プラスサーボモーター(赤いケーブル)とプラスのバッテリーを一緒に接続しますが、Arduinoには接続しません。 Arduinoが問題なく機能するためには、サーボモーターのパワーとArduinoのパワーを分離する必要があります。 このために、モーターとArduinoに異なる電源を使用します。 電源が1つしかない場合、各サーボモーターのプラスとグランドの間にコンデンサをはんだ付けする必要があります。これにより、ボード内の不要な「ノイズ」を防ぐことができます。



Arduinoの「Servo-> Sweep」プリセットが機能することを確認した後、Arduino Proto Shieldに基づく小さな回路のはんだ付けを開始しました。 もちろん、これは私の手ではんだごてを使った最初の経験であったという事実のために-私は安全にボードを捨てました。コンタクトのいくつかが「グランド」に接続され、したがって互いに接続されていることに気づきませんでした。 現在、実験用の新しいボードが来るのを待っています。



現時点では、これが私の実験の進行が今日まで止まっている場所です。 コンポーネントが追加された場合、次に何をする予定ですか?



だから! 今週は3Wのソーラーパネル3枚、Arduino Proto Shield 2枚(別のボードを破壊する場合に備えて)、Li-Poバッテリー2LIR18650-PCB-LD、Seeedstudio Lipo Riderをお届けしなければなりません。



また、在庫には、さまざまな超音波センサー、2台のCMOSカメラ、BeagleBone Blackがまだあります。 このすべてから何が来るのでしょうか?



ソーラーパネル、Li-Poバッテリー、Lipo Riderはバッテリー寿命を提供します。 電圧が低下した場合、バッテリーの充電中にロボットを「スリープ」モードにすることができます。



2台のカメラ、超音波センサー、およびおそらくレーザー距離計(合理的に安価なソリューションを思いついたとき)は、BeagleBone Blackによって処理され、「世界の写真」が作成されます。 人々の視覚のプロセスはマルチレベル(ニューラルネットワークの異なるレベルが異なる画像プロパティを処理する)であることを考慮して、階層的に接続された複数のBeagleBone BlackまたはParallelaボードを使用するというアイデアを思いつきました。 各ボードは独自のアルゴリズムを実行し、プロセッサのパワーと空きメモリの量を最大限に活用し、データをさらに処理するためにチェーン内でさらに転送します。 したがって、他のセンサーを処理できます。 その結果、生体のように自律型ロボットを制御するコンポーネントの大規模なネットワークを取得します。



ロボットを組み立てるエキサイティングな旅の前。 残りのコンポーネントが来てすべてが機能したらすぐに、別の記事を書きます。



さて、部品や電子機器などを購入するさまざまなリソースについて。



アメリカ:

1)アメリカの主要なリソースは、当然のことながらAmazon.comです。 そこで何でも買うことができます。

2) Newark.com-ここでは、 超小型回路用のコンポーネントを購入できます。

3) Lynxmotion-スペアパーツと既製のロボットを購入できます。

4) マインドセンサー-レゴおよびその他のプラットフォーム用のさまざまなセンサー。 Arduinoには多くのことがあります。

5) Trossen Robotics-おそらく、ロボットを開発するための最もクールなプラットフォーム。 ここでは、サーボモーター、スペアパーツ、超小型回路などを購入できます。



ロシア ここではすべてが少し悪くなっています。あなたの助けと推薦を本当に望んでいます。なぜなら、1つの店に加えて、価値のあるものを見つけることができなかったからです。



1) Electronshik-私がまだ行っていない唯一のもの。 ここにはすべてがありますが、現時点で必要なものはすべてありません。



All Articles