UbuntuにROS×Pythonの開発環境を導入しよう!

 ※ 本記事は広告・プロモーションを含みます。
ROS(Robot Operating System)

ROS(Robot Operating System)の便利さを知ってもらいたいため開発環境の導入方法を紹介します! たっきん(Twitter)です!

以前にROS×Pythonの組み合わせが超絶便利すぎるといった内容のブログを書きました。

しかし、ROSの開発環境構築は僕個人的にややハードルが高いかなと思ってます。

現時点で最新バージョンのROS2:Humble Hawksbillでは以下のプラットフォーム向けにバイナリ・パッケージ版が公開されていますが、動作が安定するのはUbuntu Linuxとの声をよく聞きます。

ROS2:Humble Hawksbill 公開バイナリ・パッケージ

  • Ubuntu Linux 22.04 (Jammy Jellyfish)
  • RHEL8 (Red Hat Enterprise Linux 8)
  • Windows (VS 2019)

そのため、必然的にUbuntuユーザーが多く、ROSに関する情報をネットで調べてもほとんどが、Ubuntuで動かしていることが前提となっているように思えます。

そのため、ROS2を動かすならUbuntu Linux一択と言っても過言ではないでしょう。

Ubuntu Linuxは操作性がWindowsとは違うため、使いにくいと感じる人も多いかもしれないですが、そこはもう慣れるしかないです。。。

なので今日はUbuntu Linux 22.04ROS2インストール方法について手順を1つ1つ丁寧に紹介していきたいと思います。

Ubuntu Linuxのインストール

Ubuntu Linux (22.04)をインストールしていきます。

Linuxを使ったことがない人にとってはここが山場になるかもしれません。

LinuxはWindowsと同じくOS(Operating System)となるため、ストレージへインストールすることになります。

慣れないうちはUbuntu Linux用に1台PCを用意してインストールの練習をしたほうが良いですね。

インストール・イメージの入手

下記のリンクを開きます。

開いたら「Ubuntuのダウンロード」をクリックします。

「日本語 Remix イメージのダウンロード」をクリックします。

最新版をダウンロードしましょう!

本記事では「Ubuntu 22.04」をダウンロードして進めていきます。

ISOイメージのダウンロードが完了したらインストールメディアを作成します。

インストール・メディアの作成

作成の仕方はいくつかありますが、ここでは僕がいつも愛用しているRufus(ルーファス)を使用します。

Rufusは起動可能なUSBドライブを簡単に作成するためのソフトになります。

USBメモリが必要になるので準備しておきましょう!(容量は8GB以上が推奨です。)

以下サイトから実行ファイルをダウンロードしましょう!

現時点で最新バージョンのRufus 3.22で説明していきます。

実行ファイルのダウンロードが完了したらUSBメモリをPCに挿してから実行します。

メイン画面が立ち上がるのでまずはデバイスを選択します。

次はブートの種類とファイルを選択します。

ブートの種類は「ディスクまたはISOイメージ(選択してください)」を選択し、「選択」ボタンをクリックしてダウンロードしたUbuntuのISOイメージを選択します。

すると画面が以下のように変わります。

設定項目は特に変更の必要はないので、そのまま「スタート」をクリックします。

以下のダイアログが立ち上がるので「ISOイメージモードで書き込む」を選択して、「OK」ボタンをクリックします。

全てのデータ消去されるので、良ければ「OK」をクリックします。

するとインストールメディアの作成が開始されるのでしばらく待ちます。

状態のプログレスバーが「準備完了」となればインストールメディアの作成完了です。

Ubuntuのインストール

それでは作成したUSBインストールメディアを使ってPCにubuntuをインストールしていきましょう!

WindowsとUbuntuを1つのPCで共存させるデュアルブートさせることも可能ですが、パーテションの分割などある程度の知識が必要となってくるのと、最悪Windowsが起動しないなんて事態にもなり兼ねないので、慣れないうちはUbutnuインストール専用のPCを1台用意した方が良いです。

本記事では便宜上、仮想環境(VM Player)にUbuntuをインストールする例で説明していきますが、基本的にインストール作業は同じとなります。

PCを用意したらUSBインストールメディアをPCに挿して、PCを起動します。

PCによっては自動でUSBからブートする場合もありますが、起動しない場合はEsc、F10、F12 キーなど、コンピューターの起動デバイス選択メニューを開くキーを押して、USBインストールメディアを起動しましょう!

USBインストールメディアからの起動が成功すると下記のような画面が表示されます。

ここでは「Try or Install Ubuntu」を選択してエンターキーを押します。

すると以下のような画面になるのでしばらく待ちます。

以下のような画面が表示されたら「Ubuntuをインストール」をクリックします。

キーボードレイアウトの画面が表示されたらキーボードレイアウトを選択して「続ける」をクリックします。(デフォルトでJapaneseが選択されています。)

アプリケーションのインストール方法を選択します。

よくわからなければデフォルトの設定(以下の画面)のままで「続ける」をクリックします。

すると以下のようなダイアログが表示されるので「続ける」をクリックします。

「どこに住んでますか?」と聞かれるのでTokyo(デフォルトで入力されている)と入力し、「続ける」をクリックします。

ここではユーザーアカウントを設定します。

僕はログインする度にパスワードを入力するのが嫌なので「自動的にログインする」にチェックを入れています。

必要事項を入力して「続ける」をクリックします。

インストールが開始されるのでしばらく待ちます。

インストールが完了すると以下のようなダイアログが表示されるので「今すぐ再起動する」をクリックします。

次ような画面に切り替わったらUSBインストールメディアを抜いてエンターキーを押します。

再起動後、以下のような画面が表示されたらUbuntuのインストールは完了です。

ROSのインストール

ROS2にもディストリビューションがいくつか存在しているのですが、今回は現時点で最新の「Humble Hawksbill」をインストールしていきます。

インストール手順は本家サイトにもありますが、ここでは補足を交えつつインストール手順を説明していきます。

ロケールのセットアップ

UTF-8のロケールがサポートされているかを確認します。

$ locale

デフォルトでは下記のように表示されてサポートされているはずです。

LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

サポートされていなければ下記のコマンドでロケール設定します。

$ sudo apt update && sudo apt install locales
$ sudo locale-gen en_US en_US.UTF-8
$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
$ export LANG=en_US.UTF-8

ちゃんと設定できたかを確認します。

$ locale

ATPソースリストの設定

まずはUbuntu Universe repositoryが有効になっているかを確認します。

$ sudo apt install software-properties-common
$ sudo add-apt-repository universe

次に、ROS2のGPGキーを追加します。

$ sudo apt update && sudo apt install curl
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

リポジトリをソース リストに追加します。

$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

最後にリポジトリを更新しておきます。

$ sudo apt update && sudo apt upgrade

ROS2パッケージのインストール

ROS2パッケージは用途に応じてインストール・パッケージを選択します。

デスクトップ環境(GUIツール等を含むデスクトップ開発用)

$ sudo apt install ros-humble-desktop

ROSベース環境(GUIツール等が含まれない最小構成)

$ sudo apt install ros-humble-ros-base

本記事ではデスクトップ開発環境を構築するので「ros-humble-desktop」を選びましょう!

ROSパッケージのビルドやコンパイラなどの開発ツールもインストールします。

$ sudo apt install ros-dev-tools

環境設定

端末立ち上げ時は以下の環境設定コマンドを毎回実行する必要があります。

$ source /opt/ros/humble/setup.bash

端末を立ち上げるたびに毎回コマンドを実行するのは面倒なので、「~/.bashrc」に追加しておいたほうが楽です。

$ echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

ROS2インストール作業は以上になります。

ROS2 サンプル・デモを実行してみよう!

ROSが正常に実行できるかデモを使って確かめてみましょう!

端末を開いて以下のコマンドを実行します。

$ ros2 run demo_nodes_py talker

別の端末を開いて以下のコマンドを実行します。

$ ros2 run demo_nodes_py listener

ROSが正常に動作していれば端末に下記のようなメッセージが表示されるはずです。

上記デモは「talkerノード」chatterメッセージを送信し、「listenerノード」が受信して受信メッセージを端末上に表示させるアプリケーションになります。

起動中のノードとノード間の通信メッセージを可視化するには下記コマンドを実行します。

$ rqt_graph

すると下記のようなノードグラフが表示されます。

上記の可視化コマンドはROSでアプリケーション開発する上で非常に役に立つので覚えておいた方が良いです。

さいごに

Ubuntu LinuxのインストールROS2のインストールは上手くできましたか?

ROS2は開発環境を構築するまでのハードルが高いのが難点ですが、その難点を差し引いてでもROSを使うメリットは大きいと僕は思います。

今回は一旦ここで区切りますが、次回以降はまだ詳しく紹介できていないROSの便利さをサンプル・コードを使って説明していこうと考えています。

それでは、楽しいROSライフを!

スポンサーリンク

コメント

タイトルとURLをコピーしました