ロボットや電子機器ではどの言語が使われているのだろうか。Java、C、C ++などの低水準言語ですか?
そして、これらのロボットと電子機器を別の場所から制御できるとしたら、どのプロトコルが使用されますか?
HTTP Restにすることはできませんでしたね?:)
ロボットや電子機器ではどの言語が使われているのだろうか。Java、C、C ++などの低水準言語ですか?
そして、これらのロボットと電子機器を別の場所から制御できるとしたら、どのプロトコルが使用されますか?
HTTP Restにすることはできませんでしたね?:)
Adaは、小規模なプラットフォームでもプログラミング言語の実行可能な選択肢になりつつあります。Adaは、低レベルの操作だけでなく、高レベルの操作も非常によくサポートしています。
小さなプラットフォームの例として、AdaはAVR-AdaとしてAtmel AVR(8ビット)で利用できます。http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Main_Pageを参照してください
レゴマインドストームの場合、AdaはGNATからGPLバージョンとして入手できます。これは、Ravenscarタスクプロファイルもサポートしています。したがって、マインドストームプラットフォームでマルチタスクアプリケーションを簡単に作成できます。http://libre.adacore.com/libre/tools/mindstorms/を参照してください
レゴマインドストームはどうですか?マインドストーム/NXTを除外するロボットの物理的特性に関する特定の要件がない限り、それを使用して多くのことを行うことができます。そして、それは真面目なキットです。「LEGO」ブランドに騙されないでください。
http://mindstorms.lego.com/en-us/Default.aspx
独自のプログラミング言語で出荷されるだけでなく、Microsoft Robotics Developer Studioでもサポートされているため、.Netを使用してコーディングできます。
http://msdn.microsoft.com/en-us/robotics/default
それの素晴らしいところは、ロボット自体を構築するための本質的にモジュール式のレンガシステムを備えた実際のレゴであり、特別な部品を購入することなく、多くのラピッドプロトタイピングと実験を可能にすることです。
Bluetoothが組み込まれているため、リモートコントロールが可能です。コンパイルしたプログラムコードをダウンロードして、USBまたはBluetoothを介して自律的に動作するようにすることもできます。
私は2008年に以前のバージョンを購入し、パーツ用の通常のTechnicsモデルをいくつか追加して拡張しました。タッチセンサー、サウンドセンサー、超音波センサー、光/カラーセンサー、(双方向)サーボモーターなどが含まれ、ジャイロスコープ、加速度計、コンパスなどのサードパーティ製アドオンを入手できます。とても楽しいです。
プロジェクトにもよると思います。私はC/アセンブラーを使用して電子マイクロプロセッサーをプログラミングしましたが、ロボットのオペレーティングシステムで許可されている場合は、一部のプロジェクトでも高級プログラミング言語を使用できることを知っています。Java / C#など。機器への接続にはさまざまなプロトコルが使用されますが、 TCP/IPまたはUDP/IPが最も一般的であると私は信じています。しかし、独自のプロトコルを作成/プログラムすることを好む人もいます。
私が作ったロボットのほとんどは、レゴマインドストームで作られました。使用できる言語はいくつかありますが、デフォルトの言語はビジュアルワークベンチです。BluetoothまたはIRを介してロボットをリモート制御できます(レゴにはUSB接続のIR送信機が含まれています)
C / C ++、JavaおよびPython。
C / C ++は、JavaやPythonのような言語よりも、ロボットのプログラミングに広く使用されていると思います。これは、すでに多くのものが存在するからです。また、Cは組み込みアプリケーションで非常に一般的に使用される言語です。私が業界で知っている多くの人々は、RS-232、UART、ステッピングモーターなどのロボットやハードウェアを制御する手段としてCを使用しています。
私が学術研究に携わっていたとき、ドイツ人の同僚はほぼ自律型ロボットでJavaを使用し、満足のいく結果が得られました。Javaを使用する場合は、使用時にハードウェアを抽象化するだけで済みます。これは、Player/StageまたはROSで実行できます。
それはすべてあなたが何をしたいかによると思います。私の特定の分野(三菱PLC)では、C++が最適な言語です。Honda ASIMOなど、他の業界ではC++を使用してロボット工学をプログラミングしています。AMD ATiは、Pythonを使用してグラフィックアクセラレータをプログラムします。通信ポートと通信できるほとんどすべての言語をロボット工学に使用できます。
それらをリモートで制御することに関しては、バトルボットはおそらく最高の例でしょう:
どちらの言語を選択しても、0と1の観点から話す必要があることがすぐにわかります;)
私は最近、この本の助けを借りて、Javaでプログラムされた簡単なリモートコントロールロボットを作りました
この本は、Bluetoothを使ってロボットと話す方法を教えてくれました。
また、BASICは、最初のロボットを構築するときに始めるのに適した言語であることも読みました。
免責事項:私は専門家ではありません。
私は実際にArduinoの経験しかありません。これは、アセンブリまたはC(AVR-GCCツールチェーン)でプログラムできます。ただし、ターゲット環境が十分に強力であるか、十分なメモリがある場合は、LuaやLuaなどのハードリアルタイム要件などの他の技術的制約を除いて、高級言語の使用を妨げるものは何もありません。さらに高いレベルの何か。
通信に関しては、最終的な輸送媒体にも依存します。たとえば、Bluetooth、Zigbee、デジタルラジオ通信、またはおそらく、2本のワイヤ(または1本のワイヤ)など、十分に低帯域幅のシリアルプロトコルになります...しかし、もちろん、それはすべてターゲットプラットフォームに依存します。
HTTPに関しては、Arduinoとそれに使用できるイーサネットシールドを使用して、HTTPで制御可能なRGBムードライト(色の間でスムーズにフェードする!:P)を構築しました。HTTPサーバーはArduino上で実行されます。
ロボットや電子ガジェットは、最も快適なさまざまな種類の言語で制御できますが、制御しようとしているガジェットの種類によっても異なります。つまり、ロボットやガジェットを最初から開発している場合は、それをプログラムできます。 C、C++などの選択した言語。Python、Javaなど。組み込み言語を使用して、選択した言語でコントローラーをプログラムすることもできます。コントローラーからプログラムをコンパイルするためにのみ使用できるさまざまなコンパイラーがあります。たとえば、MicroCは、コンパイルによく使用するコンパイラーの1つです。マイクロコントローラー用の私の組み込みコード。Arduinoのようなある種のボードをプログラミングしている場合は、それをプログラミングできる独自のIDEを使用できます。ロボットとガジェットをリモートで制御するには、さまざまな方法を使用できます。
2.Bluetooth:Bluetoothモジュールをデバイスに統合することで、Bluetoothを使用してデバイスを制御することもできますが、Bluetoothの範囲は狭いです。