こんにちは、プラスプラスの真山です。
ROSをインストールしてみます。手順はROSのHPに載っている一般的なインストール方法です。
ターミナルを開いてコマンドをコピーペーストするだけです。簡単です。
NTP (Network Time Protocol) 設定
複数のコンピュータ間で通信を行う場合、NTPを利用して各コンピュータで時刻を同期する必要があります。chrony をインストールして ntpdate
コマンドで ntp サーバを指定します。
$ sudo apt-get install -y chrony ntpdate $ sudo ntpdate -q ntp.ubuntu.com
ソースリストの追加
ros-latest.list に ROS 関連サーバの URL を追加します。
$ sudo sh -c 'echo "deb https://package.ros.org/ros/ubuntu $(lsb_release-sc) main" > /etc/apt/sources.list.d/ros-latest.list'
キーを設定する
ROS 関連サーバからパッケージをダウンロードするための公開キーを追加します。以下の公開キーはサーバ更新の際に変更されるため、公式 Wikiページで最新のものを確認します。
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
パッケージインデックスのアップデート
Ubuntu のパッケージをアップデートしておきます。
$ sudo apt-get update && sudo apt-get upgrate -y
ROS Kinetic のインストール
デスクトップ用の ROS パッケージをインストールします。
このパッケージには、ROS本体、グラフィカルなユーティリティツール rqt 、可視化ツール RViz 、その他の関連ライブラリが含まれます。今回はkineticなので、別のバージョンを使いたい場合はros-
の後にそのバージョン名を入れます。
$ sudo apt-get install ros-kinetic-desktop-full
さらに rqt に関するすべてのパッケージをインストールしておきます。
$ sudo apt-get install ros-kinetic-rqt*
rosdep の初期化
rosdep は ROS のメインコンポーネントを利用したり、プログラムをコンパイルする際、OS に依存した外部のライブラリやツールをインストールするためのツール。 ROS を利用する前には必ず一度 rosdep を初期化しておく必要があります。
$ sudo rosdep init $ rosdep update
rosinstall のインストール
ROS の様々なパッケージをインストールする際に役に立つツールです。 頻繁に利用するので必ずインストールします。
$ sudo apt-get install python-rosinstall
環境設定の呼び出し
環境設定ファイルには、ROS_ROOT ROS_PACKAGE_PATH などの環境変数があらかじめ定義されています。以下のコマンドで読み込めます。
$ source /opt/ros/kinetic/setup.bash
作業フォルダの生成および初期化
ROS 専用ビルドシステム catkin を利用します。 そのためにあらかじめ作業フォルダ catkin_ws を作成し、初期化する必要があります。 この作業は、作業フォルダを削除して再び作成しない限り、一度だけ行えばいいです。
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace
フォルダ catkin_ws が作成できたらビルドを行います。
$ cd ~/catkin_ws/ $ catkin_make
ビルドが終了したら、ls
コマンドで現在の作業フォルダにあるファイルを確認します。
ビルドに成功すると src フォルダの他に build、devel フォルダがそれぞれ作成されています。
このときに、catkin ビルドシステムのビルド関連ファイルは build フォルダに、実行関連ファイルは devel フォルダに、それぞれ自動生成されます。
$ ls build devel src
最後に catkin ビルドシステムの環境設定ファイルを読み込んでおきます。
$ source ~/catkin_ws/devel/setup.bash
テスト
インストールできたらroscore
を起動します。
$ roscore
これでROSのインストールが完了しました。おめでとうございます!(ヤッタネ!)
ROSを快適に使う環境設定
しかしこのままでは新しいターミナルを開くたびに
$ source /opt/ros/kinetic/setup.bash $ source ~/catkin_ws/devel/setup.bash
というコマンドを毎回実行させて環境設定ファイルを読み込まなければなりません。これはめんどくさい!(毎回ですよ!あーめんどくさい!)
なので自動的に環境設定ファイルを読み込むように設定します。エディタで~/.bashrc
ファイルの最後に設定を追加します。エディタは vim でも gedit でもなんでもいいです。
$ gedit ~/.bashrc
~/.bashrc
ファイルの中身です。最後の所に書いていきましょう。
環境設定ファイルの読み込みを自動化。
# Set ROS Kinetic source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bash
ROS ネットワークの設定
ROSはインターネットを使用し、ノード情報を管理するコンピュータ(Master) や、実際にノードを実行するコンピュータ(Host)で動作しているノード間でメッセージ通信を行うため、それぞれのコンピュータのIPアドレスを設定します。Master と Host が同じコンピュータの場合はxのところにIPアドレスを、
# Set ROS Network export ROS_HOSTNAME=xxx.xxx.xxx.xxx export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
別の場合はそれぞれに設定します。
# Set ROS Network export ROS_HOSTNAME=xxx.xxx.xxx.xxx export ROS_MASTER_URI=yyy.yyy.yyy.yyy
コンピュータが1台だけでIPアドレスを特定する必要がないときや、インターネットに接続せずアドレスが割り当てられないときは、localhostと指定します。
# Set ROS Network export ROS_HOSTNAME=localhost export ROS_MASTER_URI=http://localhost:11311
ショートカットコマンドの設定
次に頻繁に使うであろうコマンドのショートカットを設定します。
# Set ROS alias command alias cw='cd ~/catkin_ws' alias cs='cd ~/catkin_ws/src' alias cm='cd ~/catkin_ws && catkin_make'
これがとても便利です。便利ですが私の場合設定したことを忘れて普通にコマンドを打つことがよくあります。(だめじゃん!)
ここまででROSのインストールと環境設定が完了しました。お疲れ様でした。 次回は実際にROSを起動させて動かしてみます。あのかわいいカメ達も出てきますのでお楽しみに〜!