距離センサーを搭載する

Posted on 2017.04.28 in カメ型, ヒューマノイド型

KXRのセットには、PSD距離センサーや超音波センサー(受信部)を搭載するためのセンサーベースが付属しています。今回は、このセンサーベースの使用方法をご紹介します。

 

■PSDセンサーとは

赤外線を使用した距離を計測するためのセンサーです。5Vを入力することでアナログ信号により距離を検知することができます。

 

■必要なパーツ

 Exif_JPEG_PICTURE

 

・PSDセンサー(No.03125) ×1

 

・ZH⇔PHケーブル(200mm)(センサーに付属) ×1

 

 

 

以下は、キット付属品です。

Exif_JPEG_PICTURE

センサーベースA ×1

ボトムアーム3300(20mm) ×1

2.6-4フラットヘッドビス ×3

 ・M2.6-10BHビス ×1

 

 

■搭載方法

今回はKXR-L4T カメ型ロボットの頭部に取り付けます。

KXR_L4T_11

 

1)センサーベースAに2.6-4フラットヘッドビスでPSDセンサーを固定します。

Exif_JPEG_PICTURE

 

2)さらに、ボトムアーム3300(20mm)を2.6-4フラットヘッドビスで固定します。

Exif_JPEG_PICTURE

 

3)頭部のダミーサーボとジョイントフレームBを取り外します。

Exif_JPEG_PICTURE Exif_JPEG_PICTURE

 

4)センサーベースAを頭部のジョイントベースにM2.6-10BHビスで固定します。

Exif_JPEG_PICTURE Exif_JPEG_PICTURE

 

5)PSDセンサー付属のケーブルは、コネクタが大きい方をPSDセンサーに接続し、小さい方をRCB-4miniに接続します。今回は、RCB-4miniのAD1へ接続しました。

Exif_JPEG_PICTURE Exif_JPEG_PICTURE

 

以上で搭載は完了です。

Exif_JPEG_PICTURE

 

 

■HeartToHeart4でセンサーを制御する

今回は、HeartToHeart4の機能を使用してロボットが物体と一定の距離を保つ制御を行ってみたいと思います。

 

1)HeartToHeart4を起動し、プロジェクトブラウザウィンドウを開いて「Hello_KXR-L4T」のプロジェクトを展開します。.h4p拡張子のファイルをダブルクリックします。

PSD20170413_42

PSD20170413_43

 

 

2)「新規モーション」ボタンを押して新規にモーションウィンドウを作成します。

PSD20170413_20

 

3)ツールボックスウィンドウからCmpADコントロールをドラック&ドロップします。

このCmpADは、センサーの値によってプログラムを分岐することができます。

PSD20170413_21

 

4)CmpADをダブルクリックして開きます。

PSD20170413_22

 

5)ロボットの電源を入れてからポートでAD1を選択し「Sync」ボタンを押してください。

「実測値」にAD1へ接続したPSDセンサーの値がリアルタイムで表示されます。

PSD20170413_22

PSDセンサーに手を近づけたり離したりすると値が変わります。

今回は、約15cmの距離を保つように設定します。

この距離センサは、15cm先に物があるとRCB-4では350の値を取得できます。よって「比較する値(閾値)」には350を設定します。

値は、15cmより近づくと350より大きくなり、遠ざかると350より小さくなります。

計測可能な距離は約80cmです。80cmを超えると約50以下の値になりますのでこの値もプログラムで使用します。

一度CmpADをCANCELで閉じてください。

 

6)プログラムの流れは以下のようになっています。

 1.閾値350以上だったら後進して離れる

 2.閾値350以下だったら前進して近づく

 3.閾値100以下だったら首を振る

 ※80cmを超えた場合は50以下ですが、余裕をもって100にしています。

 

7)実際にプログラミングを作成します。

まず、CmpADを二つ追加します。

PSD20170413_23

 

8)次にMotionJumpを三つ追加します。

MotionJumpは、指定したモーションを再生することができます。

PSD20170413_24

 

9)接続線で各コントロール(パネル)をつなぎます。画像のように配線してください。

PSD20170413_27

PSD20170413_25 PSD20170413_26

青い線とグレーの線は通常の「接続モード」の線です。オレンジの線は「分岐接続モード」の線です。線の途中で折れている箇所がありますが、配線の途中でクリックするとアンカーポイントを置くことができます。

 

●接続モードと分岐接続モードについて

通常は接続モードを使用して配線します。このモードで配線した場合、配線元のCmpADから配線先へ順番にプログラムが移動します。

分岐接続モードの時は、CmpADなどの比較に対して条件に合っていれば(true)分岐接続モード(オレンジ線)で配線した先に移動し、条件から外れていたら(false)接続モード(青線)で配線した先に移動します。

 

10)一つ目のCmpADを開き以下の画像のように設定してください。「行き先」はそのままでOKです。

PSD20170413_28

ここでは、1.の「AD1の値が350以上だったらMotionJumpへ移動」と設定しています。

後で設定しますが、このMotionJumpに後進モーションを設定することでロボットに後進を指示することが可能です。

 

 

11)二つ目のCmpADを開き以下の画像のように設定してください。

PSD20170413_29

ここでは、3.の「AD1の値が100以下だったらMotionJumpへ移動」と設定しています。

 

 

12)三つ目のCmpADを開き以下の画像のように設定してください。

PSD20170413_30

ここでは、2.の「AD1の値が350以下だったらMotionJumpへ移動」と設定しています。

 

ここでプログラム2.「閾値350以下だったら前進して近づく」と3.「閾値100以下だったら首を振る」の順番が逆になっていますが、もし2.の判定、3.の判定の順番で行うと、100以下の値を取得した場合、値は350以下でもありますので2.の350以下として判定されてしまい3.の100以下に移動しません。その状態を防ぐため、3.の判定、2.の判定と順番を入れ替えています。

 

13)CmpADの次は、MotionJumpを設定します。全てのMotionJumpにて必ず「再生後復帰する」にチェックを入れて下さい。

一つ目は「XL4T_102 一定歩行後(3回)」

PSD20170413_31

 

二つ目は「XL4T_203 首を振る」

PSD20170413_32

 

三つ目は「XL4T_101 一定歩行前(3回)」をそれぞれ指定します。

PSD20170413_33

 

以上で設定は完了です。

 

14)出来上がったモーションをRCB-4miniへ登録します。「モーション書き込み」ボタンを押してください。

PSD20170413_34

 

15)ダイアログが開きますので、空いている箇所を選択しOKボタンを押します。

PSD20170413_35

 

16)「モーション一覧ウィンドウ」ボタンを押してウィンドウを開き「モーション書き込み」ボタンを押してRCB-4,miniにデータを登録します。

PSD20170413_36

PSD20170413_37

 

 

■プログラムの実行

1)モーション一覧ウィンドウ内の先ほど登録したモーションを選択し「再生」ボタンを押してください。

PSD20170413_38

 

Exif_JPEG_PICTURE

手の距離によってロボットが移動すれば成功です!

近づけたり、離して試してください。手をどけるとロボットが首を振るはずです。

 

 

 

2)プログラムを停止するときは、「停止」ボタンを押します。

PSD20170413_39

 

以上ですべての作業が完了です!

 

■プロジェクト、モーションを保存する

HTH4を閉じるときは、モーションの保存と、プロジェクトの保存を忘れずに行ってください。

PSD20170413_40 PSD20170413_41

 

CmpADとMotionJumpを組み合わせることでセンサーを使った簡単なプログラムを行うことができます。HeartToHeart4には、他にも多彩な機能がありますのでぜひ試してください。

以上です!