JetBot でライントレースを走らせた

JetBot のノートブックには road following というものがあり、これでレースコースなどを走らせられるものが用意されています。これを道路内ではなく、ライン上を学習させることによって、ライントレーサーに出来ないかと試してみました。

ライントレースできるか

丁寧に学習させた結果、最終的には以下のようなシンプルなコースを走らせることに成功しました。

ふらふらしてはいますが、本体が完全にラインから逸脱することはなく走っています。処理速度の問題もあって、これは TensorRT を使った実行版で動かしています。

学習のコツ

学習自体は前回同様に JetBot 本体を用いてカメラから撮影された映像にパラメータを設定していくのですが、今回のモノはハンドルの角度を指定するものになります。人間が操作する場合、同じパターンで同じ挙動とは必ずしもならないので、その曖昧性を可能な限り減らしてあげることが私の場合では必要でした。同じ映像で場合によっては左にいったり、右に行ったりするようなハンドルさばきでは、学習も混乱してしまいます。

また、直進のハンドル指示もまたそれなりに枚数を撮影しておくことが必要でした。カーブ情報が多く撮影することになりがちですが、その場合では直進が出来る状況でも全く直進せず、左右のモーターのON/OFF を繰り返しながらクネクネしながら、進んでいく結果となりました。

最後に、照明の条件もそこそこ影響を受けました。
日光があたる窓際ということもあったのですが、快晴・曇り・雨、昼・夜で、おそらく写り具合が変化する影響もあってか、「昨日は上手く動きつつあったのに今回は全く正常じゃない!」ということが起こりました。これらも学習データをそれぞれためていくと安定していくのですが。始めは安定した照明状況でやるのがよさそうです。

参考情報

JetBot でライントレースしてみた事例は少なめですが、情報はあります。日本語で書かれている以下の記事がとても参考になります。

本家のページでは道路に従って走るノートブックの説明がこちらにあります。

関連記事

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください