• 検索結果がありません。

「V-Sido CONNECT RC」 Raspberry Pi 2との連係方法

N/A
N/A
Protected

Academic year: 2021

シェア "「V-Sido CONNECT RC」 Raspberry Pi 2との連係方法"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

「V-Sido CONNECT RC」

Raspberry Pi 2との連係方法

(2)

目 次

1. はじめに 1-1. 本マニュアルの概要 ────────── p.3 1-2. 使用する機材など ─────────── p.4 1-3. 各機器の接続イメージ ───────── p.5 1-4. JavaScriptによる開発環境の概略 ──── p.6 2. Raspberry Pi 2を利用する手順 2-1. Raspberry Pi 2の環境について ───── p.8 2-2. 各機器との接続 ──────────── p.9 2-3. ロボット制御プログラムのインストール ─ p.10 2-4. サンプルプログラムで動作を確認する ── p.11 3. JavaScriptによるロボット開発入門 3-1. ロボットの制御について ─────── p.13 3-2. HTML&JavaScriptの作成手順 ──── p.14 3-3. 「目標角制御」のサンプルコード ─── p.15 3-4. 「逆運動の利用」のサンプルコード ── p.16 3-5. 「ロボットの歩行」のサンプルコード ─ p.17 3-6. ロボットの操作手順 ───────── p.18 3-7. さらなるプログラミングに向けて ─── p.19 奥付

(3)
(4)

1-1. 本マニュアルの概要

このマニュアルでは、「V-Sido CONNECT RC」と「Raspberry Pi

2」を連係させて、HPI Japan製ロボット「GR-001」を制御する手順を

示します。なお、Raspberry Pi2とV-Sido CONNECT RCの間はUART

を使って有線接続する例を示していますが、Bluetoothによる無線化も

可能です。

Raspberry Pi 2からシリアルコマンドを送るプログラムを作成して、

ロボットを制御することもできますが、ここでは、アスラテックが提供

する「V-Sido CONNECT Web API」を使って、JavaScriptのプログラ

ムでロボットを制御する方法を紹介します。また、 Raspberry Pi 2を基

に記述していますが、「Raspberry Pi」でも同様に利用可能です。

V-Sido CONNECT Web

APIの詳細は、V-Sido開発者支援サイト「V-Sido Developer」で公開しているドキュメントをご確認ください

(https://v-sido-developer.com/learning/connect/v-sido-connect-web-api/)。

(5)

1-2. 使用する機材など

V-Sido CONNECT RC 【その他に必要な機材、ソフトウェア】 • 開発用パソコン(Windows、Mac OSなど) • 無線LANアクセスポイント • UART通信できる導線(ジャンパー線)×3本 • テキストエディタ(「メモ帳」など) • ロボット制御プログラム「VSidoConn4Rasp2」(入手方法は後述) • Raspberry Pi 2関連の機材 Raspberry Pi 2 GR-001

(6)

1-3. 各機器の接続イメージ

RS-485ケーブル UART GR-001 V-Sido CONNECT RC Rasberry Pi 2 開発用パソコン 無線LAN アクセス ポイント Wi-Fi Wi-Fi

(7)

WebSocket Sample.html

開発用パソコン

制御コマンドなど

Raspberry Pi 2

JavaScriptなどで

ロボットの動きを

コーディング

1-4. JavaScriptによる開発環境の概略

アスラテックが公開している

「VSidoConn4Rasp2」をイ

ンストール

WebSocketの サーバ

(8)
(9)

2-1. Raspberry Pi 2の環境について

【Raspberry Pi 2用の機材など】 • microSDカード(Raspbianの起動用) • USBキーボード • HDMI対応モニター+HDMIケーブル • Micro USBケーブル(電源供給用)

• Raspberry Pi用Linux OS「Raspbian」

この記事では、Raspberry Pi 2で、下記の設定が行われていることを前提に解説 を進めます。

 OSは「Raspbian」を利用(記事は2015-02-16-raspbian-wheezyで検証)  開発用パソコンと同一LANに接続

 インターネットに接続済み

Raspberry Pi 2へのOSのインストール方法、Raspberry Piそのものの使い方、 設定などは、本マニュアルでのサポート外となります。

また、本マニュアルでは、Raspberry Pi 2のIPアドレスは、「192.168.11.8」 が割り当てられているものとして解説を進めています。Raspberry Pi 2のIPアド レスは、適宜、ご利用の環境に合わせて読み替えてください。

(10)

① GR-001の電源ハブとV-Sido CONNECTをRS-485ケーブルで接続 ② V-Sido CONNECTとRaspberry Pi 2を、下図のように3本のジャンパー線で 接続(GNDが1本、Tx→Rxが2本)

2-2. 各機器との配線

事前にV-Sido CONNECTにピンソケットをはんだ付けするなどして、ケーブルを取り 扱いしやすいようにしてください。 GR-001の電源ハブに接続

(11)

Raspberry Pi 2に、ロボットを制御するためのプログラム「VSidoConn4Rasp2」を インストールします。このプログラムはアスラテックが提供しており、下記のコマン ドをRaspberry Pi 2で実行すれば、インストールが行われます。

wget --no-check-certificate -O - https://asratec.github.io/VSidoConn4Rasp2/install.sh | sudo sh VSidoConn4Rasp2をインストールすることで、開発者はシリアルコマンドを直接作 成することなく、JavaScriptでロボットを制御できるようになります。 インストール後、次のコマンドを実行してRaspberry Pi 2を再起動します。 sudo reboot Raspberry Pi 2を再起動したあと、ロボットの電源をOnにします(V-Sido CONNECTのLEDが点滅して、GR-001が初期姿勢を取ります)。

2-3. ロボット制御プログラムのインストール

(12)

Raspberry Pi 2にインストールしたVSidoConn4Rasp2(V-Sido CONNECT Web API)には、サンプルプログラムが用意されています。 下記のURLでアクセスできるので、開発用パソコンのWebブラウザでアクセスして、 ロボットの動作を確認してください。 http://192.168.11.8:8088 http://192.168.11.8:8089 なお、IPアドレスは適宜、ご利用のRapberrry Pi 2のIPアドレスに読み替えてくだ さい。また、ポート番号も8088と8089の2種類あるので、注意してください。

2-4. サンプルプログラムで動作を確認する

(13)
(14)

V-Sido CONNECT Web APIを使ったロボットの制御には次の2つを使用

します。

<!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>

3-1. ロボットの制御について

●HTML ロボットを操作する ためのUI作成 ●JavaScript ロボットを制御する ためのコード

(15)

① 開発用パソコン上でテキストエディタを用い、任意の.html拡張子のファイルを 作成します(たとえばindex.htmlなど)。 ② ロボットを制御するためのコードを記述します。サンプルコードとして、次ペー ジ以降に3種類の動作を用意しましたので、このいずれかの内容をコピーして、 先ほど①で作成したファイルにペーストしてください。 • 3-3. 「目標角制御」のサンプルコード • 3-4. 「逆運動の利用」のサンプルコード • 3-5. 「ロボットの歩行」のサンプルコード ③ ②のサンプルコードに記述されているVSidoWebのIPアドレスを、適切なIPアド レス(ご利用の環境でのRasberry Pi 2のIPアドレス)に変更し、UTF-8形式で 保存します。

3-2. HTML&JavaScriptの作成手順

(16)

<!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(){ /* exec関数 */

var angle = vsido.servoAngle(); /* 目標関節角度コマンドの生成 */

angle["cycle"]=100; /* 目標関節角度までの時間の指定 100 x 10ms = 1秒 */ angle["servo"].push({

"sid":2, /* サーボIDの指定( 頭 : 2 ) */ "angle":60 /* 目標関節角度の指定 */ }); vsido.send(angle); /* コマンドの実行 */ } </script> </head> <body>

<button type=“button” onclick=“exec();”>実行</button> /* ボタンクリックでexec関数を実行 */

</body> </html>

(17)

<!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(){ /* exec関数 */

var ik = vsido.ik(); /* IKコマンドの生成 */

ik["ikf"]["dist"]["pos"] = true; /* 位置 */

ik["ikf"]["dist"]["rot"] = false; /* 姿勢 */

ik["ikf"]["dist"]["torq"]= false; /* トルク */

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> /* ボタンクリックでexec関数を実行 */

</body>

(18)

<!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(){ /* exec関数 */

var motion = vsido.walk(); /* 歩行コマンドの生成 */

motion["forward"]=50; /* 歩行可能最高速度の50%で前進させる */ motion["turn"]=0; /* 回転成分 */ vsido.send(motion); /* コマンドの実行 */ } </script> </head> <body>

<button type="button" onclick="exec();">実行</button> /* ボタンクリックでexec関数を実行 */

</body> </html>

(19)

① ロボットの電源をONにして、Raspberry Pi 2起動完了まで待ちます。 ② 3-2で作成したファイルをダブルクリックして、Webブラウザで開きます (ダブルクリックで開かなかった場合、直接Webブラウザへドラッグ&ド ロップします)。 ③ Webブラウザ上でUIを操作し、ロボットの操作を行います。

3-6. ロボットの操作手順

(20)

3-7. さらなるプログラミングに向けて

 V-Sido CONNECT Web APIの仕様書を参照するなどして、適宜、サンプル コードをカスタマイズしたり、オリジナルのコードを作成してください

( https://v-sido-developer.com/learning/connect/v-sido-connect-web-api/)。

 V-Sido CONNECT Web APIには、USBカメラ用のAPIも用意されており、 Raspberry Pi 2にUSBカメラを接続して利用することも可能です(USB接続 カメラ以外に、Raspberry Pi用カメラモジュールにも対応)。  開発者向けの情報は、V-Sido開発者支援サイト「V-Sido Developer」で公開 しています。フォーラムもありますので、不明点などがありましたら、そち らもご確認ください。

https://v-sido-developer.com/

(21)

───────────────────────────────────────────

• 記載された社名、製品名は一般に各社の商標または登録商標です。

「V-Sido CONNECT RC」Raspberry Pi 2との連係方法 Ver. 0.9

アスラテック株式会社 〒106-0032 東京都港区六本木2-4-5

参照

関連したドキュメント

(5) 当社は契約者に対し、特定商取引法に基づく書面並び

パソコン本体の電源を入れます。 ワイヤレス受信機(FMV-K600 シリーズは、パソコン本体背面)のコネク

(2)原子力安全改革 KPI・PI の評価 第 3 四半期に引き続き、安全意識、技術力、対話力のいずれの KPI・PI

When using motorized spot spray equipment (rider bar), use a 3% v/v solution. See Spot Spray Dilution Table below for rates of Touchdown CT/volume of fi nished spray solution.

WPA-personage, WPA-PSK (AES) WPA-enterprise, WPA-PSK (TKIP) WPA2-personage, WPA2-PSK (AES) WPA2-enterprise, WPA2-PSK

(1)高圧ケーブル及び公称断面積 60mm 2 以上の低圧ケーブルの端末処理は、JCAA 規格の材料を用いること。. ただし、 60mm 2

• Follow label for application method used and all restrictions regarding entry restricted period, buffer zone, pre- harvest interval (PHI), aquatic toxicity, chemigation,

2  事業継続体制の確保  担当  区各部 .