*

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

関連記事

eclipse_4.3_kepler

eclipse/CDTにおけるgdbでのデバッグ中に発生するpythonのエラー

どもです。 今回のエントリーは、Eclipse上でのデバッグの際に「pythonのエンコードエラー

記事を読む

toppers

C言語でEV3開発(19)-コマンド通信処理でEchoBackしてみた

どもです。 前回は、Bluetoothの接続状態の変化に伴う、状態遷移について書きました。 今回

記事を読む

toppers

C言語でEV3開発(16)-TOPPERS/HRP2 EV3 で Bluetooth割込み

どもです。 今回は、EV3 の環境をTOPPERS/HRP2 EV3RT で作成したアプリをPC上

記事を読む

toppers

C言語でEV3開発(20)-超音波センサと安全状態

どもです。 前回は、BluetoothでPCとEv3を接続してコマンドの送受信について書きました。

記事を読む

no image

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

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

記事を読む

eclipse-juno-logo

C言語でEV3開発(1)

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

記事を読む

no image

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

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

記事を読む

no image

C言語でEV3開発(4)

どもです。 今回のエントリーは、前回のエントリー内容/EclipseでEV3の実行ファイルをビルド

記事を読む

toppers

C言語でEV3開発(18)-モードの遷移の設計-コマンド通信処理の準備

 どもです。  今回は、前回紹介したEv3とBluetoothで通信する機能を

記事を読む

no image

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

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

記事を読む

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 ↑