なにかいいこと語ればいいね - はてブ出張所 -

▼元GoogleBlogger「なにかいいこと語ればいいね」(現在非公開) のはてなブログ出張所▼こちらにはプログラム・IT関連の記事をまとめています▼修了後も頑張って更新したい▼

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にてお願いします.