*

C言語でEV3開発(25)-Q_Learningを実装してみた…が!?

公開日: : 最終更新日:2018/02/05 C言語, マインドストーム/EV3, 開発

どもです。
今回の内容は、「失敗しました」という内容です。

最近、流行になっている深層学習/強化学習のお勉強を始めました。
で。
やっぱりお勉強したら、実践したくなるのが人間の性です。
(ただし、エンジニアに限る…かも?)

1.やってみようとした内容
EV3本体での強化学習/Q-Learningを実装、実施してみようとしました。
入力としては、

・モーターの出力値(出力目標) x2
・超音波センサーの距離値

を選択しました。
これらのセンサー入力値を元に、自動で衝突回避を学習するようなシステムの実装を行ってみました。

2.やってみた結果
上記内容を実装、実機で動作させようとしたのですが、アプリケーションをロードすると

「Failed to load application」

と、液晶に表示されてしまいました。
次に、「EV3RT Console」でのログ内容を確認すると、

と表示されていました。
最後のercdを調べてみると、「t_stddef.h」において

と定義されています。
…えー…、単にメモリ不足ということ?
作ったアプリが使用するメモリを確保できない、ということ?
…だそうです。

3.原因は?
ざっくり調べてみました。
今回作成したアプリケーションでは、Q-Learningの値を保持するために、大量のメモリを必要としています。
具体的なメモリ量は、「32936220バイト」つまり「約32MB」になります。
そのため、この領域がメモリを圧迫していることが分かります。

以上、Q値を格納するための領域が、「Fail」の原因であることが判明しました。

4.対策は
…さて、どうしよう。
対策の検討と実装は、次回に。

ではっ!

2018/02/05 追記
うまくいかなかった例ですが、一応GitHubにソースコードを上げてみました。
EV3上で動作しないので、PC上で動作するバイナリファイルを作成、一緒にコミットしています。
なお、cygwin上でビルド、動作するようになっています。

関連記事

no image

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

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

記事を読む

google_test_top

C言語でEV3開発(5)

どもです。 今回のエントリーは、前回のエントリーでちくっと触れた、「単体テスト」について、です。

記事を読む

no image

C言語でEV3開発(13)-opOUTPUT_STEP_SPEEDコマンド

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

記事を読む

no image

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

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

記事を読む

no image

C言語でEV3開発(4)

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

記事を読む

eclipse_oxygen

Linux/EclipseでRaspberryPiのクロス環境を構築してみた…がっ!

どもです。 前回のエントリでは、WindowsにRaspberryPi3のクロスコンパイル環境の構

記事を読む

Qt_logo_2016

QtでRaspberryPi/GUI開発(2):ためしに時計を作ってみた(其の弐)

どもです。 前回のエントリーでは、ラジオボタンのグループ化と、選択されたボタンの特定方法まで記載し

記事を読む

raspberry-pi

RaspberryPi3対応のタッチスクリーンを買いました

どもです。 ついに、念願のRaspberryPi3対応のタッチスクリーンを買いました。 今回のエ

記事を読む

toppers

C言語でEV3開発(23)-モーターの性能確認

どもです。 今回は、EV3に付属しているモーター(Lモーター/Mモーター)の性能について調べてみた

記事を読む

raspberry-pi

RaspberryPi3を購入しました

どもです。 突然ですが、「Raspberry Pi3 model B」を購入しました。 今回のエ

記事を読む

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="">

raspberry-pi
RaspberryPi3対応のタッチスクリーンを買いました

どもです。 ついに、念願のRaspberryPi3対応のタッチスクリ

no image
QtでRaspberryPi/GUI開発(3):ためしに時計を作ってみた(其の参)-StyleSheetの適用

どもです。 前回のエントリーでは、グループ化されたボタンに対するイベ

Qt_logo_2016
QtでRaspberryPi/GUI開発(2):ためしに時計を作ってみた(其の弐)

どもです。 前回のエントリーでは、ラジオボタンのグループ化と、選択さ

raspberry-pi
QtでRaspberryPi/GUI開発(1):ためしに時計を作ってみた

どもです。 また更新の間隔が空いてしまいました。 久しぶりの更新で

no image
Windows-QtCreatorでのデバッグ

どもです。 更新の間隔が空いてしまいました。 久しぶりの更新です。

→もっと見る

PAGE TOP ↑