2019年9月12日木曜日

東日本地区大会

ロボトレースのポイントを確保するために遠征.

ロボトレース:出走番号2番とかなり早い出走.記録走行は問題なく終了.2走目は設定速度が無茶だったらしくコースアウトしてしまった.3走目は少し速度を落としてチャレンジ.ロボトレースは3走しかチャンスがないということでかなり不安だったが完走することができた.NVSの配信に写っていたので紹介.


動画からもわかるように,コース終盤のなみなみを加速しながらまっすぐ突っ切るいわゆるショートカット走行を決めることができた.全日本優勝レベルの人達には歯が立たず4位だったものの,ショートカット走行が評価されて特別賞を頂いた.なみなみをまっすぐ突っ切ることができるのは今の経路計画方法の大きな長所だと考えており,大会で決められたのはとても嬉しい.

マイクロマウス:問題なく走って2位.試走台ではかなり怪しかった2017マウスも本番は無理なパラメータ以外は走った.本番より試走台の方が難易度が高かったような…

当日は台風15号が関東に接近していましたが,迅速な大会進行のおかげで当日中に帰宅することができました.運営・選手のみなさまありがとうございました.

P.S.
私のトレーサの動画を撮っていた方がいたら共有してくださるとありがたいです.

2019年8月26日月曜日

逆プロペラ

トレーサに最近流行り(?)のプロペラを付けてみた.
重量は全体で135gくらい.プロペラの推力は50%の力で80g程度.ただしバッテリー電圧がかなり降下するので走行時はもう少し回転数を落とす必要がありそう.3分間持続可能な推力でプロペラなしよりグリップが改善するかはまだよく分からない.

2019年8月3日土曜日

関西地区大会

関西地区大会に参加.マイクロマウス競技のみエントリー.

土曜日は試走会.午前はロボトレースのコース設営.自分の指揮がグダグダで時間がかかってしまったが無事完了.作っておいたダンボール製のR15・R20・R30円弧の定規が役に立った.

午後から試走会.マウスは去年の全日本以来久々の走行.2018マウスは問題なさそうだったので何も変更せず.2017マウスは明らかに壁センサの調整があっておらず不安定.探索は壁読み間違いフェイルセーフが多発し最短は45度ターン連続で100%こける.しかし触るのが久々なので大幅変更はせず,壁センサの設定を少しだけいじって調整終了.エントリーしていないロボトレースもしれっと試走.経路を少しショートカットしようが素の走行速度が異次元な逆プロペラの2台には全く敵わないことを再確認.禁止されていない以上やるしかないか.オドメトリの役目が大きい自分の走り方とダウンフォースの相性がいいことは吸引マウスで経験済みなので真面目に検討中.

大会当日.不参加のロボトレース競技は全走行のコースアウト箇所を記録してみた.最初の十字路,最初のR15,長い直線前のS字カーブでのコースアウトが多かった.やはり十字路は初心者にとって難しい課題のようだ.

マウスは直線の少ない迷路.まずは2017マウスを走らせる.探索でエラー多発するもなんとか4走目にある程度速い経路,速いパラメータでの記録は残せた.非吸引2輪(ついでに言うと足回りはほぼ3Dプリント)でもこれだけ走れるということを示すために出場させ続けてきたがそろそろ調整がしんどくなってきた.そしてUさんの旧作を挟んで2018マウスの出走.こっちは試走会と同様安定して走った.自分の2017マウスも含めほかのマウスが探索に結構時間をかけていたなか2分で全面探索を終え,2次走行に3分残すことができた.二次走行は地区大会スペシャル(初代Fa〇tomを撃墜した実績のあるパラメータ)はダメだったものの昨年の全日本と同じターン速での記録は残すことができた.Uさんの新作が不調気味だったこともあり優勝.今回は勝てたが既に100%の力でモータを回している状態なので厳しい.

2018年10月20日土曜日

NVIDIA Jetson TX2 で遊ぶ その2 カメラから画像を取得

開発ボードのカメラでマウスとトレーサを撮影し,DoGでエッジを取り出したもの
Jetson TX2にOpenCVをインストール. python3上でカメラの画像を取得して簡単な加工ができるようになりました. ついでに日本語入力なども整備. 次はディープラーニングのフレームワーク(できればPyTorch)を入れたいですね.

以下雑多なメモ

  • OpenCV3.3.1を使用. ここを主に参考にしてビルド. (JetPackのやつではない)
  • 開発ボードのカメラはただのvideoCaptureでは使えない.  これを参考にして書いたら画像を取得できるようになった. (それでもVIDEOIO ERRORと出ているのが気になるが…)
  • arm64のibus-mozcはapt-get installできないのでここを真似てビルド・インストール.
  • mozcのキーボード配列設定
  • 消費電力・パフォーマンスを適切に設定するためのモード設定機能がある. 参考

2018年10月6日土曜日

NVIDIA Jetson TX2 で遊ぶ その1 JetPackのインストール

学生大会マイクロマウス競技の優勝賞品として NVIDIA Jetson TX2 Developer Kit を頂きました. せっかくなので遊ぼうと思い,NVIDIAから提供されているJetPackというSDKをインストール. 変な嵌まり方をしたせいで結構時間がかかりましたがcudaのsampleが動くようになりました.
いろいろ環境を整えて物体検出か何かを走らせてみたいですね.

以下作業日誌てきなもの

1日目
 とりあえずディスプレイとキーボード,マウスを繋いで電源オン. Ubuntu(cui)が起動. 画面の指示通りに.shを実行して再起動したらguiで起動することを確認.

2日目
先人やnvidiaの記事を見て JetPack3.3のインストールを試みるも,うまくいかない. PCをUbuntuデュアルブートにしたときにUbuntu側に割り当てたSSD容量が少なすぎて空き容量が足りないのが原因.

3日目
 外付けHDDを使ってチャレンジ. OSの書き込みまでは完了したがその先に進まない. 書き込まれたOS自体もSSHはできるがキーボード・マウスは認識しないなど何か変.

4日目
いろいろ試みる中でJetson側でsudoすらできないことが判明. 明らかにおかしい. ファイルフォーマットがext4じゃないとosイメージのファイル権限が変になるっぽいことを言っている人がいたので16GBのSDカードをext4にフォーマットしてos書き込みのみSDでやってみる.(全部やるには容量が足りない) その後外付けHDDでcudaなどJetPackの残りをインストールし,成功. cudaのsampleが動作することを確認.

参考にした記事
https://docs.nvidia.com/jetpack-l4t/index.html#developertools/mobile/jetpack/l4t/3.0/jetpack_l4t_install.htm
https://www.youtube.com/watch?v=D7lkth34rgM 

https://qiita.com/akrian/items/54c321bfa95d8eaef17d
https://qiita.com/ababa831/items/57b43e788d684c380866
https://dev.classmethod.jp/etc/jetson-setup/ 
https://qiita.com/namakemonou/items/4cdec9626adfcc2ad85c
http://dfukunaga.hatenablog.com/entry/2017/09/02/220629
 
https://devtalk.nvidia.com/default/topic/1029640/jetson-tx2/jetpack-3-2-and-3-1-post-installation-stuck-/
https://devtalk.nvidia.com/default/topic/1019123/jetson-tx2/flashed-tx2-and-sudo-failed/

2018年2月5日月曜日

作業日誌的な

マイクロマウスの最短路導出がちょっと速くなった.

最短路導出には優先度付きキューを用いたダイクストラ法を利用しているが,
http://kuuso1.hatenablog.com/entry/2015/12/20/212620

https://www.slideshare.net/mobile/yosupo/ss-46612984
を参考にして,ダイクストラ法でよく使われるという枝刈りを採用したら,まあまあ速くなった.
具体的には全日本決勝迷路(2011~2017)で元々50ms~150msかかっていたのが30~60msになったという感じ.

速くなってはいるが,未知区画を壁なしとして探索しながら経路導出するにはまだ遅すぎるし,単に経路導出するだけなら元々十分速いので,進化としては中途半端という感じ. 規則性のあるグラフなので、何かしらグラフ固有の性質を利用すればさらに高速化出来る気もするが…

あと,壁が少ない迷路でテストしていたら,壁が全くない迷路よりも以下の迷路の方が計算に時間がかかっていたのが面白かった. (壁なし : 5s,以下の迷路 : 10s) 壁が一切ない方が各地点までの最短路が素直に求まり,優先度付きキューにゴミが溜まりにくいからだろうか.
経路導出や探索アルゴリズムにとって最悪の迷路がどのような迷路なのかを考えるのも面白いかもしれない.


2017年12月12日火曜日

ロボット紹介

製作したロボットの情報(主にハードウェアスペック)を公開します.

  • ロボット名 : PAG(β)
  • 出場競技 : マイクロマウス(ハーフサイズ)
  • スペック 
    • Processor STM32F405RGT6
      Battery FX50SC 50mAh 20C 1S
      Motor driver DRV8835
      Motor MK06-4.5
      Spur ホイールと一体, m0.3, 36T, acryl(3d printed)
      Pinion m0.3, 9T, acryl(3d printed)
      IR LED OSI5FU3A11C
      Photo transistor LTR-4206E
      Gyro sensor & Accelerometer MPU9250
      Rotary encoder AS5050A
      Tire DNT001-10
      Length 63mm
      Width 39 mm
      Height 12 mm
      Weight 13 g
      PCB thickness 0.6 mm
      Algorithm 足立法, 全面探索, 時間最短経路導出(dijkstra法)
      Search Speed 0.35 m/s, 既知区間直進 0.7m/s
      Top Speed 3.0 m/s
      Acceleration 10.0 m/ss
      Turn Speed
  • 成績 
    • 関西地区大会 (5位)
      中部地区初級者大会 優勝
      中部地区大会 (4位)
      全日本大会予選 (7位)
      全日本大会決勝 第5位
      (関西地区大会・中部地区初級者大会はマイナーチェンジ前の機体PAGで出場)
  • 回路図 
    • 壁センサ用LEDをバッテリーから直接駆動するのはやめておいた方がいいです. 高速直進時にバッテリー電圧の瞬間的な低下に伴って計測値が瞬間的に落ちます. (定電流回路を真面目に設計すれば大丈夫?)

  • その他コメント
    • 2017年度に製作した2台目のマウス. 1台目がジャイロセンサの張り替えに失敗して走れない状態となり,作り直したほうが早かったため中部地区初級者大会直後に設計・製作した. 基本的に1台目と同じ設計だが,いくつかあった1台目の設計ミスを修正している. 特に,車軸が片持ちベアリングになっていてグラグラだった問題を修正したことは高速走行にかなり効いた気がする.
    • 1年目ということでハードウェアはあまり変なことをしていないつもりだったが,機械部品がピニオンも含めて3Dプリントのアクリルだったり,基板厚が0.6mmだったり,壁センサLEDの駆動回路があまり見かけないタイプだったりとよく考えたら結構挑戦的なことをしていたのかもしれない.
    • どちらかというと補正とフィードバックで無理やり走るタイプ. というよりターンを合わせ込むノウハウがまだない.