マルチタスク・プログラミング ~レゴマインドストームEV3~ | そう備忘録

マルチタスク・プログラミング ~レゴマインドストームEV3~

トレーニングロボットでマルチタスク

教育用レゴマインドストームEV3のトレーニングロボットを使ってマルチタスクのプログラムを作成する。

尚、トレーニングロボットの組み立てについてはこちらを参照

マルチタスクとは一度に複数のタスク(動作)をさせる事で、レゴでは複数のブロックへコネクタを繋げることで同時に複数の処理が実行できる。

マルチタスク

ステアリングブロックを使ってトレーニングロボットを動かしながら同時に音声ファイルを再生するマルチタスクのプログラムを作成してみる。

使用するブロック

使用するブロックは以下の3種類

ステアリングブロック

Lモーターを2つ同時に動かしてトレーニングロボットを操縦するブロック。

今回使用するパターン以下の2種類。

尚、ステアリングブロックの詳細はこちらを参照

ステアリングブロック 直進

トレーニングロボットを車輪2回転分だけ直進させる

  • ステアリング:回転数
  • ステアリング:0(直進)
  • パワー:50
  • 回転:2
  • ブレーキ方法:真
ステアリングブロック 右回転

トレーニングロボットを車輪2回転分だけ右回転させる。

  • ステアリング:回転数
  • ステアリング:100(時計回り)
  • パワー:50
  • 回転:2
  • ブレーキ方法:真

音ブロック

音ブロックは予め用意されている音声ファイルの再生、トーン周波数の再生、音符の再生ができる。

音ブロックの詳細についてはこちら

今回使用するパターン以下の3種類。

音ファイル 犬の吠え声1

犬の吠え声1を繰り返し再生する

  • 音:ファイルの再生
  • ボリューム:100
  • 再生タイプ:2(繰り返し)
  • ファイル名:Dog bark 1
犬の鳴き声(sniff)

犬の鳴き声(sniff)を再生する

  • 音:ファイルの再生
  • ボリューム:100
  • 再生タイプ:0(完了待ち)
  • ファイル名:Dog sniff
音の停止

音の再生を停止する

  • 音:停止

インテリジェントブロック ステータスライト

インテリジェントブロック(白いコントロール用のブロック)の操作面についているステータスライトの制御をするブロック。

今回使用するパターン以下の1種類。

尚、インテリジェントブロックステータスライトの詳細についての記事はこちら

赤色ライトの点滅

 インテリジェントのステータスライトを赤色に点滅させる

  • インテリジェントブロックステータスライト:オン
  • 色:2(赤)
  • パルス:真(点滅)

プログラム全体(その1)

まずは簡単なマルチタスクのプログラム。

トレーニングロボットを犬の鳴き声1を再生しながら車輪2回転分だけ直進させる。

マルチタスクのプログラム

プログラム開始

トレーニングロボットを車輪2回転分だけ直進させる

2と同時に犬の吠え声1を繰り返し再生する

2の処理が終了したら音の再生を停止する

プログラム全体(その2)

次にもう少し複雑なプログラム。

マルチタスクは3つの処理を同時に実行することもできる。

マルチタスクのプログラム 3つ同時

プログラム開始

※前半部分(1~4)は先程のプログラムと同様

トレーニングロボットを車輪2回転分だけ直進させる

2と同時に犬の吠え声1を繰り返し再生する

2の処理が終了したら音の再生を停止する

インテリジェントブロックのステータスライトを赤色に点滅させる

5と同時にトレーニングロボットを車輪2回転分だけ右回転させる

5と同時に犬の鳴き声(sniff)を再生する

プログラミング動画

2種類のプログラムの作成手順と実際のトレーニングロボットの動きが分かる動画。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。