この記事の目的
Windows10上に仮想デスクトップ環境を構築してROS2の開発環境を整える
大まかな流れ
- VirtualBoxをダウンロード
- VirtualBoxの設定
- UbuntuをVirtualBoxにインストール
- Ubuntuにros2をインストール
Step1 : VirtualBoxをダウンロード
- VirtualBoxのサイトにアクセスする
- 「Windos hosts」を選択するとダウンロードが開始される
- ダウンロードされたファイルをクリックして実行する
- ウィザードに沿って「NEXT」で進めていく
- ウィザードで「Install」をクリックするとインストールが開始
- Windowsセキュリティで「インストール」をクリックする
- インストールが完了したら「Finish」をクリックして終了
Step2 : VirtualBoxの設定
- デスクトップにある「Oracle VM VirtualBox」のアイコンをクリックして起動
- メイン画面から「新規」をクリックし、入力が終わったら「次へ」をクリック
- 名前:任意で入力
- タイプ:Linux
- バージョン:Ubuntu18.04
- メモリーサイズ
- メモリーサイズを設定し「次へ」をクリック
- ファイルストレージは「可変サイズ」にし、ファイルサイズは"25GB"にしましたUbuntuのシステムだけで5GBとるのに加えてrosのストレージも考えると、
少し余裕をもって置いたほうがいいです。その他の設定はデフォルトのまま。 - 「作成」をクリックして完了。


Step3 : Ubuntuイメージをダウンロード
- Ubuntuサイトにアクセスする
- 「64-bit PC (AMD64) desktop image」をクリックしてダウンロードする
- ダウンロードが終了したら、「Oracle VM VirtualBox」のアイコンをクリックして「VirtualBox」を起動する
- メイン画面にある「起動」(緑色の右矢印)をクリックする
- 次の画面が表示されるので、ダウンロードしたUbuntuのイメージファイルを選択して「起動」をクリック
- 次の画面が表示されたら「Ubuntuをインストール」を選択する
- 「Ubuntuのインストール中にアップデートをダウンロード」にチェックを入れて「続ける」をクリック
- 「ディスクを削除してUbuntuをインストール」にチェックを入れて「インストール」をクリック
- タイムゾーンの画面で「Tokyo」を指定して「続ける」をクリック
- キーボードレイアウトは「日本語」を選択して「続ける」をクリック
- ユーザ情報をクリックして「続ける」をクリック
- インストールが完了したら、「今すぐ再起動する」をクリック
- ログイン画面が表示されるとUbuntuのインストールは完了

Step4 : ROS2をインストール
ROS2ホームページに従って環境をセットアップしていく
インストールするバージョンはDashing
Installing ROS 2 Dashing Diademata
Locale設定
文字コードをUTF-8にしておく必要があります
$ 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
APTリポジトリを追加
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
$ sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
ROS2パッケージ(Dashing)をインストール
$ sudo apt update
$ sudo apt install ros-dashing-desktop python3-colcon-common-extensions python3-argcomplete python3-rosdep
$ sudo rosdep init
$ rosdep update
環境設定
ROS2のセットアップスクリプトを自動実行できるように、
ターミナル起動時に読み込まれるようにします
$ echo "source /opt/ros/dashing/setup.bash" >> ~/.bashrc
動作確認
デモプログラムでtalkerノードが送信した文字列をlistenerノードが受信していることを確認しましょう
talkerノード用ターミナルとlisnterノード用ターミナルを立ち上げてください
talker
$ ros2 run demo_nodes_cpp talker
[INFO] [talker]: Publishing: 'Hello World: 1'
[INFO] [talker]: Publishing: 'Hello World: 2'
[INFO] [talker]: Publishing: 'Hello World: 3'
listener
$ ros2 run demo_nodes_cpp listener
[INFO] [listener]: I heard: [Hello World: 1]
[INFO] [listener]: I heard: [Hello World: 2]
[INFO] [listener]: I heard: [Hello World: 3]
お疲れさまでした。これでROS2の開発環境のセットアップは完了です。
次はワークスペースを作成し、コードを実際に書き、動かしていくことになります。
今回はここまで。