web-dev-qa-db-ja.com

ロボット工学のプログラミングはどこから始めますか?

わかりましたので、しばらくの間ロボット工学に興味があり、プロジェクトを考えていました。小型の遠隔制御車両ロボット/無人車両ロボットを構築する。うまくいけば、感覚デバイス(gps、温度計など)からデータを読み取り、そのデータを何らかのデバイスに書き込むことができます。アイデアは、私が次の article を読むまで、しばらくの間ずっと必要でした。

だから私の質問はこれです。どこから始めましょうか。私はこれについて、いくつかのgoogle検索と私のプロジェクトアイデア以外はまったくまったく経験がありません。マイクロコントローラボードのプログラミングをいじってみたいです。私はいくつかのJava .net言語といくつかのCを知っています。

どこから始めればいいですか?

どのようにロボットを設計し、最初から最後までどのステップを実行しますか。

ありがとう。

32
Julio

プログラミング側に興味がある場合は、 Lego MINDSTORMS のようなものから始めることができます。電子機器の側面に興味がある場合は、 Parallax および The Robot Store でいくつかのキットを確認してください。

言語とプラットフォームが混在しているので、お気に入りの言語を選び、価格帯で何かを見つけてください。ロボット工学はとても楽しい(そして非常に時間がかかる)場合があります。

ところで、RCカーと BASIC Stamp だけでかなりかっこいいロボットを作ることができます。また、コンピューターに パラレルポート がある場合は、コンピューターをRCカーに接続してさらに強力な電力を供給できます。

12
Matthew Whited

レゴマインドストームは驚くほど堅牢なシステムであり、実際に達成したいことにもっと集中することができます。キットに付属しているビジュアル言語以外でプログラミングできるシステムがあります。

または、スターターキットを [〜#〜] vex [〜#〜] から取得できます。これには、PICまたはCortexマイクロコントローラーのいずれかと、プログラミングシステムが含まれます。 VEXキットは、脳とモーターを備えた勃起器のようなものです。 :-)

8
Joel

Arduino は、愛好家の間で人気のある非常にプラットフォームです。それは基本的にいくつかの入力と出力を持つプログラム可能なボードです。使いやすく、大規模な サポートコミュニティ であることから、私はそれから始めることを強くお勧めします。

Arduinoは、柔軟で使いやすいハードウェアとソフトウェアに基づく、オープンソースの電子機器プロトタイピングプラットフォームです。アーティスト、デザイナー、愛好家、そしてインタラクティブなオブジェクトや環境の作成に関心のある人を対象としています。

Arduinoをコントローラーとして使用してロボットを構築するチュートリアルを作成した人もいます。 これ はかなりクールです。

5
advait

Robocode はロボットシミュレーションゲームですが、Java開発者が始めるのに最適な場所です。

また、ロボットの構築とプログラミングに関する非常に優れた開始から終了までのガイドとして、本 Linux Robotics:Programming Smarter Robots および Robot Builder's Bonanza をお勧めします。

Myke Predkoには Programming Robot Controllers と呼ばれる優れた本もあります。

3
Bill the Lizard

インストールするためのセットアップはほとんどありませんが、これはあなたが学びたいことについての多くの洞察を提供し、ロボットのセンサーを読んだり、環境と相互作用したりするための真の実践を提供するはずです。

http://playerstage.sourceforge.net/

彼らはそれ自身のSun Javaドキュメントを持っている)Javaフレームワーク(公式にサポートされているフレームワークとは別))を提供します。

http://sourceforge.net/projects/Java-player/files/

2
Scott

Microsoftには Robotics Developer Studio があります。

2
Vokinneberg

移動可能なリモートコントロールの車両が必要な場合、明らかに何らかのモーターが必要になります。私はそれが differential drive locomotionを持っていると仮定します。

最も簡単なオプションは、連続したホビーサーボのペアを取得することです。それらは安く($ 10以上)、PWMで簡単に駆動できます(デューティサイクルが速度を制御します)。少しステップアップしたい場合は、DCモーターとエンコーダーのペアを入手できます。それらを駆動するための追加の回路が必要ですが、既製品を購入できます。

テザリングを望まない場合は、バッテリーと何らかの無線機が搭載されている必要があります。ゼロからすべてをやらないことで大丈夫であれば、使用しているコンピューターに追加の機器は必要ないので、WiFiは私の意見では最も簡単なソリューションです。ただし、「コンピュータ」とソフトウェアのオプションが制限される傾向があります(たとえば、Linuxを実行する必要があります)。

次の機能を備えたMCU /ボードが必要です。

  • サーボ/モーターを駆動するためのPWM
  • アナログセンサーがある場合はA/D
  • WhatnotのデジタルI/Oの束
  • 内蔵WiFiまたはWiFiカード(USB、mini-PCI)をインターフェースする方法
  • さまざまなペリフェラル用のSPI/I2CおよびUART

USBホスト信号を使用すると、安価なカメラを簡単に接続できるという利点もあります。

Roboard のようなものが適切です(彼らはmini-PCI wifiカードも販売しています)。十分なコンピューティング能力を備えており(さらに、多くの単純なボードとは異なり、FPUを備えています!)、USBを含む多くの接続オプションがあり、周辺機器を制御するユーザースペースライブラリが付属しています。 (免責事項:私は自分でテストしていません。)

入手可能な最も安価なハードウェアではありませんが、ロボット工学のより多くの計算を必要とする部分(SLAM、コンピュータビジョン、モーションプランニングなど)を試したい場合は、成長する余地があるはずです。利点としては、プログラマーやデバッガーを作成する必要はありません。

単純なものから始めたい場合は、- Arduino のような安価なボードを入手することをお勧めします。シミュレータを使用すると、ハードウェアに投資する前にソフトウェアの側面をテストすることもできます。

ソフトウェア側のどこから始めるかは、何に興味があるかによって異なります。

2
Staffan

それを正しく行い、ロボット産業で今後も役立つスキルを開発したい場合は、ROSを試すことをお勧めします。 「ロボットオペレーティングシステム」であるROSは、実際にはまったくオペレーティングシステムではありません(実際、Ubuntu上で実行されています)。これは、プロセス間通信システム、ビルドおよびデバッグツールのセット、および優れたドライバーとアルゴリズムの非常に大きなライブラリです。

物理的なロボットなしで開始するには、Gazeboシミュレーターでいくつかのシミュレートされたロボットのいずれかから始めることができます。これにより、時間やお金をかけずにアルゴリズム開発などを始めることができます。チュートリアルと入門ガイドは ros.org。 にあります。

幸運を!

1
Bradley Powers

開始するためだけにLEGOロボットへの投票を追加しますが、プログラマーとしてはどうですか?自分でブレークアウトしたい場合は、LEJOSをLEGOの「レンガ」にロードして(これを見るとわかる)、独自のJavaプログラムをレゴロボットと直接やり取り/制御するコンピュータ。

また、あなたがプログラマーである場合は、ハイレベルロジック(HLL)オープンソースプロジェクトを確認することをお勧めします。コードはまだバージョン1.0に到達していませんが、プロトタイプにはロボット工学のデモがあり、LeJOSを備えたLEGOが翼の中で待機しています。

レゴマインドストームNXTロボット(leJOS) 記事の動的グラフィックはFirefoxでのみ正しく機能します。)---(http://highlevellogic.blogspot.com/2010/10/lego-mindstorms-nxt-robots-lejos.html

1
Roger F. Gay

この本を手に入れましたが、とても役に立ちました。かなり安い。

http://www.Amazon.co.uk/Definitive-Guide-Building-Java-Robots/dp/1590595564/ref=sr_1_1?ie=UTF8&s=books&qid=1280498805&sr=8-1

0
Ash Burlaczenko