ROSを動かしてみたいのでロボットシミュレーションチュートリアルをやってみる(Vision, System環境構築未完)
前回の続き:
引き続き、チュートリアルの流れに沿って、作業を進めていく。
OpenCVのインストール
チュートリアルの通り、以下を実行するだけ:
sudo apt-get update
sudo apt-get install libopencv-dev python-opencv
PCL (Point Cloud Library)のインストール
これもチュートリアルの通り:
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl1.7 pcl-tools
注意書きとして、PCLはC++しかサポートしてないよ!Python Bindingsもあるけど機能が少ないよ!それと、上記手順でインストールしたOpenCVとPCLはきっと最新版じゃないから、新しいライブラリ使いたかったらソースからインストールしてね!と書いてあって、結局この手順のままでいいのかどうか一抹の不安があるが、とりあえず先に進めていく。
ROSのインストール
いよいよ本命?のROSインストール。
ROS公式ページの手順に従ってね、と書いてあったので何も考えず上から順に作業をしていったが、手順1.3 Set up your keysまでで良かったことにあとから気づく(説明はちゃんと最後まで読みましょう)。
Desktop-Fullインストールいらなかった模様・・・すごい時間かかったので注意。
Set up your keysの手順まで済んだら、(本来は)以下のパッケージのみのインストール作業で良かったらしい:
# Installation
sudo apt-get update
sudo apt-get install python-wstool ros-kinetic-ros-base
# Initialize rosdep
sudo rosdep init
rosdep update
一応Desktop-Fullインストール後にも上記手順をやってみたけど、特にエラーらしきものは見受けられなかったのできっと結果オーライ。
ROSワークスペース生成
現時点では意図がよくわからないが、catkin workspaceというものを設定する作業らしい。
source /opt/ros/kinetic/setup.bash
cd ~/catkin_ws/src
catkin_init_workspace
この作業でCMakeLists.txtなどがワークスペースに作成されるので、以下のコマンドでなにかmakeされるらしい。
cd ~/catkin_ws/
catkin_make
あっ
なんかCMake Error起きてますけど・・・
そしてまたOpenRAVE関連のパッケージっぽい。私、OpenRAVEに呪われてますかね・・・
めげずにCMake Error文でググると、下記ページがヒット:
別パッケージのエラーだけどな・・・と思いつつ読み進めたら、とても有用なコメントが:
$ rosdep install -r --from-path src --ignore-src
とすると,ビルド時に依存するパッケージを自動でaptで取得することができます.
まじかよ!すごいぞrosdep!
というわけで上記コマンドを実行。
1行目からERRORが出て少し心折れかけるが、よく見たら何か別の方法にトライしてくれそうだったので、管理者パスワードを入力して処理を継続。
パッケージを展開する作業がしばらく続き(こんなに足りなかったんかい)、ついに
#All required rosdeps installed successfully
無事終わったらしい。
そして考えてみたら、やたら時間かかったのはDesktop-Fullをインストールしたせいかもしれない・・・まぁいいか。
改めてcatkin_makeを実行!すると、
ダメじゃん!
さっきと変わってないよ!
やはりopenrave_catkinをどうにかしなくてはならない様子。
というわけで openrave_catkin cmake error とググったら下記ページがヒット:
今回のチュートリアル筆者でもあるFranciscoさんがコメントされてますね:
とりあえずこの通りに git clone を実行して、再度 catkin_make すると、
おーうまくいったっぽい!
チュートリアルの手順に戻り、setup.bashの実行と実行結果確認:
source ~/catkin_ws/devel/setup.bash
echo $ROS_PACKAGE_PATH
問題ない様子。
この処理を~/.bashrcに追加するため以下を実行:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
動作テスト
端末を3つ起動して、ROSインストールの動作確認をする。
端末1で以下を実行:
roscore
端末2で以下を実行:
rostopic pub -r 1 /some_topic_name std_msgs/String 'Hello World!'
端末3で以下を実行:
rostopic echo /some_topic_name
ROSでHello World!
ちょっと感動したところで、今日は一旦終了。
続きはまた次回に・・・