tmuxによる複数コンソールの利用
Linuxで作業する際,複数の端末を利用する場面が多々ありますが,端末間でのコピペや他のファイルを参照するための画面分割ができると大変便利です.
そこで,端末を多重化するソフトウェアtmuxをUbuntuに導入してみます.
[参考サイト]:
モテるtmux – 超クールな設定 – まつぼ x Web
tmuxを使い始めたので基本的な機能の使い方とかを整理してみた - 完熟トマト
初心者のためのGitによるコード管理[Bitbucket編]
仕事上,複数のPCからプログラムの編集を行っていますが,Gitによるバージョン管理は非常に利便性が高く強力です.Bitbucketを利用したGitの利用方法を簡単にまとめます.GitHub等でも同様の方法で運用できると思います.
[参考サイト]:
commitとpushしかできない人のためのgithubの使い方まとめ - Just $ A sandbox
【初心者による初心者のためのGitHub】リポジトリへのプッシュまで。(Rails Ver) - Qiita
BitBucket(Git)が便利すぎるので使い方をまとめとく:なんとなしの日記
続きを読むROSのコーディングのためのIDE:Qt Creator編
以前ROS用のIDEとしてEclipseの設定を紹介しましたが,今回はQt CreatorでROS packageの開発を行うための設定をまとめます.
参考サイト:
How to open ROS package by qtcreator - YouTube
catkin/Tutorials/using_a_workspace - ROS Wiki
Ide - Control Systems Technology Group
IDEs - ROS Wiki
続きを読む
ROS上でのKinect v1の導入方法
ROSでKinect v1を利用するためのパッケージが乱立していてひと目で分かりづらかったのでまとめてみました.
参考サイト:
Getting Started - OpenKinect
1.libfreenectのインストール
OpenKinect/libfreenect · GitHubからファイルを引っ張ってきて,ビルド後インストールします.
$git clone https://github.com/OpenKinect/libfreenect.git $cd libfreenect $mkdir build $cd build $cmake .. $sudo make install
また,libfreenect/platform/linux/udev内のudevファイルをシステムにコピーしてあげる必要があります.
$sudo cp ~/libfreenect/platform/linux/udev/51-kinect.rules /etc/udev/rules.d $sudo udevadm trigger
2.rgbd_launch/freenect_stackパッケージの導入/catkin_make
ros-drivers/rgbd_launch · GitHubとros-drivers/freenect_stack · GitHubからそれぞれrgbd_launch,freenect_stackパッケージを取得しcatkin_makeします.
$git clone https://github.com/ros-drivers/rgbd_launch.git #@catkin_ws/src/ $git clone https://github.com/ros-drivers/freenect_stack.git #@catkin_ws/src/ $cd ../ $catkin_make
EclipseへのVrapperの導入
IDEの機能が使いたくてEclipseを利用していますが,Vimライクな編集も行いたいと思い調べてみるとVrapperなるものを発見.VrapperはEclipse上でVimによるテキスト入力を可能にするプラグインで,Eclipseに導入することでVimモードのON/OFFができるようになります.導入方法をまとめてみましょう.
[参考サイト]:
Non Title
EclipseでVimのキーバインドがつかえるVrapperで世界変わったわ | メモ帳代わりのブログ
Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ꒪⌓꒪) ゆるよろ日記
Eclipseのキーバインドをvim風にできるVrapperが "マジで" 素晴らしすぎる件について - basyura's blog
1.EclipseにPyDevをインストール
EclipseメニューのHelp->Install New Software...を選択し,Work with:欄に”http://pydev.org/updates”を入力する.後は流れに沿って.
2.EclipseにVrapperをインストール
PyDevと同様にWork with欄に”http://vrapper.sourceforge.net/update-site/stable”を指定して,表示される関連ソフトウェア全てにチェックをつけてインストール.
導入手順は以上です.Eclipseの再起動後にVimのアイコンが現れるので,アイコンをクリックすることでVimモードのON/OFFの切り替えが可能になります.ただし,Eclipseで定義されているショートカットキーの中にはVimで使用するものと重複しているものがあり,基本的にEclipse側の定義が優先されるのでVimコマンドに制限が生じてしまいます.
そこで,メニューのWindow->Preference->General->Keys内に定義されているコマンドのうちVrapper側で使用したい重複コマンド(Ctrl+Vなど)は,UnbindCommandでショートカットを削除してしまいましょう.
また,Eclipseフォルダ内の.vrapperrcファイルを編集することで,オリジナルのVim同様にVrapperをカスタマイズすることもできます.上記の参考サイトにいくつか例が載っていますので参考にして下さい.
ROS Indigo + C++11 使用時のPCLのエラー [未解決]
ROS IndigoではPCL1.7が利用されているのですが,C++11のコンパイラ使用時にpcl/filter内の関数を利用しようとしてヘッダをインクルードすると,コンパルは通っても実行時にSegmentation faultで死んでしまいます.
rosrun your_pkg your_node -> segmentation fault (core dumped)
既に数人困っている方がいるようで,下記でディスカッションされていますが,結局のところPCL1.7自体に含まれるバグが原因のようです.
従って,上のサイトに書かれている通り,バグを避ける正当な方法は,PCL1.8を自分でビルドしPCL1.7の代わりとして利用することだと思います.
In the CMakeLists.txt of the latest PCL:
CMakeLists.txt: SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11"
In the CMakeLists.txt of your catkin package:
find_package(PCL 1.7 REQUIRED) -> find_package(PCL 1.8 REQUIRED) (Instead of depending ros_pcl etc...)
この方法,PCLのみを利用した単体のプログラムでは決定的な解決法になると思いますが,ROSを利用している場合,PCL1.8を利用する自作パッケージとPCL1.7を利用しようとする他の(Built-in)パッケージとの間で競合が起こり,ライブラリへのリンクエラーが発生してしまう?ようです.
warning: libpcl_common.so.1.7, needed by /usr/lib/libpcl_kdtree.so, may conflict with libpcl_common.so.1.8
不勉強なため上記の解釈が正しいのか自信がありませんが,試行錯誤してもリンクエラーが解消できないため,現在はお手上げ状態です.
ROS自身がPCL1.8を取り込むのを待つしかないかなぁ。。。
[追記]
どうやらDebugモードでビルドした時のみのエラーのようです.CMAKE_CXX_FLAGS_DEBUG に -O1 オプションをつけることで何故か回避できるとの情報あり.stackoverflow.com