ロボット/電子機器をリモートで制御するための言語/インターネット プロトコルは何ですか?
-
26-09-2019 - |
質問
ロボットやエレクトロニクスではどんな言語が使われているのだろうか。Java、C、C++などの低レベル言語ですか?
そして、これらのロボットや電子機器を別の場所から制御できるとしたら、どのようなプロトコルが使用されるのでしょうか?
それは HTTP Rest ではないはずですよね?:)
解決
どのようにレゴマインドストームは?あなたはマインドストーム/ NXTを排除するだろうロボットの物理的特性に関する特定の要件がない限り、あなたはそれで多くのことを行うことができます。そして、それはキットの深刻な作品だ - 「レゴ」ブランドにだまされてはいけません。
。http://mindstorms.lego.com/en-us/Default.aspx
あなたはそれのためのコードに.NETを使用できるように、 -は、独自のプログラミング言語で出荷することに加えて、それはまた、マイクロソフトロボティクス開発メーカーによってサポートされています。
http://msdn.microsoft.com/en-us/robotics/default
それについての素晴らしいところは、それは、ロボット自体を構築するためにその本質モジュラーレンガのシステムで、実際にLEGOであるということです、そしてその専門部品を購入することなく、迅速なプロトタイピングと実験の多くを可能にします。
これは、リモートコントロールを可能に、ブルートゥースを内蔵しています。また、あなたのコンパイルされたプログラムコードは、USB経由またはBluetoothのいずれか、それが自律的に操作していること、それにダウンロードすることができます。
私は2008年に旧バージョンのバックを買って、部品のためのいくつかの定期的なテクニクスのモデルに拡大しました。それは、タッチセンサ、音センサ、超音波センサ、光/カラーセンサーと(双方向)サーボモータのようなものが含まれており、あなたは、ジャイロスコープ、加速度計、コンパスなどグレート楽しいのようなサードパーティのアドオンを取得することができます。
他のヒント
エイダもさらに小型のプラットフォーム用の言語をプログラミングするための実行可能な選択肢となってきています。エイダは、非常に優れた低レベルの操作のサポートだけでなく、ハイレベルなものを持っています。
は小さなプラットフォームの例としては、エイダは、AVR-AdaのようアトメルAVR(8ビット)のために利用可能です。 http://sourceforge.net/apps/mediawiki/avr-を参照してください。 ADA / index.phpを?タイトル= Main_Pageする
はLEGOマインドストームは、エイダもRavenscarのタスクプロファイルをサポートする、GPLバージョンとしてGNATから入手可能です。したがって、あなたは簡単にマインドストームプラットフォーム上でマルチタスクアプリケーションを作成することができます。 http://libre.adacore.com/libre/tools/mindstorms/ の<を参照してください。 / P>
私はそれがあなたのプロジェクトに依存していることだと思います。私は、電子マイクロプロセッサをプログラムするために C /アセンブラに使用しましたが、私は、あなたが高いを使用することができることを知っていますいくつかのプロジェクトのためのレベルのプログラミング言語だけでなく、あなたのロボットのオペレーティングシステムで許可されていれば。そのようなので、上のJava / C#およびなど。 そこ機器に接続するために使用されるさまざまなプロトコルである、と信じて、私はその TCP / IP にありますまたは UDP / IP のが最も一般的です。しかし、一部の人々は、書き込み/プログラム、独自のプロトコルに好みます。
は、私が構築されたロボットの大半は、レゴマインドストームで建設されました。そこに使用できるいくつかの言語がありますが、デフォルトの言語は、視覚的なワークベンチです。リモート(USB接続のIR送信機およびレゴを含む)、ブルートゥース又はIRを介してロボットを制御することができる
C / C ++、JavaとPythonの。
私はC / C ++だと思いますので、多くのものがそこにすでに存在しているという理由だけで、ロボットをプログラミングするために、より広く使われているJavaやPythonのような言語よりもあります。そして、Cはまた、組み込みアプリケーションのための非常に一般的に使用される言語です。私は、RS-232、のUART、ステッピングモータなどのようにロボットとハードウェアを制御するための手段として、産業用Cに知っている多くの人々ます。
私は学術研究に取り組んでいたときは、、私のドイツ人の同僚は満足のいく結果で、自律ロボットにほぼ全面的にJavaの使用しました。あなたは、Javaを使用する場合は、単にプレイヤー/ステージまたはROSで行うことができます、あなたがそれを使用している抽象化ハードウェアに持っています。
これは、すべてはあなたが何をしたいかに依存して、私は推測します。私の特定の領域(三菱のPLC)C ++では、選択した言語です。その他の産業は、このようなホンダASIMOなど、プログラムのロボットにC ++を使用します。 AMD ATIの使用Pythonは自分のグラフィックアクセラレータをプログラムします。通信ポートに話すことができますがほとんどの言語は、ロボット工学のために使用することができます。
リモートでこれらを制御するよう、バトルボットにおそらくスターリング例になります:
どのあなたが選択した言語、あなたはすぐに0と1の観点で話す必要があるだろうことがわかります。)
Iこの本の助けを借りて、Javaでプログラムされ、最近作られたシンプルな遠隔制御ロボット
この本はどのようにBluetoothを使用して、ロボットに話を私に示した。
私もあなたの最初のロボットを構築する際にBASICは、使用を開始するには良い言語であることを読んだ。
免責事項:私は専門家ではありません。
本当に経験しかない Arduino, 、アセンブリまたは C でプログラムできます ( AVR-GCC ツールチェーン)。ただし、ターゲット環境が十分に強力であるか、十分なメモリを備えている場合は、たとえば、 ハードリアルタイム 要件 -- たとえば、Lua またはさらに高いレベルのものなど。
通信に関しては、最終的な伝送媒体にも依存します。たとえば、Bluetooth、Zigbee、単なるデジタル無線通信、あるいはおそらく、 数本のワイヤー (あるいは 一本のワイヤー)または何でも、それは十分に低帯域幅のシリアルプロトコルです...ただし、もちろん、それはすべてターゲット プラットフォームによって異なります。
HTTP に関して言うと、私は HTTP で制御可能な RGB ムードライトを構築しました (色間でスムーズにフェードアウトします)。:P) Arduino とそれに利用可能な Ethernet Shield を使用します。HTTP サーバーは Arduino 上で動作します。
できるロボット制御および電子ガジェットの異なる種類の言語でも快適です。もののガジェットチャレンジしているうちに制御すe場合の開発とロボットやガジェットからプログラムすることが可能ですので、お好きな言語のようにC,C++)です。Python、Java等にお使いいただけますの組み込みの言語をプログラムのコントローラーとお好みの言語が多くの異なるコンパイラでコンパイルのみをコンパイルのプログラムのコントローラ、例えばMicroC最近メガネにはまってるよく利用してい用コンパイルマ埋め込みコードを身につけてくださいの場合はプロの板のようにArduinoを利用することができ独自のIDEできるプログラムです。を制御し、ロボットおよびガジェットの遠隔利用できる多くの異なる方法ですe.:
- インターネット:利用できるインターネットとその制御を統合してモジュールのようなESP8266,NodeMcu、GSMモジュールなど、利用にカスタムウエブアプリケーション、モバイルアプリを制御します。これがモノのインターネット(IOT)
2.Bluetooth:も利用できますBluetooth制御するデバイスの統合によるbluetoothモジュールとデバイスが範囲のbluetoothが低い。
- 無線周波数RF:も利用できる無線周波数RFモジュール制御ロボットの遠隔地でのコストを実施の上にある。