« マイロボットが不調 | トップページ | マイロボット完成 »

2007年8月 7日 (火)

手をたたいてマイロボットを呼ぶ

手をたたいたらジョニー5が来るようにプログラムを作ってみました。

「program5.vclike」をダウンロード
右クリックして「対象をファイルに保存」をクリック-ファイル名が「program5.xml」になっているので「program5.vclike」に変更して「保存」をクリックしてください。

手順は

(最初に「アクション」でワードセット2に移動しておきます)
手をたたく。

音の方向にベースを回転。

2m進む または 「コマンド 1(いち)」と言うと止まる。
(物体回避がオンになっているので障害物があると別の方向に進みます)

「上手に出来ていましたか?」と発声。

「コマンド 2(に)」と言うとサウンド追跡と物体回避がオフになる。

このプログラムの直さなければいけないところは、

「コマンド 2」を言わないと、手をたたく音を待って最初からできるはずですが、手をたたかないのに勝手に動き出してしまいます。

手をたたくと顔まで動いてしまいます。
横を向いて向かってくるので、おかしいです。

感想は、手をたたくとずっと動いているので見ていて楽しいです。
プログラムしていないのに動きながら「もう1度」と言っていました。


配置方法は以下のようにしました。

※「プログラムエリアに配置」は特に指定がない場合は前に配置した命令の下に配置します。

1.アウトラインの「手続き」を右クリックし、「手続きを追加」をクリック。(手続きはプログラムの中で命令を1回だけ実行)

2.アウトラインの「procedure1」をクリックして、プロパティーの「Name」の左側に「init」と入力。(procedure1の名前変更)

3.プログラムエリアの下の方にあるInitタブをクリック。

4.パレットの「コンフィグレーション」-「Sound Follower」をプログラムエリアに配置。

5.パレットの「コンフィグレーション」-「Obstacle Avoidance」をプログラムエリアに配置。

6.プログラムエリアの下方にあるMainタブをクリック。(以下○○タブに省略)

7.パレットの「プロセス」-「Call」をプログラムエリアに配置。

8.プロパティーの「Target」で「Init」を選択。(サウンド追跡と物体回避が有効になる)

9.アウトラインの「Main」を右クリックし、「行動を追加」をクリック。

10.アウトラインの「Behavior1」をクリックして、プロパティーの「Name」に「go1」と入力。(behavior1の名前変更)

11.Go1タブをクリック。

12.パレットの「プロセス」-「Wait For」をプログラムエリアに配置。

13.プロパティーの「Sensor」で「Sound Direction」を選択。

14.パレットの「チェック」-「Sound Direction」をプログラムエリアに配置。

15.パレットの「ベース」-「Angle」をプログラムエリアの「SOUND-DIR-BACK」に配置。
16.プロパティーの「Angle」を「180」に変更。

17.パレットの「ベース」-「Angle」をプログラムエリアの「SOUND-DIR-LEFT」に配置。

18.プロパティーの「Speed」を「-50」に変更。(マイナスをつけると左向きに回転)

19.パレットの「ベース」-「Angle」をプログラムエリアの「SOUND-DIR-CLEFT」に配置。

20.プロパティーの「Speed」を「-50」に変更。

21.プロパティーの「Angle」を「45」に変更。

22.パレットの「ベース」-「Angle」をプログラムエリアの「SOUND-DIR-CRIGHT」に配置。

23.プロパティーの「Angle」を「45」に変更。

24.パレットの「ベース」-「Angle」をプログラムエリアの「SOUND-DIR-RIGHT」に配置。

25.アウトラインの「Main」を右クリックし、「行動を追加」をクリック。

26.アウトラインの「Behavior1」をクリックして、プロパティーの「Name」に「stop1」と入力。(behavior1の名前変更)

27.Stop1タブをクリック。

28.パレットの「プロセス」-「Wait For」をプログラムエリアに配置。

29.プロパティーの「Sensor」で「Voice Command」を選択。

30.プロパティーの「Event」で「one」を選択。

31.パレットの「ベース」-「stop」をプログラムエリアに配置。

32.パレットの「プロセス」-「End」をプログラムエリアに配置。

33.Go1タブをクリック。

34.パレットの「プロセス」-「Start」をプログラムエリアに配置。

35.プロパティーの「Target」で「Stop1」を選択。

36.パレットの「ベース」-「Distance」をプログラムエリアに配置。

37.プロパティーの「Distance」を「200」に変更。

38.パレットの「音声」-「Say Phrase」をプログラムエリアに配置。

39.プロパティーの「Index」を「127」に変更。(「上手に出来ていましたか?」と発声)

40.Mainタブをクリック。

41.パレットの「プロセス」-「Start」をプログラムエリアに配置。

42.プロパティーの「Target」で「Go1」を選択。

43.アウトラインの「Main」を右クリックし、「行動を追加」をクリック。

44.アウトラインの「Behavior1」をクリックして、プロパティーの「Name」に「stop2」と入力。

45.Stop2タブをクリック。

46.パレットの「プロセス」-「Wait For」をプログラムエリアに配置。

47.プロパティーの「Sensor」で「Voice Command」を選択。

48.プロパティーの「Event」で「two」を選択。

49.パレットの「プロセス」-「Stop」をプログラムエリアに配置。

50.プロバティーの「Target」で「Go1」を選択。

51.アウトラインの「手続き」を右クリックして、「手続きを追加」をクリック。

52.アウトラインの「Procedure1」をクリックして、プロパティーの「Name」に「Exit」と入力。

53.Exitタブをクリック。

54.パレットの「コンフィグレーション」-「Sound Follow」をプログラムエリアに配置。

55.プロパティーの「Mode」で「Off」を選択。

56.パレットの「コンフィグレーション」-「Obstacle Avoidance」をプログラムエリアに配置。

57.プロパティーの「Mode」で「Off」を選択。

58.Stop2タブをクリック。

59.パレットの「プロセス」-「Call」をプログラムエリアに配置。

60.プロパティーの「Target」で「Exit」を選択。

61.パレットの「プロセス」-「End」をプログラムエリアに配置。

62.Mainタブをクリック。

63.パレットの「プロセス」-「Start」をプログラムエリアに配置。

64.プロパティーの「Target」で「Stop2」を選択。

65.保管する。

|

« マイロボットが不調 | トップページ | マイロボット完成 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 手をたたいてマイロボットを呼ぶ:

« マイロボットが不調 | トップページ | マイロボット完成 »