2018/04/30

Fedora 27 にROSをインストール

Ubuntu一択なROSですが、Fedoraを使っている身としては、動かしたいじゃないですか。

というわけで、ROSのページに行ってみると。。。

"Please refer to the Source Installation Directions"

だそうです。
へーへー、ソースから作れってか。

基本的には、ここを参照しながらやってみました。

ググるとIndigo/Kineticあたりの記事が出てくるんですが、今更な気がしたので、lunarを選択しました。
最新だとmelodicなんでしょうが、

"CAUTION: Release of this distribution is pending."
"ROS Melodic Morenia has not been fully released yet, so these instructions will not entirely work."

だそうです(笑)

とりあえず、備忘録

ホームディレクトリ(~)下で作業開始。
最初は、必要なツールをインストール。ROSのページではyumになってますが、もちろんdnfです。

$ sudo dnf install python-rosdep python-rosinstall_generator python-wstool python-rosinstall @buildsys-build

いらない気もしますが、書いてあるので実施しときました。

$ sudo pip install -U rosdep rosinstall_generator wstool rosinstall
$ sudo pip install --upgrade setuptools

次はrosdep(ROS専用のdnfのフロントエンド)の初期化

$ sudo rosdep init
$ rosdep update

で、catkinのワークスペースを作成する。ROSページは"ros_catkin_ws"ですが、使い慣れた"catkin_ws"にしました。

$ mkdir ~/catkin_ws
$ cd ~/catkin_ws

さて、ここからソースを取り込んでいくのですが、ROSページに書いている内容が古いため、Fedora-27でエラーが出ました。正しくは以下になります。

$ rosinstall_generator-2.7 desktop --rosdistro lunar --deps --tar > lunar-desktop.rosinstall

でソースを取り込みます。"[opencv3] still active"が暫く出ますが、無事終了。
Opencv3はdnfで既にインストール済み

$ wstool init -j8 src lunar-desktop.rosinstall

ビルド前に、依存解決

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

さて、いよいよソースビルドです。

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


これは、かなり時間がかかりますが、特に問題なくビルドしているようです。
一昔前は、ビルドするのが大変だったのですが、割とスムーズです。

あとは、setupで環境変数を登録すれば完了のようです。たしか、.bashrcに追加しとくんだったっけかな。

$ source ~/catkin_ws/install_isolated/setup.bash

さてさて、うまく動くでしょうかね。。。
ふむ、roscoreは起動しました。

| | コメント (0) | トラックバック (0)

2016/02/06

raspbianにROS

パッケージはなさそうですので、ソースのビルドになります。

RaspbianはJessieをインストールしてあります。

基本的には、ここにあるとおりに進めていってます。

ROS variantは、おススメを無視してDesktopを選択してみました。
進めていくと、libconsole-bridge-devやliburdfdom-devのビルドがうまくいきませんでした。
ですが、これらはaptで導入可能なようですのでビルドしなくて良いようなので、aptで導入しました。

とりあえず、"Building the catkin Workspace"までやって、makeに入ったのですがうまくいきません。
原因の1つは、デフォで入っている、-j4 -l4のMakeオプションのせいで、コンパイラの内部エラーが出てしまうことですが、これは、-j1 -l1を指定すればパスできるようです。

もうひとつが、厄介で、rviz関連でエラーが出ます。これはrviz関連のモジュールを外してビルドしようとしています。

まぁ、rvizが使えないのは残念ですが、これでうまく行けばROSが使えるようになるかもです。

| | コメント (0) | トラックバック (0)