JavaScript SDK for V-Sido CONNECT 利 用 の 手 引 き Mac 編 アスラテック 株 式 会 社
目 次 1. はじめに 1-1. 本 マニュアルの 概 要 p.3 1-2. 使 用 する 機 材 など p.4 1-3. 各 機 器 の 接 続 構 成 と 開 発 イメージ p.5 2. 初 期 設 定 とVSidoConn4Macの 導 入 2-1. Bluetoothのペアリング p.7 2-2. Node.jsのインストール p.8 2-3. ロボット 制 御 プログラムの 導 入 p.9 2-4. 利 用 するロボットの 選 択 p.10 2-5. ロボット 制 御 プログラムの 実 行 p.11 2-6. サンプルプログラムでの 動 作 確 認 p.12 3. JavaScriptによるロボット 開 発 入 門 3-1. ロボットの 制 御 について p.14 3-2. HTML&JavaScriptの 作 成 とロボットの 操 作 手 順 p.15 3-3. 目 標 角 制 御 のサンプルコード p.16 3-4. 逆 運 動 の 利 用 のサンプルコード p.17 3-5. ロボットの 歩 行 のサンプルコード p.18 3-6. さらなるプログラミングに 向 けて p.19 奥 付 1
1. はじめに 2
1-1. 本 マニュアルの 概 要 このマニュアルでは MacからJavaScript SDK for V-Sido CONNECT を 使 って V-Sido CONNECT RC を 接 続 したロボットを 制 御 する 方 法 を 紹 介 します 本 マニュアルでは VSidoConn4Mac というプログラムをMacにイン ストールして JavaScript SDK for V-Sido CONNECT でロボット を 制 御 できる 環 境 を 構 築 する 手 順 を 解 説 していきます なお 対 応 OSのバージョンは OS X 10.10 以 降 です 動 作 確 認 は GR-001 (HPI Japan)および DARWIN-MINI (ROBOTIS) で 行 っています 本 マニュアルをお 読 みになる 前 に V-Sido CONNECT RC スタートアップガイド をお 読 みいただき V-Sido CONNECT RCをロボットに 接 続 し Bluetoothを 利 用 できる 環 境 にしておいてください 3
1-2. 使 用 する 機 材 など + 開 発 用 パソコン(Mac) Bluetooth 対 応 の 機 種 OS X 10.10 以 降 V-Sido CONNECT RC 接 続 済 みロボット (GR-001もしくはDARWIN-MINI) その 他 に 必 要 な 機 材 ソフトウェア テキストエディタ JavaScriptインタープリタ Node.js ( 入 手 方 法 は 後 述 ) VSidoConn4Mac ( 入 手 方 法 は 後 述 ) 4
1-3. 各 機 器 の 接 続 構 成 と 開 発 イメージ Bluetooth SPP Mac V-Sido CONNECT RC ロボット Node.jsと VSidoConn4Macを インストール JavaScriptで ロボット 制 御 のコーディング 5
2. 初 期 設 定 とVSidoConn4Macの 導 入 6
2-1. Bluetoothのペアリング MacとV-Sido CONNECT RCとのBluetoothペアリングを 行 います まず V-Sido CONNECT RC(Bluetoothアダプタセットを 搭 載 済 みのもの)をロ ボットに 接 続 して ロボットの 電 源 をONにします(ロボットとV-Sido CONNECT RCとの 接 続 は V-Sido CONNECT RC スタートアップガイド を 参 照 ) 次 に アップルメニュー - システム 環 境 設 定 - Bluetooth 画 面 で ペアリ ングを 行 ってください 7
2-2. Node.jsのインストール 最 新 版 の Node.js を 公 式 サイトから 入 手 して インストールしてください Mac 用 のファイルはPKGファイルで 配 布 されています 本 マニュアルでは v.4.4.7で 動 作 確 認 を 行 っています http://nodejs.org/ 次 に Macの アプリケーション - ユーティリティ にある ターミナル を 起 動 して コマンドラインから 下 記 のコマンドを 実 行 します node -v このコマンドを 実 行 すると インストールされているNode.jsのバージョンが 表 示 されます 正 しく 表 示 されない 場 合 Nodo.jsがうまくインストールできてい ないので インストールをやり 直 してください なお Node.jsのインストール 先 をデフォルト 以 外 にした 場 合 PATH 環 境 変 数 を 合 わせる 必 要 があるので 注 意 してください 8
2-3. ロボット 制 御 プログラムの 導 入 次 に VSidoConn4Mac をMacにインストールします これは アスラテックが GitHubで 公 開 しているパッケージで 詳 細 は 下 記 Webページを 参 照 してください https://github.com/asratec/vsidoconn4mac Macの ターミナル アプリで 下 記 のコマンドを 実 行 すればインストールできます curl -k http://asratec.github.io/vsidoconn4mac/install.sh sh インストールが 終 わると カレントフォルダ( 上 記 コマンドを 実 行 したフォルダ)の 下 にVSidoConn4Macフォルダが 作 られ そこに 各 種 ファイルがインストールされま す 9
2-4. 利 用 するロボットの 選 択 VSidoConn4Macを 利 用 する 場 合 接 続 するロボット(そのロボットのBluetoothア ダプタ)をあらかじめ 設 定 する 必 要 があります Finderで VSidoConn4Mac フォルダを 開 いて SelectRobot をダブルクリッ ク し て 実 行 し て く だ さ い 下 記 左 の 画 面 が 表 示 さ れ る の で Find Robot Connected By Bluetooth にチェックを 入 れて 制 御 するロボットを 選 択 します 正 しく 選 択 された 場 合 下 記 右 のアラート 画 面 が 表 示 されます なお この 選 択 作 業 は 初 回 だけ 行 えばよく 2 回 目 以 降 は 必 要 ありません 制 御 した いロボットを 変 更 したいときなどにご 利 用 ください 10
2-5. ロボット 制 御 プログラムの 実 行 VSidoConn4Macの 実 行 は コマンドラインから 行 います ターミナルで 下 記 のコマンドを 実 行 して VSidoConn4Macフォルダに 移 動 します cd VSidoConn4Mac 下 記 のコマンドを 実 行 して インストールしたプログラムを 実 行 してください なお パスワードの 入 力 を 求 められた 場 合 ログインしているユーザー( 管 理 者 権 限 )のパ スワードを 入 力 します sudo./runweb.sh sudo./runconn.sh starting server... と 表 示 されれば VSidoConn4Macの 準 備 は 完 了 です また アプリケーション Vsido.srv へのネットワーク 受 信 接 続 を 許 可 しますか? とい うアラートが 表 示 される 場 合 許 可 をクリックしてください 11
2-6. サンプルプログラムへのアクセス MacにインストールしたVSidoConn4Macには サンプルプログラムが 用 意 されてお り Webブラウザから 利 用 できます MacのWebブラウザを 起 動 して 下 記 のURLに アクセスしてください http://localhost:8089 ブラウザ 画 面 で Robot Control の 文 字 をクリックすれば さまざまなコマンドの テストページへのリンクが 表 示 されます(コマンドの 内 容 は 別 マニュアル V-Sido CONNECT RCコマンドリファレンス などを 参 照 してください) これらのサンプルプログラムは 下 記 のMacのフォルダ 下 に 配 置 されています /Users/<ユーザー 名 >/VSidoConn4Mac/usr/share/WebServer/ 12
2-7. サンプルプログラムでの 動 作 確 認 たとえば http://localhost:8089 にアクセスしたあと ブラウザ 画 面 で Robot Control 目 標 角 度 設 定 をクリックすると 下 図 のような 画 面 になります ここで 任 意 のサーボIDを 指 定 して 数 値 を 入 力 したあと 角 度 設 定 をクリックすれ ば ロボットの 指 定 したサー ボIDの 箇 所 が 指 定 した 角 度 に 変 わります なお 画 面 の IPアドレス の 箇 所 は 同 一 ネットワーク 内 の 別 のロボットを 制 御 する 場 合 に 指 定 する 項 目 なので 通 常 は 無 視 して 構 いません 13
3. JavaScriptによるロボット 開 発 入 門 14
3-1. ロボットの 制 御 について JavaScript SDK for V-Sido CONNECTを 使 ったロボットの 制 御 には 次 の 2つを 使 用 します HTML ロボットを 操 作 する ためのUI 作 成 JavaScript ロボットを 制 御 する ためのコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title>サーボ2を 動 かす</title> <script src="http://localhost:8088/ip2/js/vsido.client.api.js"></script> <script> var connect= new vsido.connect({"ip": localhost"}); function exec( var angle= new vsido.setservoangle(100); angle.addangle(2,60); connect.send(anglecmd); } </script> </head> <body> <button type= button onclick= exec(); > 実 行 </button> </body> </html> 15
3-2. HTML&JavaScriptの 作 成 とロボットの 操 作 1 Mac 上 でテキストエディタを 用 い 任 意 の.html 拡 張 子 のファイルを 作 成 します (たとえばindex.htmlなど) 2 ロボットを 制 御 するためのコードを 記 述 します サンプルコードとして 次 ペー ジ 以 降 に3 種 類 の 動 作 を 用 意 したので まずはこのサンプルコードで 試 してみる とよいでしょう 下 記 のいずれかの 内 容 をコピーして 1で 作 成 したファイルに ペーストして ファイルを 保 存 してください 3-3. 目 標 角 制 御 のサンプルコード 3-4. 逆 運 動 の 利 用 のサンプルコード 3-5. ロボットの 歩 行 のサンプルコード 3 作 成 したHTMLファイルをダブルクリックして MacのWebブラウザでファイル を 開 き(ファイルを 直 接 Webブラウザにドラッグ&ドロップしても 可 ) Webブ ラウザ 上 でUIを 操 作 して ロボットを 操 作 できます 16
3-3. 目 標 角 制 御 のサンプルコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title> 指 定 したサーボを 動 かす</title> <! 必 須 :ロボットの 制 御 をするためのライブラリ localhost は 適 切 なIPアドレスでも 可 --> <script src="http://localhost:8088/ip2/js/vsido.client.api.js"></script> <script> var connect = new VSidoWeb({ ip : localhost }); /* localhost は 適 切 なIPアドレスでも 可 */ function exec(){ /* exec 関 数 */ var angle = new vsido.setservoangle(100); /* 目 標 関 節 角 度 コマンドの 生 成 */ /* 目 標 関 節 角 度 に 到 達 までの 時 間 100 ミリ 秒 */ angle.addangle(2,60) /* サーボIDの 指 定 ( 2 ), 目 標 関 節 角 度 の 指 定 (60)*/ connect.send(angle); /* コマンドの 実 行 */ } </script> </head> <body> <button type= button onclick= exec(); > 実 行 </button> /* ボタンクリックでexec 関 数 を 実 行 */ </body> </html> ロボットによってサーボIDが 示 す 関 節 が 異 なる 点 にご 注 意 ください たとえばサーボ ID2は GR-001では 頭 部 を 示 し DARWIN-MINIでは 左 肩 部 分 を 示 します 17
3-4. 逆 運 動 の 利 用 のサンプルコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title> 右 手 を 手 前 に 出 す</title> <! 必 須 :ロボットの 制 御 をするためのライブラリ localhost は 適 切 なIPアドレスでも 可 --> <script src="http://localhost:8088/ip2/js/vsido.client.api.js"></script> <script> var connect = new vsido.connect({ ip : localhost }); /* localhost は 適 切 なIPアドレスでも 可 */ function exec(){ /* exec 関 数 */ var ikflag= new vsido.setik(ikflag); ikflag["position"] = true; /* 位 置 */ ikflag["rotation"] = false; /* 姿 勢 */ ikflag["torque"]= false; /* トルク */ var ik = new vsido.setik(ikflag); /* IKコマンドの 生 成 */ var kdt = vsido.kdt(); /* IKコマンドパラメータの 生 成 */ ik.addpostion(2,0,-100,0); /* 制 御 するIK 部 位 の 指 定 ( 右 手 :2) */ /* x 軸 での 可 動 範 囲 の 位 置 割 合 0 */ /* y 軸 での 可 動 範 囲 の 位 置 割 合 -100*/ /* z 軸 での 可 動 範 囲 の 位 置 割 合 0*/ connect.send(ik); /* コマンドの 実 行 */ } </script> </head> <body> <button type="button" onclick="exec();"> 実 行 </button> /* ボタンクリックでexec 関 数 を 実 行 */ </body> </html> 18
3-5. ロボットの 歩 行 のサンプルコード <!DOCTYPE html> <html> <head> <meta content="text/html;charset=shift_jis"> <title>ロボットを 前 へ 歩 かせる</title> <! 必 須 :ロボットの 制 御 をするためのライブラリ localhost は 適 切 なIPアドレスでも 可 --> <script src="http://localhost:8088/ip2/js/vsido.client.api.js"></script> <script> var connect= new vsido.connect ({ ip : localhost }); /* localhost は 適 切 なIPアドレスでも 可 */ function exec(){ /* exec 関 数 */ var motion = vsido.walk(50,0); /* 歩 行 コマンドの 生 成 */ /* 歩 行 可 能 最 高 速 度 の50%で 前 進 させる */ /* 回 転 成 分 0%*/ connect.send(motion); /* コマンドの 実 行 */ } </script> </head> <body> <button type="button" onclick="exec();"> 実 行 </button> /* ボタンクリックでexec 関 数 を 実 行 */ </body> </html> 19
3-6. 補 足 事 項 JavaScript SDK for V-Sido CONNECTのAPIは V-Sido 開 発 者 支 援 サイト V-Sido Developer で 公 開 していますので そちらを 参 照 してください (https://v-sido-developer.com/learning/reference/v-sido-connectweb-api-js/) V-Sido Developerでは そのほかV-Sido CONNECT RCの 開 発 者 向 けの 情 報 を 公 開 しています フォーラムもありますので 不 明 点 などがありましたら そちらもご 確 認 ください https://v-sido-developer.com/ 20
記 載 された 社 名 製 品 名 は 一 般 に 各 社 の 商 標 または 登 録 商 標 です JavaScript SDK for V-Sido CONNECT 利 用 の 手 引 き Mac 編 Ver. 0.9 アスラテック 株 式 会 社 101-0042 東 京 都 千 代 田 区 神 田 東 松 下 町 45 公 開 日 :160810 21