[ロボ実験記録] Ubuntuのセットアップ~ROS2 with docker の立ち上げ
概要
ロボットアームのミドルウェアであるROS2(robot operating system 2)をubuntuで立ち上げるまでのメモです。
Ubuntuのセットアップ
慣れている人には不要な内容ですが、せっかくなので、Ubuntuのセットアップメモから記録していきます。
Ubuntuとは?
UbuntuはLinuxベースのフリーのOSです。
ROS2にも様々なバージョンがありますが、2027年3月までの長期サポートバージョン(Humble Hawksbill)では、Ubuntu 22.04の利用が推奨されています(リンク)。WindowsやMacを使うことも可能な一方で、Pythonの深層学習ライブラリやらリモート接続やらを考えると、Ubuntuが便利で、デファクト・スタンダードになっているといえます。
Ubuntuのダウンロード
公式サイトから、Ubuntu 22.04のインストールに必要なファイル(isoファイル)をダウンロードします。
(画面の下の方には「Ubuntu Server」のリンクも貼られています。こちらはグラフィカルユーザーインターフェースGUI無しのバージョンです。ROSではGUIを使うようなので、Ubuntu Desktopをダウンロードします)
ブートメディアの作成
UbuntuのインストーラをUSBメモリに書き込みます。
Rufusというソフトウェアを使うのがおすすめです。
以下の感じの設定で、「スタート」ボタンを押して書き込みます。
Ubuntuのインストール
Ubuntuを入れたいPCに、インストーラを書き込んだUSBを差し込んだ状態で電源をONにします。
起動後、F2やらF8やらEscを連打(キーはPCによって異なります)して、BIOS画面を開きます。
Ubuntuをinstallします、的な項目を選び、インストーラを起動します。あとは流れに沿って処理するだけです。
ROS2のセットアップ
ubuntuにrosを入れます。
リモート接続のセットアップ(任意)
今回はノートPCにubuntuを入れました。
ノートを直接触って制御しても良いのですが、普段使っているキーボードやマウス、ディスプレイをそのまま転用したいので、PCをリモート接続で操作することにします。リモート接続が不要な人は飛ばしてOKです。
まずはubuntu側をsshやリモートデスクトップに対応させます。
#ipアドレスを確認するためapp
sudo apt install -y net-tools
#SSHサーバー
sudo apt install openssh-server
#リモートデスクトップ関連
sudo apt install xrdp
sudo adduser xrdp ssl-cert
ifconfigコマンドなどでマシンのipを確認した後、SSH接続します。
以下はwindowsから接続する例(コマンドラインから実行)
#※user名やipは環境ごとに違います
ssh user@192.168.11.3
Dockerのインストールと立ち上げ
ROS2を構築するのはちょっと大変らしいので、Dockerを使います。
Dockerとは、仮想環境をお手軽に構築するためのツールです。
Dockerの入れ方や操作は、以下のサイトをそのままなぞります。
https://ouxt-polaris.github.io/ros_handson/how_to_setup/
#パッケージの更新
sudo apt-get update
sudo apt-get install
#curl
sudo apt install curl
#認証キーの取得関連
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#パッケージの更新
sudo apt-get update
#dockerのinstall
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker起動時にsudoを入れるのが面倒なので、権限を与えます。
sudo groupadd docker
sudo usermod -aG docker $USER
sudo chown $USER:docker /var/run/docker.sock
こちらで配布されているdocker imageを使います。
以下のコマンドを実行すると、ダウンロードが始まり、自動で起動されるはずです。
docker run --rm -p 6080:80 --shm-size=4096m --security-opt seccomp=unconfined ghcr.io/ouxt-polaris/ros_handson/ros_handson:latest
次に、http://127.0.0.1:6080/を開いて動作を確認します。
あとはチュートリアルに沿って動かすことができそうです。
(今後は勉強も兼ねて、dockerではなく、自分でros環境を構築する予定です)
→続き
この記事が気に入ったらサポートをしてみませんか?