3.Scratch3.0(sLab-Car)

2020年2月13日

事前確認

最初にScratch3環境構築が完了していることを確認してください。
また、Scratch3を利用する際に必要により以下の事前確認(通信及び遅延確認)を行い問題が無いことを確認してScratchプログラムを実施して下さい。

通信及び遅延確認

Scratch3利用する端末とスマートリモコン/カーが通信しながら制御を行います。そのため、通信できることを確認する必要があります。以下の通り確認して下さい。

(1)Windows端末ではコマンドプロンプトを起動して下さい。また、Mac端末ではターミナルを起動して下さい。
【起動方法】
Windows端末:Windowsキー + 「r」コマンドで検索窓を表示し「cmd」と入力しリターン
Mac端末:Launchpadから一覧を表示し「ターミナル」をクリック

(2)通信確認実施
通信確認用プロトコルPingを利用して確認します。「ping 192.168.1.x」のようにスマートリモコン/カーのIPアドレスに通信確認を行います。

【通信OK時(例)Windows10端末】

到達時間が表示され、損失が0になっていることを確認して下さい。(OSにより表示される文字列は異なりますので表示される内容を確認して下さい)

《遅延確認》
OKの場合はパケット往復の時間が表示されます。
「時間=●●ms」の●●を確認し200msec程度以下の環境であることを確認して下さい。ただし、最初の一回目はARPでMACアドレスを解決するため時間を要しますので、最初の一回目を除いて確認して下さい。
ScratchプログラムはWi-Fiで通信しながら実行しますので遅延が大きい場合は正常に動作しません。電波環境が悪い場合や接続端末が多すぎるなど問題がありますので接続端末を制限したり専用の無線親機を設置するなど環境の改善を実施して下さい。

【通信NG時(例)Windows10端末】

タイムアウトが発生し「宛先ホストに到達できません」と表示されていますので通信ができない状態となります。(OSにより表示される文字列は異なりますので表示される内容を確認して下さい)
通信NG時は設定したWi-FiやIPアドレスなどの情報を確認し通信OKになるようにする必要があります。

Scratchでプログラム

Scratchプログラム例は以下となりますのでクリックダウンロードしプログラムの参考として下さい。
(1)sLabCar障害
(2)sLabCar追跡《標準モデルのみ利用可》
ダウンロードしたファイルをScratch3.0メニューの「ファイル」から「コンピュータから読み込む」で開くと以下の画面が表示されます。

《利用時の設定》

Car本体のIPアドレス設定

「Car IPアドレス」で工作キットに設定したIPアドレスを入力して利用してください。
【サンプルプログラムでは右中央下部の「事前準備」スプライトを選択して利用して下さい。】

sLab-CarのIPアドレスは制御プログラムで設定した値になります。

障害物検知方法(「距離測定」ブロック)

「距離測定」ブロックを利用すると以下の変数ブロックの情報が更新されます。
(1)距離(cm)
(2)左Irセンサー《標準モデルのみ(無し or 検出)》
(3)右Irセンサー《標準モデルのみ(無し or 検出)》

障害物検知距離「checkDistance」の設定

障害物を検知し設定距離以下で方向転換を行う距離「checkDistance」が設定可能となっています。
25と設定した場合は、25cm以内に障害物を検知した場合に方向転換を行います。動作を確認しながら距離を設定して下さい。

右/左方向転換時間「rightTime/leftTime」の設定

スマートカーに方向展開を指示する場合に転換時間「rightTime/leftTime」を設定することが可能です。
90度の方向転換を行う場合など、制御したい角度に方向展開ができるよう「rightTime/leftTime」を設定して下さい。
「0」または「-1」を設定するとSTOPするまで無限に回り続けます。
また、「0」及びプラス数値は方向転換時、曲がる方向のタイヤは逆回転しますが、「-1」を設定すると曲がる方向のタイヤは停止しています。
(Arduinoのスケッチに上記のようにプログラムされています。)

距離センサ角度補正の設定

スマートカーに設置する超音波センサは、取り付けギヤ等の関係で真っ直ぐ前へ取り付けるのが困難な場合があります。
-3〜+10程度で補正し、超音波センサをまっすぐ前向きに補正することが可能です。

《注意点》

各コマンド完了確認

Scratch3から応答(完了)を待たずにプログラムすると正常に動作できません。例えば完了を待たずに実施すると距離測定の結果を待たずに距離判定を行ってしまいます。以下のブロックを利用時は必ずブロック処理が完了する処理をプログラムで入れて下さい。

【完了待ちが必要なブロック処理】
①距離センサ角度補正ブロック
②LED制御ブロック
③距離測定ブロック
④距離センサ回転ブロック
⑤Car GO/BACKブロック
⑥Car回転 RIGHT/LEFTブロック

【完了処理】
上記ブロックを利用した場合は、直後にCarStatusが「Completed」になるまで待つようにプログラムして下さい。

ダウンロードプログラムの利用方法

スマートカーを走行させる前に以下の動作で各パラメータ値の補正及び動作確認を行って下さい。
(1)IPアドレス設定、距離センサー補正と距離測定
以下のプラグラムによりスマートカーの設定を行って下さい。

実行後に右上のスプライト内の「sLab-Car : 距離(cm)」変数にスマートカー距離センサー結果が表示されることを確認して下さい。

(2)左右回転時間の設定
以下のプログラムにより、「Car回転 RIGHT/LEFTブロック」利用時に回転する時間を設定し正常に曲がれるように調整します。

回転が不足する場合は継続時間(ms)を大きくして下さい。また、回転しすぎる場合は継続時間(ms)を小さくして下さい。

(3)各コマンドで動作確認
以下のブロックを個々にクリックしてスマートカーの動作を確認して下さい。

上記でプログラムの事前確認は完了ですので、以下のようなプログラムを作りスマートカーを動作させて下さい。

《一部省略》