*

C言語でEV3開発(22)-ロギング機能

公開日: : 最終更新日:2017/08/16 マインドストーム/EV3, 開発

どもです。
前回は、モーターの出力を制御する方法について記載しました。その際に、モータ/車体が期待通りに動かず、その解決のために、データの記録と解析が必要という結論に至りました。
なので今回は、このデータの記録方法について、記載します。

1.ログデータのフォーマット
一言で書けば「CSV」形式です。
以上!

2.記録するデータ
今回の解析のために、

・左右のモーター出力指示値
・左右のモーター出力動作値
・左右のモーター出力目標値
・左右のモーターのPID計算値
・超音波センサーの読取値
・超音波センサーの平均値

を記録するようにします

3.ログの方法
Ev3RTでは、標準Cライブラリが使用できます。なので、データの書き込みのためには、この標準関数を使用します。特別なこと、難しいこと、特筆すべきことは何もありません。
ええ、特筆すべきことは何もありません。

実装は、下記の通りです。
(左右のモーター出力指示値~左右の出力目標値)

(左右のモーターのPID制御値)

(超音波センサの読取値、および平均値)

4.ログを録ってみた
上記の実装を追加したアプリケーションを動作させてみました。

このときの動作のログは、下記の通りです。
超音波センサのログ
モーター値
モータ動作/指示値

モーター動作値を見てみると、左右のモーター出力値/動作値に違いはほとんどありません。あったとしても、ノイズ程度のものです。しかし、動画を見てみると、少しずつですが、右側に曲がっているのが分かります。
このことから、曲がってしまった原因は、車体ではなく、車体の走行環境にあることが考えられます。
(カーペットがデコボコしていたのが悪い?)

また、今回のデータでは、前回の動画でドリフト(?)らしき動きについては、説明がつきません。
停止間際に、「くいっ」と曲がるのは何でなんだか…。
この件については、引き続き調査していきます。

ではっ!

(追記)
上記の機能を追加したソースコード一式を、公開しました。
https://github.com/CountrySideEngineer/Ev3MindStormCar/releases/tag/TAG_DEV_EV3_C_VER_1_0

関連記事

no image

C言語でEV3開発(12)-opOUTPUT_TIME_POWERコマンド

どもです。 今回のエントリーでは、これまた前回に引き続き、モーターを動かすためのコマンドについて書

記事を読む

eclipse-juno-logo

C言語でEV3開発(1)

どもです。 2回目の投稿。 本格的な投稿としては、初めての投稿になります。 内容は、LEG

記事を読む

no image

C言語でEV3開発(8)-opOUTPUT_POWERコマンド

どもです。 今回のエントリーでは、EV3でモーターを動かします。 なお、今回のエントリーでも

記事を読む

no image

C言語でEV3開発(14)-opOUTPUT_TIME_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである「opOUTPUT_TIME_SPE

記事を読む

no image

C言語でEV3開発(9)-opOUTPUT_SPEEDコマンド

どもです。 今回のエントリーでは、前回に引き続きEV3のモーターを動かしていきます。 ただし、単

記事を読む

no image

C言語でEV3開発(21)-モーター出力の制御

どもです。 前回は、超音波センサから前方障害物との距離を取得し、それを元に安全状態を判断する、とい

記事を読む

MindStormControl_SprachScreen

EV3開発サポートツール(1)-C#のユーザーコントロール開発

どもです。 突然ですが、今回はC#に関するエントリになります。 具体的には、C#/WPFで、独自

記事を読む

eclipse_cdt_top_100

C言語でEV3開発(3)

どもです。 今回のエントリーの内容は、前回まででセットアップした環境で、実際にEV3上で動く実行フ

記事を読む

no image

C言語でEV3開発(11)-opOUTPUT_STEP_POWERコマンド

どもです。 今回のエントリーでは、再びモーターを動かすためのコマンドについて書きます。 コマンド

記事を読む

no image

C言語でEV3開発(15)-TOPPERS/HRP2 EV3 で PID制御

どもです。 今回のエントリーは、コレまでのエントリーから内容を変えて、モーターの動作の制御をします

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

PAGE TOP ↑