ライントレースの時のセンサー値をデータロギングする ~レゴマインドストームEV3~
Contents
データロギングとは
教育用レゴマインドストームEV3のデータロギングはプログラム動作中の色々なセンサーの値を保存しておいて、プログラム終了後にアップロードしてグラフ化することができる。
例えばモーターのパワー、回転角度、カラーセンサーの反射光の強さ、ジャイロセンサーの角速度などのデータを時系列で保存した後、実験画面で読み込んでグラフ化することにより、その時その時のセンサー値を正しく把握して次のプログラミングに活かすことができる。
下記の用にグラフィカルに線グラフで表示すると同時の数値データでも保存されているので後からかなり詳しく分析することができる。
ライントレース
トレーニンロボットに下向きにカラーセンサーを取り付ける。
カラーセンサーで反射光の強さを測定して黒ライン上をトレースするプログラムを作成する。
使用するプログラム
今回使用するプログラムは以下の通り。
カラーセンサーで反射光の強さを判別して反射光が50未満(黒ライン上)と50以上(黒ライン以外)とで左右のモーターをパワーを制御して蛇行をしながら黒ライン上をトレースするプログラム。
尚、このプログラムの詳細については以前の「黒ラインをトレースするプログラム」の記事を参照。
今回はこのプログラムについての詳しい説明は行わない。
使用するブロック
今回使用するブロックは上記のプログラムで使用しているブロック以外では以下の1種類。
データロギングブロック
データのログ(記録)をとるためのブロック。
様々なセンサーやモータの値を時系列で記録することができる。
プログラム全体
先程の黒ライン上を蛇行してトレースするプログラムの前後にデータロギングブロックを配置してカラーセンサーの反射光の強さや左右のモーターのパワー値を記録する。
1 | プログラム開始 |
2 | カラーセンサーの反射光の強さのデータロギングを開始する |
3 | 左車輪のモーターのパワーのデータロギングを開始する |
4 | 右車輪のモーターのパワーのデータロギングを開始する |
5 | 黒ライン状を蛇行してトレースするプログラム 詳細は以前の記事を参照 |
6 | カラーセンサーのデータロギングを停止する |
7 | モーター(左車輪)のパワーのデータロギングを停止する |
8 | モーター(右車輪)のパワーのデータロギングを停止する |
実験モード
上記のプログラムを実行した後、Programの右横の+を押して「新しい実験」を開く
新しいExperimentタブが開くので右下の”アップロード”ボタン
データログファイルマネージャーが開くのでAuto-Logging(プログラム名)フォルダー配下の3つのファイル
- color.rdf
- Left.rdf
- Right.rdf
を選択して”インポート”する。
ログデータが読み込まれると同時に時系列の折れ線グラフが表示される
カラーセンサーの反射光の強さ(茶) | 蛇行しながらの黒ラインのトレースなので10%(黒ライン上)~100%を繰り返している 一部、間隔が広いところはコースが楕円の部分 |
左車輪のパワー(紫) | トレーニングロボットが黒ラインから外れるとパワーが入り、黒ライン上に戻るとパワーが下がる |
右車輪のパワー(赤) | 上記の左車輪のパワーと逆の動きをする |
ログデータ | グラフの元となる数値データ 0.1秒単位で記録されている |
上記の様にデータロギングブロックを使うとプログラム動作中のセンサーやモーターの動きを数値化してグラフィカルに表示することができる。
センサー値からプログラムの基本的な動きを確認したい時や、より細かいセッティングの為にセンサーの値をシビアに観測したい時などに活用できる。
実際に動かしてみた動画
プログラムの作成からデータのロギング、実験画面へのアップロードから分析までの動画がこちら。
最近のコメント