31
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラズパイ4/BusterにROSのmelodicを入れる

Last updated at Posted at 2020-01-11

SS 192.png Qiitaに初投稿します。Ninagawa_Izumiです。なにかお役に立てれば。

やること

ラズパイ4のBusterでROSのmelodicが動くようにします。
各所を参考にさせていただきつつ、とにかくシェルコマンドを打ち続ければOKな方式で記載してみました。
きっと誰もが2020年1月時点での最新のROS環境を導入できるはずです。

ラズパイ4にubuntu 20.04を導入してROS-noeticを使いたい場合については別途まとめました(クリック)

そもそもROSってなんだっけ

ロボットソフトウェアの共同開発を世界規模で推進することを目的としたオープンソースのプラットフォームです。センサやアクチュエータなどの情報やシミュレータなどを統合的に扱えます。

準備物・実施環境

  • Raspbian-Busterが導入済みのRaspberry Pi 4
  • debian_version 7.8
  • debianのカーネル Linux raspberry 4.19.75
  • USBキーボード、USBマウス、HDMIディスプレイ
  • ターミナルについての最低限の知識

導入の方法

LXTerminalなどを開いて、コードを1行ずつコピペ入力してリターンキーを押す作業を繰り返します。
以下、コード部分(黒背景のテキスト)はすべてターミナルで打ち込むシェルスクリプトになります。
お手元のラズパイ4は起動できていますか?どんどん打ち込んでいきましょう!

環境確認とライブラリのアップデート

debianのバージョン確認方法

cat /etc/debian_version 

結果例> 7.8

カーネルのバージョン確認方法

uname -a

結果例> Linux raspberry 4.19.75-v71+ ほにゃらら

パッケージリストのアップデートとパッケージのアップグレード

sudo apt-get update
sudo apt-get upgrade

急ぎの方はこの項目は飛ばしてもよいかも。けっこう時間がかります。
$ sudo apt-get updateはあとでまた実行しますし、
$ sudo apt-get upgradeも完了までかなり時間がかかります。

ROS-melodicを導入する

参考URL)https://www.instructables.com/id/ROS-Melodic-on-Raspberry-Pi-4-RPLIDAR/
参考URL)http://wiki.ros.org/melodic/Installation/Debian

リポジトリを追加する

sudo sh -c 'echo "deb  http://packages.ros.org/ros/ubuntu  $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update

必要なパッケージをインストールする

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential  cmake
sudo rosdep init
rosdep update

ros_catkin_ws のディレクトリを作成して移動する

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

ROS Desktop のインストール

rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall

もし上記のインストールが途中で止まったら$ wstool update -j4 -t srcで再開できる。

依存関係の細かな修正

mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
wget http://sourceforge.net/projects/assimp/files/assimp-3.1/assimp-3.1.1_no_test_models.zip/download -O assimp-3.1.1_no_test_models.zip
unzip assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake .
make
sudo make install

OGRE for rvizのインストール

sudo apt-get install  libogre-1.9-dev

参考のURLで説明されている手順では、ここでファイルの修正(boost::posix_time::milliseconds関連)が指示されていますが、すでにパッケージの方で修正済みのようなので2020年1月現在は必要ありません。

rosdepの実施(ここは時間がかかります)

cd ~/ros_catkin_ws #20200226追記
rosdep install --from-paths src --ignore-src --rosdistro melodic -y

ビルドとインストール(ここはもっと時間がかかります。1時間ぐらい?)

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

一旦再起動。

sudo reboot

これでROS-melodicの導入が完了です。再起動できたらいよいよ動作確認です。

roscoreの起動

roscore

roscore.png
お疲れ様でした!
こんな感じの表示が出たらROSCOREは動いています。おめでとうございます。

ついでにturtlesimも動作テスト

roscore用に開いたターミナルとは別の新しいターミナルを開いて下記を実行します。

rosrun turtlesim turtlesim_node

すると、小さな亀がいるウィンドウがでてくるはずです。
turtlesim2.png

もう一つ別のターミナルを開いて、下記を実行します。

rosrun turtlesim turtle_teleop_key

このターミナルをアクティブにしてカーソルキーを押すと、先ほどのウィンドウの亀を操作できます。

さらにrqt_graphも動作テスト

rosrun rqt_graph rqt_graph

SS 193.png
NODEとTOPICの流れの関係が可視化されます。

rvizだって使えます

rviz

SS 194.png
秒速起動にラズパイ4のパワーを感じます。

おわりに

いかがでしたか? 無事にROS-melodic は導入できましたでしょうか?
私はこの手順で2度ほど導入を実施してうまくいっていますが、もしうまくいかない箇所があったらコメント欄にてご共有いただければと思います。
この状態ではまだ使いづらいところもあるので、手元の環境では開発に便利なようにいろいろな設定を行なっています。
またSDのバックアップの方法についてのコツも見つけましたので、別のエントリにてご紹介できればと思います。

[Qiita] ラズパイ用のSDカードのバックアップとSDカード選び(Mac)

情報のアップデート

ラズパイ4にubuntu 20.04を導入してROS-noeticを使いたい場合について、下記の記事にまとめました。

31
21
24

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?