catkin-tools 隠れ便利機能その一

ROS ではコンパイルを行う catkin_make という独自ツールが用意されています.CMake というソフト開発でとてもよく使われるコンパイルようツールを拡張したもので,沢山のソフトウェアパッケージを一気にコンパイルする必要も往々にして発生するロボティクスにおいて便利なツールです.一方で,遅い!だとか,コンパイル実行の度にいちいちフォルダ移動めんどい!等課題も多く指摘されており,非公式ではありますが改良版の catkin-tools というのがあります.先に述べたような根本的な問題から,痒い所に手が届く的なウレシイ機能までよく出来たツールで,人気を集めています.

使い方等は上記リンクを辿っていただくことにして,今日はまったく知られていないもののなかなか便利な機能を紹介します.

catkin_make あるいは (catkin-tools だと) catkin build を実行しコンパイルした後に,コンパイル成功したソフトの情報をターミナルに読み込ませるために次のようなコマンドを実行することになっているかとおもいます.

source ~/catkin_ws/devel/setup.bash

コンピュータ上の path を意識させないのが ROS なので,上のコマンドには違和感を感じ続けてきた方も居たのでしょうか.catkin-tools はやってくれました.まず

source `catkin locate --shell-verbs`

とすると,catkin source というコマンドがつかえるようになります.このコマンドは絶対 path を意識せずに環境情報の読み込みが可能にします.例えば,

cd ~/catkin_ws/src/ros_seminar
catkin source

と実行すると,上記の絶対 path コマンドと同じことをしたことになります.どのディレクトリにいても大丈夫なので,例えば次のどれでも結果は同じになります.

cd ~/catkin_ws/src/ros_seminar
cd ~/catkin_ws/src/ros_seminar/rosseminar_hironx
cd ~/catkin_ws/src/

便利ですね!