Ubuntu 14.04 に ROS indigo を入れる話 [後編]
作業ディレクトリとパッケージ追加の話.
最初に作業ディレクトリの名前を間違えるというミスをしてしまったばかりにとんでもないことになったので,慎重にコマンドを打っていこう(戒め).
以下,コマンド
catkinを使うためのディレクトリを作る.
$ cd ~
$ mkdir -p ros/indigo
$ cd ros/indigo
$ rosws init . ~/ros_catkin_ws/indigo/devel
$ echo "source $HOME/ros/indigo/setup.bash" >> ~/.bashrc
作業ディレクトリを~/ros_catkinにする人もいるようです.
ぶっちゃけ分かればなんでもいい.
今回はLSD-SLAMを入れたい.まず依存関係を入れる.
$ sudo -E apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev
ここでrosmakeできるディレクトリを作るのを忘れていた.
$ cd ~/ros/indigo
$ mkdir package_dir
$ rosws set ~/ros/indigo/package_dir -t .
$ source ~/.bashrc
$ cd ~/ros/indigo/package_dir/
$ git clone https://github.com/tum-vision/lsd_slam.git lsd_slam
$ rosmake lsd_slam
作業ディレクトリ下に入ってgithubからcloneしてrosmakeすればいいらしい.
コマンドをコピペするだけでSLAMができるのだから便利な世の中ですよ.
参考リンク
qiita.com
ほんとうにお世話になっているサイト様.
例によってほとんどコピペなのだけど….
作業中になんかCMakeエラーを起こす.
CMake Error at /opt/ros/indigo/share/dynamic_reconfigure/cmake/cfgbuild.cmake:78 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
/opt/ros/indigo/share/dynamic_reconfigure/cmake/cfgbuild.cmake:99 (gencfg_cpp)
CMakeLists.txt:29 (include)
ググってみる.エラーの原因はプログラムにあるらしい.
$ sudo vi /opt/ros/indigo/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator.py
check_name(name)
# check_description(description)
self.gen.fill_type(newparam)
self.gen.check_type_fill_default(newparam, 'default', self.gen.defval[paramtype])
self.gen.check_type_fill_default(newparam, 'max', self.gen.maxval[paramtype])
上の144行目check_description(description)をコメントアウト(か削除)すればいいらしい.
ついでにAR.Droneを操作できるパッケージも追加しよう.
git プロトコルを設定.
$ git config --global url."https://".insteadOf git://
たぶんgitのproxy設定時に同時にやるべきだった.ここでかなりつまずいていた.
$ git config --global http.proxy http://proxy:port
$ git config --global https.proxy http://proxy:port
gitconfigの確認は以下のコマンドでできる.
$ git config --list
今回はドライバーのardrone_autonomyとGUIのtum_ardroneを導入する.
$ cd ~/ros_catkin_ws/indigo/src
$ git clone https://github.com/AutonomyLab/ardrone_autonomy.git -b indigo-devel
$ cd ..
$ rosdep install --from-paths src -i
$ catkin_make
$ cd ~/ros_catkin_ws/indigo/src
$ git clone https://github.com/tum-vision/tum_ardrone.git -b indigo-devel
$ cd ..
$ source devel/setup.bash
$ rosdep install tum_ardrone
$ catkin_make
ついでにps3コントローラーのドライバーも入れておく.
$ sudo -E apt-add-repository ppa:falk-t-j/qtsixa
$ sudo apt-get update
$ sudo apt-get install sixad
プロキシくぐれなかったら「-E」を付けてください….
参考リンク
www.ntt-tx.co.jp
分かりやすいAR.Drone×ROSの解説サイト.まさかのNTTさん.
qiita.com
シミュレータだけど実物を飛ばすのにも役に立ちました.
次回はラズパイにUbuntu16.04を入れる試行錯誤の話.
質問がありましたらコメントまたはTwitterにてお願いします.