- Tello Programming 000 -Tello本体の準備-
- Tello Programming 001 -プログラミングの準備(macOS)-
- Tello Programming 002 -プログラミングの準備(Windows)-
- Tello Programming 003 -Scratchの基本-
- Tello Programming 004 -Scratchでプログラミング-
前回の投稿にあるように,ターミナルを立ち上げ,nodeを起動させます.
$ cd Tello.jsのあるディレクトリの場所
$ node Tello.js
そして,Scratch2.0 Offline Editorを起動させ,Scratch2.0 Offline Editorの"File"メニューをShiftキーを押しながらクリックして,"Import Experimental HTTP Extension (実験的なHTTP拡張の読み込み)"をクリックして,Tello.s2eを読み込みます(手順の詳細は前回の投稿を参照して下さい).ブロックパレットからブロックを移動させて,以下のように連続して動作を行うプログラムを作成します.
ブロックパレットに,以下のような動作をプログラミングしてみました.
動作は,
の1〜12を途中に2秒間の静止時間を挟みながら連続的に行うという流れです.
一応,緊急時のために"space"キーを押したら緊急停止するコマンドも作成してあります(画面右上).
Telloがコマンドの通りに飛行すれば,元の場所に戻ってくるはずです.
上記のプログラムを実行してみた結果の動画は以下のようになります.
- 離陸
- 50cm前進
- 50cm上昇
- 100cm前進
- 反時計回りに90°旋回
- 100cm前進
- 反時計回りに90°旋回
- 150cm前進
- 反時計回りに180°旋回
- 右方向に100cm移動
- 50cm下降
- 着陸
の1〜12を途中に2秒間の静止時間を挟みながら連続的に行うという流れです.
一応,緊急時のために"space"キーを押したら緊急停止するコマンドも作成してあります(画面右上).
Telloがコマンドの通りに飛行すれば,元の場所に戻ってくるはずです.
上記のプログラムを実行してみた結果の動画は以下のようになります.
Y.P.S. が上手く動作していないと,1回目のフライトのように離陸場所と着陸場所がずれますが,2回目のフライトでは,離着陸の場所がほぼ同じなので,V.P.S. がそれなりに上手く動作したようです.
各命令が実行されると,nodeを立ち上げているターミナルには以下のように表示されます.
send: takeoff
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: forward 50
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: up 50
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: forward 100
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: ccw 90
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: forward 100
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: ccw 90
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: forward 150
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: ccw 180
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: right 100
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: down 50
Data received from server : ok
Received 2 bytes from xxx.xxx.xx.x:xxxx
send: land
Data received from server : ok
Received 2 bytes from xxx.xxx.x
上記の"x"には数字が入ります.
0 件のコメント :
コメントを投稿