ROS2のインストール
Categories:
目的
各自のノートPCにRobot Operating System2(ROS2) Humble Hawksbillをインストールして実習環境を整えます. インストールには1週を想定していますが,正常にインストールが完了できなかった方には個別で対応します. 2週目までには必ずROS2が使用できる状態にしましょう.
インストール手順
Ubuntu22.04上で動作するROS2をインストールします. Ubuntu22.04で利用できるROS2のディストリビューションは,Iron IrwiniとHumble Hawksbillの2つです. Iron Irwiniのサポート期限は2024年11月,Humble Hawksbillは2027年5月です. Iron Irwiniの方が新しいですが,サポート期限が長いHumble Hawksbillをインストールします. ROS2をインストールするには下記の2つの方法があります.
- ソースコードをビルドしてインストール
- パッケージ管理ツール(apt)を用いてインストール
今回は2. のパッケージ管理ツールを用いてROS2をインストールします.
ローケル設定の確認
ROS2では,文字コードとしてUTF-8がサポートされています. 各自のコンピュータで設定されている言語及び文字コードを確認します. ターミナルを起動して下記のコマンドを実行してください.
|
|
上記のコマンドの実行すると下記のような出力が得られます.
|
|
「=」の左側はロケール環境変数と呼ばれる変数です. 詳細な説明は省略しますが,複数のロケール環境変数に「“ja_JP.UTF-8”」が設定されています. 「ja_JP」は表示言語が日本語であることを意味し,「UTF-8」はUnicodeで使用できる文字符号化形式を表しています. 「UTF-8」が設定されていない場合には,下記のコマンドにより設定しましょう.
|
|
実行後,ロケール環境変数に「“ja_JP.UTF-8”」が設定されたことを確認してください.
|
|
リポジトリの登録
ROS2はUbuntuの公式リポジトリ以外からダウンロードする必要があるため, 外部のリポジトリを登録する必要があります. 下記のコマンドによりuniverseリポジトリ(特定のコミュニティが管理するオープンソースソフトウェア)が利用できる状態にしましょう.
|
|
指定したURLにアクセスするためにcurlコマンドをインストールし,公開鍵(gpgファイル)を所定のディレクトリに保存します.
|
|
リポジトリ情報を管理するsources.listにROS2をインストールするためのリポジトリを加えます.
|
|
リポジトリを追加した後,下記のコマンドによりインストール可能なパッケージのリストを更新し,最新のパッケージに更新します.
|
|
ROS2のインストール
ROS2をインストールする間にインストール済みのソフトウェアを更新します. 幾つかのインストール形態がありますが,今回は多数のツールや通信ライブラリ,ビルド関連のパッケージが含まれているものをインストールします. また,不足しているソフトウェアもインストールします.
|
|
これでインストール完了です. ROS2は「/opt/ros/」にディストリビューション単位でインストールされます.
環境変数の設定
ソフトウェアをインストールしたパスの設定を行います. ubuntuでは,コマンド実行時に特定のディレクトリ内に実行ファイルが存在するかを探します. 特定のディレクトリのパスをコマンドサーチパスと呼び,環境変数PATHによって設定されています. echoコマンドによりPATHにどのディレクトリが設定されているか確認します.
|
|
ROS2は「/opt/ros/」にインストールされますが,上記の結果より環境変数PATHに含まれていないことがわかります. このままでは使いにくいため,PATHにROS2がインストールされたディレクトリまでのパスを追加します. 幾つかの方法がありますが,ターミナル起動時に読み込まれる「.bashrc」ファイル内でパスを追加する設定を行います.
|
|
.bashrc
ファイルを適切に編集してください.
追加した内容は.bashrc
ファイルの最後に記載されます.
上記を実行後,ターミナルを再起動してからPATHの内容を確認します.
|
|
PATHの冒頭にROS2をインストールしたディレクトリまでのパスが追加されました.
次に環境変数ROS_LOCALHOST_ONLYを設定します. ROS2では,同一のネットワーク内で起動しているノードを自動的に検出します. この仕組みは簡単に分散処理ができる一方,複数の端末で実習を行うと他の端末に影響を与える問題が発生します. そのため,ROS2における通信をlocalhost(自身のコンピュータ)に限定する設定を行います.
|
|
.bashrc
ファイルに追記されますので,必要に応じて削除してください.
また,ROS_DOMAIN_ID
により通信する端末を限定することも可能です.
動作確認
ROS2が正常に利用できる状態であるかを確認します. 下記のコマンドの意味は次週以降の講義で扱います. ターミナルで下記のコマンドを実行してください.
|
|
正常に起動するとシミュレータの画面が表示されます. その際,中央に表示されている亀の絵が例と異なっていても問題はありません. 終了する場合には,上記のコマンドを実行したターミナルをアクティブな状態とし,「Ctrl」キーと「C」キーを同時に押してください.