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は動いています。おめでとうございます。
ついでにturtlesimも動作テスト
roscore用に開いたターミナルとは別の新しいターミナルを開いて下記を実行します。
rosrun turtlesim turtlesim_node
もう一つ別のターミナルを開いて、下記を実行します。
rosrun turtlesim turtle_teleop_key
このターミナルをアクティブにしてカーソルキーを押すと、先ほどのウィンドウの亀を操作できます。
さらにrqt_graphも動作テスト
rosrun rqt_graph rqt_graph
rvizだって使えます
rviz
おわりに
いかがでしたか? 無事にROS-melodic は導入できましたでしょうか?
私はこの手順で2度ほど導入を実施してうまくいっていますが、もしうまくいかない箇所があったらコメント欄にてご共有いただければと思います。
この状態ではまだ使いづらいところもあるので、手元の環境では開発に便利なようにいろいろな設定を行なっています。
またSDのバックアップの方法についてのコツも見つけましたので、別のエントリにてご紹介できればと思います。
[Qiita] ラズパイ用のSDカードのバックアップとSDカード選び(Mac)
情報のアップデート
ラズパイ4にubuntu 20.04を導入してROS-noeticを使いたい場合について、下記の記事にまとめました。