本記事ではRobot Operating System(ROS1およびROS2)の開発環境を整えてゆきます。よく勉強用に使われるROSの環境は下の通りです。
- PCに直接Ubuntuをインストール
本格的にロボットを動かしたい。しっかり勉強したいという場合はこちらがおすすめです。日常的にLinuxを扱うことで開発環境にも慣れることができます。Windowsを一度消す、あるいはOSのデュアルブートを行う必要がありますので、使用していないノートPCを使うことをお勧めします。最近は中古のLet’s Noteがたたき売りされていますので、おすすめです。 - Raspberry PiにUbuntuをインストール
なるべく安くROSによって動くロボットを作りたいという場合にはこちらがおすすめです。Raspberry Pi 4のメモリは8GBがおすすめです。まだ日本では公式で販売されていませんがRaspberry Pi 5が用意できると最高ですね。 - Windows上の仮想環境でUbuntuを動かす
とりあえず少し触ってみたい。コストとリスクをかけずに勉強したいという場合はこちらです。
あくまで仮想環境で行うため、エラーが発生したり、現実のロボットを動かせなかったりします。
勉強と割り切るならアリ。
というわけで今回は1のPCに直接Ubuntuをインストールする方法について述べます。ほかの環境も随時解説予定です。
今回構成する環境
今回はAmazonのセールで2万円程度で購入できたミニPCに環境を入れていきます。(現在は3万…)
最近は中古Let’s note が2万円程度で買えますのでこちらの方がおすすめです。
中古 ノートパソコン Let's note https://amzn.asia/d/cp1H9il
使用するデバイス | ミニPC (SD-J4125 8GB 256GB) |
CPU | Intel Celeron J4125 |
クロック | 2.0 GHz |
コア | 4 |
ストレージ | 128GB |
メモリ | 8GB |
インストールするOSとROSのバージョンは以下の通りです。
ROSはUbuntuのバージョンと一対一で対応していますので注意してください。
Ubuntu バージョン | ROS1バージョン | ROS2バージョン |
20.04 | Noetic | Foxy |
UbuntuインストールUSBメモリの作成
1.Ubuntu20.04のインストールイメージを下記サイトよりDLします。
http://jp.releases.ubuntu.com/focal/
2.ダウンロードしたISOファイルをUSBメモリに書き込み,USBメモリからUbuntuをインストールできるように準備します。
RufusというソフトでISOイメージをUSBメモリに書き込みます
サイトにアクセスし,ダウンロード
デバイス欄にインストール用のUSBメモリを選択し,
ブートの種類の欄でダウンロードしたイメージファイルを選択します。
3.作成したUSBメモリをPCに差し,起動 F7を連打しながらBIOS画面に入ります。(PCによってBIOSに入る画面は変わります)
BIOS画面でUSBの起動順位を上げてUbuntuのインストーラーを起動します。
インストーラーの指示に従って進めていきます。
4.完了!
ROS1のインストール
Terminalを起動し、以下のコマンドを入力します。
1.packages.ros.org からのソフトウェアを受け入れるよう許可
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.鍵の設定
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
3.Ubuntu をアップデート
sudo apt update
4.インストール
sudo apt install ros-noetic-desktop-full
5.環境設定
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.rosinstallの準備
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
7.rosdepの初期化
sudo rosdep init
rosdep update
8.インストールの確認
roscore
以下の通りエラーが出なければ成功です。
<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]
ROS2のインストール
同じくTarminalを起動し、以下のコマンドを入力してゆきます。
1.リポジトリのアップデートをします.
sudo apt update
2.インストール
sudo apt install ros-foxy-desktop
3.環境設定
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc
4.ROS2ではビルドシステムがcatkinからcolconに変わりました。別途インストールする必要があります。
sudo apt install python3-colcon-common-extensions
5.その他アプリのインストール
sudo apt install -y python3-argcomplete python3-pip
完了です。