備忘録 ROS & Loam_velodyne

VLP-16を使って部屋の点群データを作る.   背景 屋内位置推定がしたい. 名古屋大学オープンソースソフトウエアのAutowareは,Velodyne 32, 64だとNDT mappingが上手くいくが,VLP−16で室内だとダメ(ソース読むと.ある程度の距離からしか見てない.あるいはVelodyneドライバの問題?).もともと自動運転研究用なので,車の入れないような室内でできないのは仕方ない. → [追記] Autoware の ndt_mapping.launchファイルに使う点群の範囲(距離:RANGE),移動距離(SHIFT)を調整すると室内でもできました!すごいぞAutoware!Loam_velodyne はリアルタイム,Autoware は調整しやすく便利,という違いがあるので,そこは適宜. そこで,サクッとROSを使って3D SLAMする.SLAM研究者ではないので,できるだけこの辺りに時間はかけず,成果だけ活用したいので,ありもののパッケージを活用する. 環境 Ubuntu 14.04 準備 ROSのインストール(catkin_wsの設定までしておく) 手順 1.Velodyneドライバの削除 Velodyneドライバが入っている場合,邪魔なので一旦消す(rospack listで確認).VLP−16はまだapt-get でインストールしたVelodyneドライバでは使えない. sudo apt-get remove ros-indigo-velodyne* ちなみにvelodyne 32用のドライバでキャリブファイルを16用で起動しても動く(rviz等で確認できる)が,SLAMなどが正しく実行されない. 2.Velodyneドライバのビルド VLP-16に対応したVelodyneドライバのソースコードをgitからClone catkin_ws/src で git clone https://github.com/ros-drivers/velodyne.git catkin_wsで catkin_make -DCMAKE_BUILD_TYPE=Release 3.loam_velodyneのビルド loam_velodyneはROSサイトからだとオリジナルソースにたどり着かないので,下記ソースをClone(オリジナルとの差分は不明) catkin_ws/src で git clone https://github.com/laboshinl/loam_velodyne.git catkin_wsで catkin_make -DCMAKE_BUILD_TYPE=Release 4.最後にcatkin_ws/devel/setup.bashを実行してrosに登録 source ~/catkin_ws/devel/setup.bash roslaunch できない場合は大体これを忘れてる.…