読者です 読者をやめる 読者になる 読者になる

理科系の備忘録

Linux/Ubuntu/Mac/Emacs/Computer vision/Robotics

ATAM install on Ubuntu 14.04 LTS

基本的には公式[1]の通り。ただし、windowsでのインストールのみなので、メモを残す。

まずOpenCV3.0を入れる。ROSと一緒に入ったOpenCVが2.4だったので、ソースを落としてきてcmakeした。
ググったらインストール方法はでてくる[2]が、non-freeをコンパイルしようとするとこける。
githubからopencv_contrib-3.0.0みたいなのを落としてきて、コンパイルすれば通る。
# 最新のOpenCV3とcopencv_contribがマッチしていないのが原因。
# WITH_OPENCL, WITH_OPENCLAMDBLAS, WITH_OPENCLAMDFFT, WITH_OPENCL_SVMもつける

次に、cvsbaをインストールする。これもcmakeだが、オプションはいらないらしい。

続いてCLAPACKをインストールする。
これもATAM公式に書いてある通り、-D CMAKE_BUILD_TYPE=RELEASEだけつけてインストールした。

最後にATAMのコンパイルだが、これはcmakeに以下のオプションを指定した。
やってることはCLAPACKへのパスを指定しているだけ。
# 公式に従ってcvsbaを移動させたりするのを忘れずに。

cmake -D OpenCV_DIR=/home/kenta/opencv-3.0.0/build -D LAPACK_LIB=/home/kenta/clapack-3.2.1-CMAKE/build/SRC/liblapack.a -D BLAS_LIB=/home/kenta/clapack-3.2.1-CMAKE/build/BLAS/SRC/libblas.a -D F2C_LIB=/home/kenta/clapack-3.2.1-CMAKE/build/F2CLIBS/libf2c/libf2c.a ..

[1]ATAM公式
https://github.com/CVfAR/ATAM

[2]UbuntuでOpenCV3.0をコンパイルする
http://thr3a.hatenablog.com/entry/20150731/1438312544

ardrone simulatorでPTAM

環境:
VM fusion 7
Ubuntu 14.04 LTS
ROS Indigo

ROSのインストールについては公式参照。

ardrone関係については、基本的にはここをみてインストールした。
http://wiki.ros.org/tum_ardrone

catkinなので(?)、cloneしてきてcatkin_wsでcatkin_makeを繰り返せばOK。


以下コマンドを各ターミナルで実行する。
# キーボードでもドローンを操作できるのでジョイスティックは別になくてもよい。

$ roslaunch cvg_sim_gazebo ardrone_testworld.launch 
$ rosrun ardrone_autonomy ardrone_driver _navdata_demo:=0 _loop_rate:=500
$ rosrun tum_ardrone drone_stateestimation
$ rosrun tum_ardrone drone_autopilot
$ rosrun tum_ardrone drone_gui


▲左上:PTAMのMAPとドローンの軌跡、左下:ドローンからの映像

ROS indigo, OSX 10.10.5

ROS indigoを[1]を参考にmac(OSX 10.10.5)にインストールしたのでメモ。

$ brew config

HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 0f37e2943bba265b42bb2087ea24b86dcc614c35
Last commit: 4 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit haswell
OS X: 10.10.5-x86_64
Xcode: 7.1.1
CLT: 7.1.0.0.1.1444952191
Clang: 7.0 build 700
X11: 2.7.7 => /opt/X11
System Ruby: 2.0.0-p481
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_31

ここで詰まった。

$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y

依存関係がうまくいってないようなので、installをcheckにして、なにが足り無いのかをチェック。

$ rosdep check --from-paths src --ignore-src --rosdistro indigo -y

表示されているものを適当に入れていく。(brewかpipか書いてるので超親切)

最後は[2]にある通りに、

$ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Releas

を実行して、

$ source ~/ros_catkin_ws/install_isolated/setup.bash

でインストール完了(のはず)。


参考
[1] Installing ROS Indigo on MacOSX Yosemite
http://qiita.com/furushchev/items/bc0d2b9d6c84741645f0

[2] Installation Instructions for Indigo in OSX
http://wiki.ros.org/indigo/Installation/OSX/Homebrew/Source
http://wiki.ros.org/indigo/Installation/OSX/Homebrew/Source

追記 2015.11.21

ogre1.7ではrvizが動かないという問題が発生

追記 2015.11.27

結局、VM Fusion 7にUbuntu14.04 LTSをインストールした。
VirtualBoxだと、3DアクセラレーションONでrviz, gazeboが落ちるが、OFFにするとgazeboがカクカクする。

awkでユーザ定義関数

awkには絶対値を返すabs()関数がないようだ。
ユーザ定義関数は以下のようにして定義可能。

seq 1 10 | awk '{print abs(-$1)} function abs(x){return (x>0)? x:-x}

Emacsで改行を置換

1
2
3
4
5

1 2 3 4 5

にしたい.

EmacsのM-x replace-stringでC-q C-jとすれば^Jが入力され,改行を置換できる.

macportsをプロキシ経由で

プロキシ経由でmacportsのselfupdateができない場合は

sudo env RSYNC_PROXY=proxy.hoge:8080 port selfupdate

のようにしてRSYC_PROXYを設定すればOK.
普通に環境変数を設定すると,その値をsudoでの実行時に引き継げるような設定をsudoersに記述する必要がある.

インストールも同様に

sudo env RSYNC_PROXY=proxy.hoge:8080 port install epstool

などとすればよい.