りさーちゃーのひよこ
技術のこととか
2015年8月2日日曜日
Ubuntu 14.04 上のROS (Indigo) でQtCreatorを導入する
#はじめに とりあえずROSのプログラムをC++で実装したりできるようになった. だが,まだ大きな問題がある.開発環境だ. しばらくvimで頑張ってみたが,やはり私にはIDEが必要である. CUIでちゃちゃっとやりたいときは確かに便利だけど,プロジェクト全体を見渡したり,相互参照するにはIDEが圧倒的に便利. そんなのvimのプラグインでやればいいじゃん,なんですが,どうもあの世界は私の肌には合わない. なんでちょっと設定追加するだけであんなに苦労せないかんのだ笑. 目的に応じて最適化されたツールを使い分けて効率的に開発することを,私は悪いとは思わない考えをもっているので,もうIDEを入れようと思う. #IDEの選定 ちょっと調べたが,QtCreatorに決定. CMakeListsに対応しているので,ツール向けに余計な設定をしなくても導入ができるっぽい. ROSワークスペースに変な影響を与えたくないので,これにした. #QtCreatorの導入手順 ※初版で書いた内容が余りにもひどいので,改版した.色々試したら問題だらけでした汗.<br /> この動画が大変役に立った...本当に助かった.<br /> →<a href="https://www.youtube.com/watch?v=NG05o_SV1iw" target="_blank" title="">How to open ROS package by qtcreator </a> #インストール - Ubuntu 標準のソフトウェアセンターで"QtCreator"で検索して,インストールする. - 実はこのあとインストーラでver. 3.4を入れ直した.ソフトウェアセンターのバージョンver. 3.1と古く,しかもプロジェクトを再起動すると開けないというバグがあった.それに,上記動画サイトと同じ画面で設定できる.下記はver. 3.1の時のあがきの遺産なので,じきメンテします. #ROSワークスペースのビルド - 初めにコマンドラインからROSのワークスペースを`catkin_make`しておく必要があります.QtCreatorは一からやってくれません. - catkin_make と,その中身の挙動についてはROS wikiを参照.</br> <a href="http://wiki.ros.org/catkin/Tutorials/using_a_workspace" target="_blank" title="">ROS.org - catkinTutorialsusing_a_workspace </a><br /> - 上記サイトにしたがって,勉強がてらcatkin_makeを使わずにビルドしてみました. すると, `~/catkin_ws/devel` に実行ファイルなど色々と出力されます. ここまで一回手動でやっておく必要があります. そうしないで初めからQtCreatorでやろうとすると,実行時に以下のパスを見に行こうとします. `~/catkin_ws/build/devel` んなディレクトリねーよ!相当ハマりましたw.ツールからは設定しようがありませんでした. カレントディレクトリで整合性が取れないためにこうなります.ROSでは,`catkin_make`を`~/catkin_ws`で行いますが,下記のツール設定でビルドするとどうしても`~/catkin_ws/build`になってしまいます. 後述しますが,まずはROSのワークスペースでビルド,その後QtCreatorでプロジェクトを開く.を死守する必要があります!何度ハマったことか…. #QtCreatorを設定 - 立ち上げたら右上のOpen Projectを選択します.</br> <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ec6d965.png" id="i13384133684"><img alt="Qt初期" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ec6d965.png" id="1438514178626" ratio="1.3836477987421383" style="border: none; height: 159px; width: 220px;" /></a> - ROS パッケージのCMakeLists.txt を選択する. ~/catkin_ws/src/パッケージ名/CMakeLists.txt あたりになるはず.<br /> <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ecd67fc.png" id="i13384134191"><img alt="Qt選択" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ecd67fc.png" id="1438514182948" ratio="1.2790697674418605" style="border: none; height: 172px; width: 220px;" /></a> - プロジェクト設定の"Default欄"を以下のディレクトリに変更するし,"Configure Project"を選択. `/home/ユーザ/catkin_ws/build`</br> <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66eda3d56.png" id="i13384135671"><img alt="Qt初期設定" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66eda3d56.png" id="1438514185221" ratio="1.3836477987421383" style="border: none; height: 159px; width: 220px;" /></a> - 何やら色々な処理が始まる.無事に終わればプロジェクトが開く.ツリー表示のルートが"Project"であればOK.</br> <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ede343d.png" id="i13384137992"><img alt="Qtプロジェクト初期" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ede343d.png" id="1438514186620" ratio="1.3496932515337423" style="border: none; height: 163px; width: 220px;" /></a> - ここが特定のワークスペース名の場合,手動catkin_makeからやり直したほうがいい.何か間違えている可能性あり.build, develフォルダを削除して,ワークスペース直下で`catkin_make`をした後に,QtCreatorからプロジェクトを選択しなおしてみること. - ビルド,実行の設定 - 左側のメニューから"Projects"選択. - ビルド.CMakeの項目だけ確認.下記のようになっていること. - CMakeDirectory: `/home/ユーザ名/catin_ws/build` - Cmake aruguments: `../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel -DCMAKE_BUILD_TYPE=Debug .` <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ee6f849.png" id="i13384149145"><img alt="QtBuild設定" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66ee6f849.png" id="1438514254421" ratio="1.2429378531073447" style="border: none; height: 177px; width: 220px;" /></a> - 実行.上部DesktopのRunを選択.Runの項目だけ確認.</br> - Arguments: お好きにどうぞ.私の場合はROS Parameter でTopic名を変えたかった. - Working directory: /home/ユーザ名/catin_ws/devel/lib/ワークスペース名<br /> ※これは間違えないこと.<br /> <a class="detailOn" href="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66eed541f.png" id="i13384153395"><img alt="QtRun設定" src="http://blog-imgs-86.fc2.com/m/o/r/morimoridiary254/blog_import_568b66eed541f.png" id="1438514214424" ratio="1.2429378531073447" style="border: none; height: 177px; width: 220px;" /></a><b><span style="font-size: 16px;"></span></b> #ビルド Ctrl+bでパッケージのビルド.<br /> その後コンソールから<br /> <pre class="brush: bash;"> $ rosrun ビルドしたパッケージ名 ノード名 </pre> で実行したら,ちゃんと動いている.タイムスタンプも新しくなっている. #おわりに 最初これでいいじゃね?って思って書いた方法だ全然ダメだった.そこから相当ハマって,ようやく正規の方法にたどり着く. 自動補完,デバッグ,相互参照もバッチシ.これで快適にROSの開発ができる!
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿