変わりモノがいい!

変わりモノには価値がある・・・ハズ?

Pi式Jetracer Pro 奮闘記 続編-3

運転が上手くならないといけないのかも?

学習データも何とか採取でき、学習処理も無事に終了し、さあ自動運転だ、とやってみたら暴走してしまったわけですが、原因を推定してみました。
まず、今回選んだPi式Jetracer Proですが、JetracerとJetracer Proの2種類ある中で、Jetracer Proを選びました。
その理由は、スピードを出せるから、です。
機会があればJetracer Proで何らかの大会に出てみたい、という気持ちがあり、そのためにはスピードがでる車体でないといけないのでJetracer Proの方を選びました。

f:id:ken2017:20210527114316p:plain
昨年はPiCar-Vで自動運転をやりましたが、そのときのスピードは非常にゆっくりしたもので、よいしょ、よいしょ、という感じで走っていました。
その時の動画がコレです。

www.youtube.com

どうも今回の問題は走行速度にあるのではないかと思っています。
学習データを取るときもデフォルトで設定されていた速度では速すぎて上手く運転ができず、最高速度を0.5(50%)設定から0.2(20%)設定に変更しました。
ゲームパッドで運転するのですが、0.5の時は速すぎるため、間欠運転(スロットルを頻繁にON/OFFさせる)になってしまい、これは良くないな、と思い、0.2に変更した次第です。
そのことを確かめるために、Pi式Jetracer Proを走行面から浮かして自動運転してみました。
これにより、ステアリング角度をキチンと計算できているかどうかを確認しようと思いました。
結果はコチラ。
落ち着いて(?)計算させると正しく計算できています。
これが実際の走行になると暴走になっているようです。

f:id:ken2017:20210617143317j:plainf:id:ken2017:20210617143339j:plainf:id:ken2017:20210617143425j:plain

f:id:ken2017:20210617143537j:plainf:id:ken2017:20210617143611j:plainf:id:ken2017:20210617143644j:plain

f:id:ken2017:20210617143722j:plainf:id:ken2017:20210617143758j:plainf:id:ken2017:20210617143829j:plain

この原因としてオマケまでついていました。
昨日の暴走は、学習データ取りを0.2でやったにも係わらず、学習処理を0.5でやってしまっていたようで、そのことも影響したと思います。
ネット情報を調べていると、学習データ取りの時の最高速度と学習処理の最高速度を同じにすること、という記載がありましたので、僕と同じようなミスをした人がいたんだろうなと思います。
最高速度を0.2にし、更には、間欠運転にならないように出来るだけ注意して学習データを取り直しました。
最高速度を遅くすると比較的運転はしやすくなりますが、スロットルを全開の状態で運転している時間が長くなってしまいました。
特に、カーブにおいてはステアリング角度を大きくするため抵抗が大きくなり、走行速度を大きくしないと動きにくい面があります。
これはこれで良くないのだろうなと思いました。
本来ならば、最高速度を0.5にした状態で、スロットルを適切にコントロールして間欠運転にならないような運転を行って学習データ取りをしないといけないのかも知れません。
そんなことを考えながら、前回よりも多めの学習データを採取し、学習処理をしました。
その結果が、コチラ。
前回同様、無事に学習処理は終了。
  学習開始

f:id:ken2017:20210617142236j:plain
  学習のモデル

f:id:ken2017:20210617142300j:plain
  epoch NO.1の状況

f:id:ken2017:20210617142327j:plain
  epoch NO.35の状況(最終epoch)

f:id:ken2017:20210617142349j:plain

それでは自動運転開始

気分を新たに自動運転開始!
ありゃ、ダメか。
結果を下の動画に示します。
動かし始めは全くダメでした。
動画の2分か3分経過ぐらいのところから、何となくですが、走行路にそって走る時間帯も出てきました。
終盤になるにつれ、走行路に沿って走れる時間が伸びてきたようにも思います。
そうなんです、走行時間が長くなるにつれ走行速度が落ちてきたのが理由みたいです。
最高速度を0.2にしているので電池の消耗やステアリング角度によって走行しにくくなっているようです。
結果、上の動画に示したPiCar-Vと同じような動きになり、脱線しにくくなったようです。
youtu.be

なめらかな学習データが必要なんでしょうね。
それと気になることがあったので調べてみました。
それはカメラの画角です。
Jetracer Proの標準のカメラの映像は、ネットに出ている下のようなものです。

f:id:ken2017:20210617145208j:plain
それに対して、今回使っているカメラの実際の映像はコチラ。

f:id:ken2017:20210617144941j:plain f:id:ken2017:20210617145005j:plain

ちょっと画角が狭いのと走行面との角度が緩いことが気になります。
走行路の場所による違いが出にくくなっているかも知れません。
そのため、実際の走行では正しいステアリング角度が計算できず、走行路から浮かせてやった場合には実際の走行の時よりは正しいと思われるステアリング角度を計算したのかも知れません。

さて、これからどうするかな?

ということで、自動運転をやってはみたものの、十分な結果にはなりませんでした。
次の選択肢としては、
1)最高速度を0.5にして走行練習を繰り返し、運転が上手にできるようになって
  学習データを取り直す。
   そういえば、Donkey Carのネットのページには10週から20周失敗なく運転できる
   ようになって学習データを取るように、とありました。
2)カメラに付けるレンズがあれば付けて画角を広げて学習データを取って見る。
3)Pi式jetracer Proはここで休止しておき、次のステップであるJetson nanoを使った
  Jetracer Proの立ち上げに移行する。
悩むところではありますが、1)は今後の課題にもなりますので、もう数日間1)をやって、その上で3)に行こうと思います。
ということで、今日はここまで。
では、また。

 

プライバシーポリシー お問い合わせ