「V-Sido CONNECT RC」 Intel Edisonとの連係方法 アスラテック株式会社 目 次 1. はじめに 3. JavaScriptによるロボット開発入門 1-1. 本マニュアルの概要 ────────── p.3 3-1. ロボットの制御について ─────── p.18 1-2. 使用する機材など ─────────── p.4 3-2. HTML&JavaScriptの作成手順 ──── p.19 1-3. 各機器の接続イメージ ───────── p.5 3-3. 「目標角制御」のサンプルコード ─── p.20 1-4. 開発環境の概略 ──────────── p.6 3-4. 「逆運動の利用」のサンプルコード ── p.21 3-5. 「ロボットの歩行」のサンプルコード ─ p.22 2. Intel Edisonを利用する手順 2-1. Intel Edisonとパソコンを接続 ───── p.8 3-6. ロボットの操作手順 ───────── p.23 2-2. Intel Edisonのファームウェア入手 ─── p.9 3-7. さらなるプログラミングに向けて ─── p.24 2-3. Intel Edisonへのシリアル接続 ──── p.10 2-4. Tera Termからアップデートを実行 2-5. Intel EdisonをWi-Fi接続する 奥付 ── p.11 ───── p.12 2-6. ロボット制御プログラムのインストール ─ p.13 2-7. Intel EdisonのIPアドレスを確認する ── p.14 2-8. Bluetoothのペアリング ──────── p.15 2-9. サンプルプログラムで動作を確認する ── p.16 Asratec Corp,All rights reserved. 1 1. はじめに Asratec Corp,All rights reserved. 2 1-1. 本マニュアルの概要 このマニュアルでは、「V-Sido CONNECT RC」と「Intel Edison」 を連係させて、HPI Japan製ロボット「GR-001」を制御する手順を示 します。 Intel Edisonからシリアルコマンドを送るプログラムを作成して、ロ ボットを制御することもできますが、ここでは、アスラテックが提供す る「V-Sido CONNECT Web API」を使って、JavaScriptのプログラム でロボットを制御する方法を紹介します。 V-Sido CONNECT Web APIの詳細は、V-Sido開発者支援サイト「VSido Developer」で公開しているドキュメントをご確認ください (https://v-sido-developer.com/learning/connect/v-sido-connectweb-api/)。 ※本マニュアルをお読みになる前に、必ず『「V-Sido CONNECT RC」スタートアップガイ ド』をお読みください Asratec Corp,All rights reserved. 3 1-2. 使用する機材など Intel Edison (Breakout Board Kit) V-Sido CONNECT RC Bluetoothアダプタ実装済 GR-001 【その他に必要な機材、ソフトウェア】 • 開発用パソコン(Windows、Mac OSなど) • 無線LANアクセスポイント • Micro USBケーブル×2 • Intel Edison最新版ファームウェア(入手方法は後述) • シリアル接続ターミナルソフト(「Tera Term」など) • テキストエディタ(「メモ帳」など) • ロボット制御プログラム「VSidoConn4Edison」(入手方法は後述) Asratec Corp,All rights reserved. 4 1-3. 各機器の接続イメージ V-Sido CONNECT RC Intel Edison Wi-Fi 無線LAN アクセス ポイント Bluetooth SPP USBケーブル (シリアル通信、 電源供給) RS-485ケーブル Wi-Fi 開発用パソコン Asratec Corp,All rights reserved. GR-001 5 1-4. JavaScriptによる開発環境の概略 開発用パソコン Sample.html Intel Edison WebSocketの サーバ WebSocket 制御コマンドなど JavaScriptなどで ロボットの動きを コーディング Asratec Corp,All rights reserved. アスラテックが公開している 「VSidoConn4Edison」を インストール 6 2. Intel Edisonを利用する手順 Asratec Corp,All rights reserved. 7 2-1. Intel Edisonとパソコンを接続 Micro USBケーブル×2を使って、Intel Edisonを開発用パソコンに接続 します。 パソコンに接続する パソコンとの シリアル通信用 電源供給、 OTG& ホスト用 Asratec Corp,All rights reserved. 8 2-2. Intel Edisonのファームウェア入手 Bluetoothを利用するため、Intel Edisonのファームウェアをアップデートします (すでに最新のファームウェアになっている場合は、アップデートは不要です) 。 開発用パソコンで、ファームウェアを以下のリンクよりダウンロードし、解凍後、 Intel Edisonのフォルダへ入れます。 http://downloadmirror.intel.com/24698/eng/edison-image-ww05-15.zip Intel Edison へコピー Intel Edisonのフォルダ Asratec Corp,All rights reserved. 解凍したファームウェアのファイル内容 9 2-3. Intel Edisonへのシリアル接続 Intel Edisonのファームウェアのバージョンアップと、ロボットを操作するプログラ ム(VSidoConn4Edison)をインストールするため、パソコンからIntel Edisonにシ リアル接続します。ここでは、フリーソフトウェアの「Tera Term」を使った手順を 解説します(http://sourceforge.jp/projects/ttssh2/) 。 パソコンでTera Termを起動し、下記の画像のように設定し、接続を行います。 シリアル接続でのポートにて、Intel Edisonが接続されているポートを選 択し、「OK」ボタンを押す Asratec Corp,All rights reserved. 次に、メニューで[設定]-[シリアル ポート]を選び、「ボー・レート」を 115200に設定して、「OK」ボタンを 押す 10 2-4. Tera Termからアップデートを実行 パソコンとIntel Edisonとをシリアル接続したあと、Tera Termで「Enter」キー を押すと、ログインが促されるので、「root」と入力してログインします。ログ イン後、「reboot ota」とコマンドを実行すると、Intel Edisonのファームウェ アがアップデートされます。 しばらくしてアップデートが終わると、再びログインが促されるので、「root」 と入力してログインします。 Asratec Corp,All rights reserved. 11 2-5. Intel EdisonをWi-Fi接続する Tera TermでIntel Edisonにrootユーザーでログインしたあと、Wi-Fi経由でIntel Edisonをインターネットに接続させるために、以下のコマンドを実行します。 configure_edison --wifi 接続可能なアクセスポイントのリストが表記されるので、適切なWi-Fiに接続するよ う、設定してください。 Wi-Fiの設定後、次のコマンドを実行して、インターネットへ接続が行えるかどうか 確認します。 ping -c 5 github.com Asratec Corp,All rights reserved. 12 2-6. ロボット制御プログラムのインストール Intel EdisonがWi-Fiでインターネットに接続できていることを確認したら、次にロ ボットを制御するプログラム「VSidoConn4Edison」をIntel Edisonへインストール します。このプログラムはアスラテックが提供しており、下記のコマンドを実行すれ ばインストールが行われます。 wget --no-check-certificate -O - https://asratec.github.io/VSidoConn4Edison/install.sh | sh インストールの完了後、次のコマンドを実行してIntel Edisonをシャットダウンしま す。 poweroff シャットダウンが完了すると、“[ OK ] Reached target Shutdown.“のメッセージが 表示されます。シャットダウンの確認後、Intel Edisonに電源を入れ直すために、 USBケーブルの抜き差しを行います。 Asratec Corp,All rights reserved. 13 2-7. Intel EdisonのIPアドレスを確認する 2-6でのUSBケーブルを抜き差しする作業で、Intel Edisonを再起動させたあと、再 び「Tera Term」でIntel Edisonにシリアル接続して、rootでログインします。ログ イン後、Intel EdisonのIPアドレスを確認するために、下記のコマンドを実行します。 ifconfig wlan0 コマンドの実行結果で「inet addr」の項目に表示されているアドレスが、Intel EdisonのIPアドレスになります。 この例では、IPアドレスは 192.168.11.8となります。 以降、このIPアドレスで説 明しますが、適宜、各ユー ザーの環境のIPアドレスに 読み替えてください Asratec Corp,All rights reserved. 14 2-8. Bluetoothのペアリング 次に、Intel EdisonとV-Sido CONNECT RCとのBluetoothペアリングを行います。 V-Sido CONNECT RC(Bluetoothアダプタセットを搭載済みのもの)を、GR-001 に接続して、GR-001の電源をONにします(GR-001とV-Sido CONNECT RCとの接 続は『「V-Sido CONNECT RC」スタートアップガイド』を参照)。 開発用パソコンのWebブラウザで「http://192.168.11.8:8089/connection」 を開き、「探す」ボタンをクリックします(なお、開発用パソコンとIntel Edisonは 同一ネットワーク内にあるものとします)。 Bluetoothデバイスが検出されるので、適切なデバイスの箇所にある「接続」ボタン を押して、Bluetoothペアリングを実行します。「接続」ボタンを押して30秒ほど 経ってから、USBケーブルを抜き差ししてIntel Edisonの電源を入れ直してください。 以上で、Intel EdisonとV-Sido CONNECT RCを連係させる準備は完了です。 Asratec Corp,All rights reserved. 15 2-9. サンプルプログラムで動作を確認する Intel EdisonにインストールしたV-Sido CONNECT Web APIには、サンプルプログ ラムが用意されています。下記のURLでアクセスできるので、開発用パソコンのWeb ブラウザでアクセスして、ロボットの動作を確認してください。 http://192.168.11.8:8088 http://192.168.11.8:8089 なお、IPアドレスは、適宜、ご自身のIntel EdisonのIPアドレスに読み替えてくださ い。また、ポート番号も8088と8089の2種類あるので、注意してください。 Asratec Corp,All rights reserved. 16 3. JavaScriptによるロボット開発入門 Asratec Corp,All rights reserved. 17 3-1. ロボットの制御について V-Sido CONNECT Web APIを使ったロボットの制御には次の2つを使用 します。 ●HTML ロボットを操作する ためのUI作成 ●JavaScript ロボットを制御する ためのコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title>頭を動かす</title> <script src="http://192.168.11.8:8088/ip2/js/vsido.web.js"></script> <script> var vsido = new VSidoWeb({"ip":"192.168.11.8"}); function exec( var angle = vsido.servoAngle(); angle["cycle"]=100; angle["servo"].push({"sid":2,"angle":60}); vsido.send(angle); } </script> </head> <body> <button type=“button” onclick=“exec();”>実行</button> </body> </html> Asratec Corp,All rights reserved. 18 3-2. HTML&JavaScriptの作成手順 ① 開発用パソコン上でテキストエディタを用い、任意の.html拡張子のファイルを 作成します(たとえばindex.htmlなど)。 ② ロボットを制御するためのコードを記述します。サンプルコードとして、次ペー ジ以降に3種類の動作を用意しましたので、このいずれかの内容をコピーして、 先ほど①で作成したファイルにペーストしてください。 • 3-3. 「目標角制御」のサンプルコード • 3-4. 「逆運動の利用」のサンプルコード • 3-5. 「ロボットの歩行」のサンプルコード ③ ②のサンプルコードに記述されていたVSidoWebのIPアドレスを、適切なIPアド レス(ご利用の環境でのIntel EdisonのIPアドレス。本ドキュメントの2-7で確 認したもの)に編集し、UTF-8形式で保存します。 Asratec Corp,All rights reserved. 19 3-3. 「目標角制御」のサンプルコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title>頭を動かす</title> <!– 必須:ロボットの制御をするためのライブラリ – 妥当するIPに編集してください --> <script src="http://192.168.11.8:8088/ip2/js/vsido.web.js"></script> <script> var vsido = new VSidoWeb({"ip":"192.168.11.8"}); /* 妥当するIPに編集してください */ function exec(){ var angle = vsido.servoAngle(); angle["cycle"]=100; angle["servo"].push({ "sid":2, "angle":60 }); vsido.send(angle); } </script> </head> /* exec関数 */ /* 目標関節角度コマンドの生成 */ /* 目標関節角度までの時間の指定 100 x 10ms = 1秒 */ /* サーボIDの指定( 頭 : 2 ) */ /* 目標関節角度の指定 */ /* コマンドの実行 */ <body> <button type=“button” onclick=“exec();”>実行</button> /* ボタンクリックでexec関数を実行 */ </body> </html> Asratec Corp,All rights reserved. 20 3-4. 「逆運動の利用」のサンプルコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title>右手を手前に出す</title> <!– 必須:ロボットの制御をするためのライブラリ – 妥当するIPに編集してください --> <script src="http://192.168.11.8:8088/ip2/js/vsido.web.js"></script> <script> var vsido = new VSidoWeb({"ip":"192.168.11.8"}); function exec(){ /* exec関数 */ var ik = vsido.ik(); /* IKコマンドの生成 */ ik["ikf"]["dist"]["pos"] = true; /* 位置 */ ik["ikf"]["dist"]["rot"] = false; /* 姿勢 */ ik["ikf"]["dist"]["torq"]= false; /* トルク */ /*妥当するIPに編集してください */ var kdt = vsido.kdt(); /* IKコマンドパラメータの生成 */ kdt["kid"] = 2; /* 制御するIK部位の指定(右手:2) */ kdt["kdt"]["pos"]["x"] = 0; /* x軸での可動範囲の位置割合 */ kdt["kdt"]["pos"]["y"] = -100; /* y軸での可動範囲の位置割合 */ kdt["kdt"]["pos"]["z"] = 0; /* z軸での可動範囲の位置割合 */ kdt["kdt"]["rot"]["Rx"] = 0; /* x軸での姿勢 */ kdt["kdt"]["rot"]["Ry"] = 0; /* y軸での姿勢 */ kdt["kdt"]["rot"]["Rz"] = 0; /* z軸での姿勢 */ kdt["kdt"]["torq"]["Tx"]= 0; /* x軸でのトルク */ kdt["kdt"]["torq"]["Ty"]= 0; /* y軸でのトルク */ kdt["kdt"]["torq"]["Tz"]= 0; /* z軸でのトルク */ ik["kdts"].push(kdt); /* コマンドの実行 */ vsido.send(ik); } </script> </head> <body> <button type="button" onclick="exec();">実行</button> </body> </html> Asratec Corp,All rights reserved. /* ボタンクリックでexec関数を実行 */ 21 3-5. 「ロボットの歩行」のサンプルコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title>ロボットを前へ歩かせる</title> <!– 必須:ロボットの制御をするためのライブラリ – 妥当するIPに編集してください --> <script src="http://192.168.11.8:8088/ip2/js/vsido.web.js"></script> <script> var vsido = new VSidoWeb({"ip":"192.168.11.8"}); /* 妥当するIPを指定 */ function exec(){ var motion = vsido.walk(); motion["forward"]=50; motion["turn"]=0; vsido.send(motion); } </script> </head> /* /* /* /* /* exec関数 */ 歩行コマンドの生成 */ 歩行可能最高速度の50%で前進させる */ 回転成分 */ コマンドの実行 */ <body> <button type="button" onclick="exec();">実行</button> </body> </html> Asratec Corp,All rights reserved. /* ボタンクリックでexec関数を実行 */ 22 3-6. ロボットの操作手順 ① ロボットの電源をONにして、Intel EdisonとV-Sido CONNECT RCとの Bluetoothペアリングが完了するまで待ちます(SBDBTのLED2が点灯から点 滅に変わります)。 ② 3-2で作成したファイルをダブルクリックして、Webブラウザで開きます (ダブルクリックで開かなかった場合、直接Webブラウザへドラッグ&ド ロップします)。 ③ Webブラウザ上でUIを操作し、ロボットの操作を行います。 Asratec Corp,All rights reserved. 23 3-7. さらなるプログラミングに向けて V-Sido CONNECT Web APIの仕様書を参照するなどして、適宜、サンプル コードをカスタマイズしたり、オリジナルのコードを作成してください ( https://v-sido-developer.com/learning/connect/v-sido-connectweb-api/)。 V-Sido CONNECT Web APIには、USBカメラ用のAPIも用意されており、 Intel EdisonにUSBカメラを接続して利用することも可能です。 開発者向けの情報は、V-Sido開発者支援サイト「V-Sido Developer」で公開 しています。フォーラムもありますので、不明点などがありましたら、そち らもご確認ください。 https://v-sido-developer.com/ Asratec Corp,All rights reserved. 24 ─────────────────────────────────────────── • 記載された社名、製品名は一般に各社の商標または登録商標です。 「V-Sido CONNECT RC」Intel Edisonとの連係方法 Ver. 0.9 〒106-0032 アスラテック株式会社 東京都港区六本木2-4-5 公開日:150309 Asratec Corp,All rights reserved. 25
© Copyright 2024