1. イントロダクション
このドキュメントでは、Linuxを実行しているA9コアと、UDOO NEOボード上でArduinoスケッチを実行しているM4コア間の通信を確立し、Wi-Fi経由でロボットアームをリモート制御する方法について説明します。
図1:ロボットアームに接続されたUDOO NEOボード
UDOO NEOボードの使用開始に関する詳細は、以下を参照してください。
2. 応募資格
a)UDOObuntuイメージと適切な接続性を備えたUDOO NEOボード。
b) ロボットアーム自体。この場合、使用されるアームには4つのサーボモーターがあり、3つはアーティキュレーション用、1つはクランプの開閉用です。
c)Wi-Fiルーター、およびアームのリモートコントロール用のSSHクライアントアプリケーションを備えた追加のWi-Fiデバイス。
3. ハードウェア接続
a)考慮すべき最初の接続は、Wi-Fiネットワークを構成し、Arduinoスケッチプログラミング用のデスクトップ(VNCクライアント)のリモートビューを構成するために、UDOONEOボードをホストPCとUSB直接接続することです。
b) 次に、4つのサーボモーターで構成されるアーム接続を考慮する必要があります。したがって、モーターは別の電源で駆動し、4つのPWM信号で制御する必要があります。この場合、J4コネクタのPWM_1、PWM_2、PWM_3、およびPWM_4信号(Arduino信号)に接続されます。図 2 は、前述の接続を示しています。
図2:UDOO NEOボードへのサーボモーター接続。
4. 実装
4.1 Wi-Fiネットワークに接続します。UDOO NEOボードの電源を入れた後、USBダイレクト接続はホストPCに仮想NICをインストールし、NEOボードにロードされた構成Webページである「ダッシュボード」にアクセスします。これは、アドレス192.168.7.2の任意のWebブラウザから表示できます。ワイヤレスネットワークには、Webコントロールパネルの[構成]/[ネットワーク設定]から接続できます。
Wi-Fiルーターとの接続を確立した後、図3に示すように、ダッシュボードにNEOボードに割り当てられたIPアドレスを表示する必要があります。後でNEOボードへのワイヤレスアクセスを確立するために、このようなアドレスを覚えておくことが重要です(オプションで、NEOを静的IPアドレスに設定することも、ルーターをNEOボードに同じIPアドレスを割り当てるように設定することもできます)。
図3:NEOボードのIPアドレスを示すダッシュボード。
ダッシュボード、リモート端末、VNCサーバーもWi-FiIPアドレスを使用してWi-Fi経由で利用できるため、USB直接接続を取り外すことができます。
4.2. ArduinoスケッチのプログラミングNEOのリモートデスクトップは、ホストPC上の任意のVNCクライアントで表示でき、NEOのIPアドレス、ユーザー、パスワード(SSHリモートターミナルと同じ)を示します。 UDOObuntuイメージには、UDOO NEOボード用に構成されたArduino IDEがすでに含まれているため、コードの記述を開始するには、イメージを開くだけで済みます。図3は、ターミナルウィンドウとArduino IDEを含むUDOO NEOデスクトップを示しています。スケッチは添付ファイルとして使用できます。
図4:UDOO NEOボードのデスクトップ。
4.3. Arduinoスケッチ機能...Arduinoプログラムは、シリアルポート経由で受信データの待機を開始します。シリアルデータを受信した後、4つのサーボモーターはデフォルトの位置(90°)に初期化されます。シリアルポート通信は、図5に示すように、Arduino側の仮想シリアルポート(Serial0)とマルチコア通信(ttyMCC)用の仮想シリアルポートとの間で確立されます。詳細については、以下のリンクを参照してください。
図5:コア間の通信。
5. 機能デモンストレーション
デモンストレーション機能として、Arduinoスケッチを実行しているUDOO NEOボードはWi-Fiネットワークに接続され、ロボットアームの制御に使用されるSSHアプリを備えたAndroid電話と同じネットワークにも接続されています。図 6 は、前述のロボット アームを制御するアプリの画面キャプチャを示しています。
図6:UDOO NEOにアクセスするSSHアプリ。
最後に、次のビデオはアプリケーションの機能を示しています。
元の添付ファイルは次の場所に移動しました robo_arm.ino.zip