ROS Melodicのインストールメモです。この記事はROS のオフィシャルウェブサイトの次の日本語記事を簡略化しています。詳しい説明は次のリンクをご覧ください。ネットワークの速度に大きく依存しますが、私の環境(フレッツ光)では作業時間は30分ほどでした。作業の時間帯によっても大きく変わってきます。
なお、この記事の作業では、学校や会社などのファイアウォール内の環境ではなく(つまり、自宅)、LinuxのディストリビューションとバージョンはUbuntu 18.04を前提にしています。
———————————————————————————————-
1.準備
(1) 端末(ターミナル、terminal)を開いて、以下のコマンドをコピペして、Enterキーを押し実行する。パスワードを聞かれたら入力する。なお、行の始めの$はプロンプト(入力の目印)なのでコピペしない。
- $
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 install -y curl
- $
curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
2. インストール
(1) 以下のコマンドでインストール先をアップデートし、ソフトウェアを最新バージョンにする。
- $
sudo apt update
- $
sudo apt upgrade
(2) ROS Melodicのインストール
- $
sudo apt install -y ros-melodic-desktop-full
- ネットワークが混雑していてタイムアウト等でインストールが失敗するときは、再度上のコマンドを実行してください。前回失敗した続きからインストールが始まります。
3. 初期設定
(1) 以下のコマンドでrosdepを初期化する。rosdepはシステムに依存する必要なソフトウェアをインストールするツール。1行目を入力したらEnterキーを押し、2行目を入力したらEnterキーを押す。rosdepはコンパイルを楽にするツール。以下の作業はProxy環境下では失敗するので、Proxy環境の場合は、スマホのデザリングや自宅などで実施する。
- $
sudo apt install python-rosdep
- $
sudo rosdep init
- 上記のコマンドを実行して以下のエラーが出る場合は、
Traceback (most recent call last):
File “/usr/bin/rosdep”, line 3, in <module>
from rosdep2.main import rosdep_main
ModuleNotFoundError: No module named ‘rosdep2’ - 以下のコマンドを実行して必要なpythonモジュールをインストールする。
- sudo -H pip3 install -U rosdep
- 上記のコマンドを実行して以下のエラーが出る場合は、
- $
rosdep update
(2) 環境設定。楽をするための設定。以下のコマンドを端末にコピペしてEnterキーを押す。1行ずつ実施すること。
- $
cd
- $
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
- $
source ~/.bashrc
(3) rosinstall 。インストールが簡単になるツールを以下のコマンドでインストールする。
- $
sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools
終わり
コメント
$ source ~/.bashrcを実行すると、そのようなファイルやディレクトリはありませんと出ます。どうすればよいのでしょうか?
以下のコマンドを実行して結果を教えてください。
$ cd
$ source ~/.bashrc
proxy 環境下は面倒ですよね。
$ sudo rosdep init (proxyなし)
または
$ sudo -E rosdep init (proxy 環境下で 環境変数 http_proxy を設定済の場合)
わざわざコメントありがとうございます。