CRANE_X7をNode.js,three.jsを使用してWebブラウザで動作できるサンプルです.
製品ページはこちらです.
https://www.rt-net.jp/products/crane-x7
- OS: Linux Ubuntu 16.04 64bit
- ブラウザ: Firefox 61.0.1 64bit
- Node.js: v10.16.0
- npm: v6.9.0
- three.js: r97
- Firefox: 67.0
- Google Chrome: 69.0.3497.100(Official Build) (64 ビット)
本プログラムはNode.jsを使用しています.
nodeのインストール方法として, nodesource/distributionsとhokaccha/nodebrewを使ったインストール方法を記載します.
Node.js: 10.16.0 をapt でインストールする.
$ sudo apt install curl
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt install nodejs
hokaccha/nodebrewはNode.jsのバージョン管理ツールです。パッケージマネージャのようにNode.jsのバージョンを切り替えて使うことができます.
$ sudo apt install curl
$ curl -L git.io/nodebrew | perl - setup
$ echo "export PATH=\$HOME/.nodebrew/current/bin:\$PATH" >> ~/.bashrc
$ source ~/.bashrc
nodebrewを使ってNode.js: 10.16.0 をインストールする方法は以下の通りです.
$ nodebrew install v10.16.0
$ nodebrew use v10.16.0
本リポジトリを git clone
コマンドでダウンロードします.
$ git clone https://github.com/rt-net/crane_x7_js.git
本プログラムで使用する以下の6つのnpmパッケージをインストールします.
- serialport: ^7.0.2
- socket.io: ^2.2.0
- express: ^4.16.4
- async: ^2.6.1
- three: ^0.106.2
- jquery: ^3.4.1
$ cd crane_x7_js/CRANE_X7_JS
$ npm install
コマンドを実行することで、必要なパッケージをインストールできます.
以下、コマンドを実行して、Webサーバを起動します.
$ cd crane_x7_js/CRANE_X7_JS
$ npm start
http://****:8080
端末に表示されるIPアドレスhttp://****:8080
にブラウザから接続するとCRANE_X7のシミュレータ画面が表示されます.
この画面で動作の作成などが行えます.
各ボタンを押すと要素が開きます.
最上部(1~11)が各リンクの色を変更できます.
@
でモデルが回転します.
スライドバー
を動かすことで対応する関節が動きます.
-
1,2,3
はデータスロットとなっていて3種類のモーションを保存 -
#
:モデルが初期姿勢に変化 -
loop
:チェックボックスにチェックすると、モーションをループ
ボックス内には、保存したデータが表示 -
DEL
:選択したデータの削除(Delキーでも可能) -
ALL
:ボックス内のデータを全選択 -
clip
:現在の姿勢をデータに追加
(データを選択後、姿勢を変更し、選択したデータに現在の姿勢を上書き可能) -
SAVE
:対応するスロットにデータを保存
データを選択して再生することで、ブラウザ及び実機で動作確認することが可能です.
ブラウザで作成した動作を実機で動作させることができます.
実機はCRANE-X7の製品ページを確認して下さい.
デバイスを接続して、別端末を開いて、以下の操作を行います.
-
USB接続
SMPS2Dynamixelなどの電源基板とU2D2などのUSB通信コンバータを接続し、電源を入れて、USBポートに接続して下さい. -
デバイスが認識されているか確認
$ ls /dev/ttyUSB*
ttyUSB0
- 接続されたデバイスの書き込み読み込み権限を設定
$ sudo chmod a+rw /dev/ttyUSB0
connect
ボタンを押すと実機と接続
接続が完了するとconnected
に変わります.
接続切断後はサーバを再起動して下さい.
port
にport名を入力することで特定のデバイスに接続可能copy
を押すと、coping
に変わり実機の姿勢をトレースSET
:実機が画面上のモデルと同じ姿勢に移動ON
:トルクONOFF
:トルクOFF再生
:教示保存したデータを再生
教示
:実機でトレースした動きを保存
RESET
:ブラウザ上のモデルを初期姿勢に変更
実機のトルクがONの場合実機が動作します
- 実機をトルクOFF状態にし、
copy
を実行 coping
状態中に、教示ボタンを押すことで動作の保存を開始
- もう一度教示ボタン
を押すことで動作の保存を終了
- 再生を押すことで、教示した動作を実行
- 実機をトルクON状態にし、再生を押すことで実際に実機が教示した動作を実行
緊急停止としてキー入力(a~zA~Z)を行うとトルクがOFFになります
This repository is licensed under the Apache License Version 2.0, see LICENSE.
このリポジトリはApache License Version 2.0で公開されています。詳細はLICENSEを確認してください。