LoginSignup
9
11

More than 1 year has passed since last update.

Raspberry Pi 4 を使ったROS入門 第1回 環境構築① Ubuntu20.04とROSのインストール

Last updated at Posted at 2022-06-21

はじめに

この記事は研究室の学生の教育用に作成してゆきます.
現在はROS2がメジャーとなってきておりますが,まずは自習が出来るよう文献が豊富なROS1でROSの扱いに慣れてみます.
ROSは既に多くの文献があり,それだけでも自習可能ですが解説されているバージョンや環境が違い,初心者には躓きやすい内容だと思ったため,改めてまとめてみます.

次回はこちら
Raspberry Pi 4 を使ったROS入門 第1.5回 環境構築② VNCとVSCodeの導入

動作環境

Raspberry Piを使用します.(用意できるならUbuntu入りのPCが◎)
ROSはUbuntu上で動くソフトなのですが,設定の違いによってトラブルが起きやすいので,クリーンインストールしてから始めることをお勧めします.
ROSのバージョンはUbuntuのバージョンとリンクしてます.

本記事で使用する機器とバージョン

使用機器 Ubuntuバージョン ROSバージョン
Raspberry Pi 4 Model B / 8GB 20.04 Noetic Ninjemys

※RAMが2GB,4GBだとビルドが途中で落ちることが多々ありました.
出来れば8GBが良いかもしれません.

準備する物

  1. Raspberry Pi 4 Model B
  2. USBキーボード
  3. Micro SDカード 32GB以上
  4. ディスプレイ
  5. Micro HDMI to HDMI変換ケーブル
  6. USB TypeC 電源ケーブル 5V 3A

一式そろえるのがめんどくさいという方はセットも売ってます

Ubuntu 20.04のインストール

1. ラズパイとは別のPCを用意(MicroSDカードにOSを書き込みます)

2. ラズパイのOS書き込みソフトをダウンロード

Raspberry Pi Imager for Windows

3. 画面に従いインストール

image.png

4. SDカードをPCにセットしイメージ書き込み

4.1 OSを選ぶをクリック

Other general-purpose OS -> Ubuntu -> Ubuntu 20.04.03 64bit server OS
の順でクリックし,Ubuntu 20.04.4 64bit server OSを選択します.
image.png
image.png

4.2 ストレージを選ぶをクリックし,差し込んだSDカードを選択

image.png

4.3 書き込むをクリック

5. Raspberry Piに作成したSDを挿入して電源を入れて起動.

有線LANにつないでおく.(ここからはラズパイでの操作)

5.1 起動したらIDとパスワードを入力する初期設定は以下の通り
ubuntu login: ubuntu
password: ubuntu
5.2 パスワードの変更を求められるので任意のパスワードを入力
Current password: ubuntuと入力
New password: 新しいパスワードを入力
Retype new password: 再度新しいパスワードを入力
5.3 Ubuntu-Desktopをインストール

ROSを動かすだけならserver版でも良いですが,
Linuxに慣れてない方向けにデスクトップ版を入れておきます.
途中Do you want to continue?[Y/n]と聞かれたらエンターを押します.
rebootで再起動.

$ sudo apt update
$ sudo apt install ubuntu-desktop
$ reboot

いけました.
image.png

※参考:Ubuntu公式サイト

ROSのセットアップ

1. ディスプレイの自動OFFを解除

ROSのインストールはかなり時間がかかり、画面が消えると進捗がわからなくなるのでディスプレイの自動オフを解除しておきます。
右上の電源ボタンをクリック→「Settings」→「Privacy」→「Screen lock」→「Blank Screen Delay」をNeverに変更

2. ターミナルの起動

[Ctrl]+[Alt]+[T]を押すとターミナルが起動します.
ROSでは良く使用するので覚えておきましょう.

3. コマンドを実行しROSをインストール

ターミナルへは[Ctrl]+[Shift]+[V]で貼り付けできます.

3.1 sources.listを設定
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
3.2 鍵の設定
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.3 Ubuntu をアップデート
sudo apt update
3.4 インストール
sudo apt install ros-noetic-desktop-full
3.5 環境設定
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
3.6 rosinstallの準備
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
3.7 rosdepの初期化
sudo rosdep init
rosdep update
3.8 ROSのワークスペースを作成、ビルド
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
3.9 ワークスペースのオーバーレイ
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

下記コマンドで
/home//catkin_ws/src:/opt/ros/noetic/share
と表示されればOK

echo $ROS_PACKAGE_PATH
3.10 インストールの確認
roscore

下記のようにエラーが出ず表示できればOK

<username>@ubuntu:~$ roscore
... logging to /home/<username>/.ros/log/3da110c6-4d4c-11eb-b763-f9ecf65ee99d/roslaunch-ubuntu-20827.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

invalid ROS_IP (must be a valid IPv4 or IPv6 address)
invalid ROS_IP (must be a valid IPv4 or IPv6 address)
invalid ROS_IP (must be a valid IPv4 or IPv6 address)
started roslaunch server http://master:33043/
ros_comm version 1.15.9


SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.15.9

NODES

auto-starting new master
process[master]: started with pid [20835]
invalid ROS_IP (must be a valid IPv4 or IPv6 address)
invalid ROS_IP (must be a valid IPv4 or IPv6 address)
ROS_MASTER_URI=http://master:11311/

setting /run_id to 3da110c6-4d4c-11eb-b763-f9ecf65ee99d
process[rosout-1]: started with pid [20845]
started core service [/rosout]

参考 ROS公式 Noeticインストール手順

自習用おすすめサイト

ROS Wiki

ROSのドキュメントが集約されています.
ほとんどは英語ですが,一部日本語に翻訳されています.

日本語コミュニティ

質問用サイト

バックアップ

環境をリセットする際に毎度ROSのインストールをしていては面倒ですので,
RaspberryPiのSDカードを丸ごとバックアップしておくと便利です.
以下参考に.

更新履歴

2022年6月7日 公開

9
11
0

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
9
11