2019/03/03

ROS2はFedoraに載るの?

多分、Ubuntu一択状況は変わらん気がする。。。

現在、ソースのビルド中。。。

で、ROS2をFedora 29(x86_64)に載せようとしてみた。

ググってみると本山あたりに記事があった。
このページの左を見ると、"Building ROS 2 on Fedora Linux"てのがある! すばらしい!!

でジャンプすると。。。おい!!

First install a bunch of dependencies:

$ sudo dnf install cppcheck cmake libXaw-devel opencv-devel poco-devel poco-foundation python3-empy python3-devel python3-nose python3-pip python3-pyparsing python3-pytest python3-pytest-cov python3-pytest-runner python3-setuptools python3-yaml tinyxml-devel eigen3-devel python3-pydocstyle python3-pyflakes python3-coverage python3-mock python3-pep8 uncrustify python3-argcomplete python3-flake8 python3-flake8-import-order asio-devel tinyxml2-devel libyaml-devel

Then install vcstool from pip:

$ pip3 install vcstool

With this done, you can follow the rest of the instructions to fetch and build ROS2.

こんだけか。。。要は差分だけで、あとは"Building ROS 2 on Linux"を見ろとゆことらしい。

で、指示通りに進もうとするのだが、このページ、Ubuntuベースじゃん。。。

順に進んでみますか。。。
まずLocale設定は、英語にしろだ! 無視。


aptでもってくるののうち、以下は多分入いている。
* build-essential
* cmake
* git
* wget
* python3-vcstool
* python3-pip

残るは、
* python3-colcon-common-extensions \
* python-rosdep

python-rosdepはdnfでインストール(python3-rosdep)できるが、colconはできない。
どうするのか探してみると、ここに、やり方が書いてあったので、やってみた。要はリポジトリを登録するのか。

$ sudo dnf copr enable cottsay/colcon

$ sudo dnf install python3-colcon-common-extensions

が、リポジトリのキャッシュエラーでcolconがインストールできない!!
解決方法探すと、/etc/yum.repo.dまでいって、定義ファイルのhttpsをhttpに書き換えれば良いらしい。(またCAのメンテさぼった?)

で、やっとソースをダウンロード。(つか、最初、上を全て飛ばして、いきなりダウンロードした)

$ mkdir -p ~/ros2_ws/src

$ cd ~/ros2_ws

$ wget https://raw.githubusercontent.com/ros2/ros2/release-latest/ros2.repos

$ vcs import src < ros2.repos

ダウンロードできたら、rosdepを初期化。。。
これもUbuntuか、とりあえず文句を言われるものを抜いてやってみる。

$ cd ~/ros2_ws

$ sudo rosdep init

$ rosdep update

$ rosdep install --from-paths src --ignore-src --rosdistro crystal -y --skip-keys "console_bridge fastcdr fastrtps libopensplice67 libopensplice69 rti-connext-dds-5.3.1 urdfdom_headers"

これで、やっと、ソースビルド。めでたし!

$ cd ~/ros2_ws

$ colcon build --symlink-install --merge-install

で、かれこれ1時間は経ってるんだが。。。終わる気配がない orz...

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

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)