備忘録 Autoware で LiDARMAN

SIGGRAPH 2016で東大暦本研の味八木先生,暦本先生がLiDARMANという三人称視点を実現するとても興味深い研究を発表されていた. インタラクション2016で発表した,私がやっているRoVという研究とも近い部分があり,せっかくなので,このLiDARMANの”モドキ”を実装してみた(お盆期間). 本家ではROSを使ってリアルタイムマッピングをしているということなので,以前書いたLoam_velodyneを使ってやろうかと思ったが,折角なので名古屋大学(めいだい)が作っているAutowareを使って実現する. まずハードウエアとして居室に転がっていたものをかき集めた. LiDAR: Velodyne VLP-16 PC: Gigabyte BRIX (GB-BXi7-4770R, MEM: 16GB, SSD:1TB) HMD: Oculus DK2 UPS: OpenUPS w/ 4S 5000mAh その他細々したもの 持ち運びも考えて,OpenUPSを使ってNUCをバッテリ駆動できるようにした(待機状態なら1時間以上は動く.フルパワーで処理しても一応落ちない.).一応ポータブル.起動から終了まで,必要なコマンドはテンキー経由でスクリプトを起動できるようにした.モニタは高精細点群もバッチリのRetinaパネル(たまたまあったから). ソフトウエアはまず,Ubuntu14.04のPCにAutowareの最新版をビルド&インストール(最新版はOpenMP対応してる.インストール方法は本家ページ). それから,OculusをUbuntuで使えるようにするためのros_ovr_sdk, oculus_rviz_pluginsをビルド&インストール. 基本的には以前のLoam_velodyneの記事と一緒で,gitでcatekin_ws/srcにダウンロードしてビルド.細かな設定はovrdのページで. 基本それだけ. そこからはAutowareを起動して,VLP-16を使ってndt_mappingを実行すれば,マッピングしながらその様子を見ることができる.実際にその空間で歩くとホントに面白い.世界が点群になった感じ. もう一つ試したのが,ndt_matching. これは予め作っておいたmapと現在のLiDARデータをマッチングすることで位置姿勢を推定できるもので,これを使うと広いマップ内でどこにいるかもわかるし,高精細な点群データを使うことができた. ただ残念なことに現状のAutowareは,マッチングしながらマップを更新するっていうのがすんなりできないっぽい(これは自分でROSノードを作ればできるかもしれない).また,マッピングの安定性や速度,マッチングの安定性や速度など,恐らくパラメータを調整すれば(基本自動運転用なので)もっと良くなるのではないかという点も多かった.Autowareはその辺りの調整もしやすくなっているのでとても便利.また,視点変更などtfを自分で調整したりなど,工夫次第でかなりの可能性を感じることができた. 高精度マップづくりモードはVLP-16にハンドルつけて歩き回ればOK.このセッティング便利. 結果として,お盆の自由研究としては楽しかった.もう少しROSさくさく使えるように勉強しておくと便利かもしれない. 考えてみると,PC,LiDAR以外全部私物投入じゃないか! Advertisements