ROS Kineticのインストール

ROS Kineticのインストール

 ROS Kineticをインストールします。Kineticは、ROSのバージョンを表すコードネームです。ROSのパッケージは、バージョンによって、対応するUbuntuのバージョンが決まっています。ROS Kineticは、Ubuntu 16.04 TLSに対応しています。
 インストール方法は、ROS Wikiに書かれています。

インストール方法

・スーパーユーザになる

$ sudo su -
ログインしているユーザのパスワード

・aptリポジトリのソースリストに追加

$ sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

・aptリポジトリのキーを設定

$ apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key  421C365BD9FF1F717815A3895523BAEEB01FA116

・aptリポジトリの更新

$ apt update
$ apt upgrade

・ROSのインストール

$ apt install ros-kinetic-desktop-full
$ rosdep init
$ rosdep update

$ apt install ros-kinetic-cartographer*
$ apt install ros-kinetic-teleop*
$ apt install ros-kinetic-turtlebot3*

・関連パッケージのインストール

$ apt install python-rosinstall python-rosinstall-generator python-rosdep python-wstool build-essential ninja-build liburdfdom-tools

・Gazeboのアップデート
 デフォルトでは、Gazebo7.0が入っていますので、バージョンアップを行います。

$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt update
$ sudo apt install gazebo7
$ sudo apt update
$ sudo apt upgrade

・ログイン時の初期設定
 .bashrcに、下記の内容を最後に追加

$ vi ~/.bashrc
--------
source /opt/ros/melodic/setup.bash

・再ログインして、環境変数を確認

$ export | grep ROS

・インストールされたROSのパッケージの一覧を確認

$ rospack list

ツール(rviz、gazebo)の起動確認

 ROSには、データを確認するための可視化ツールであるrvizと、ロボットの動作をシミュレーションするツールgazeboが用意されています。インストール後に、ツールが起動することだけ、確認しておきます。
 最初に、1回だけマスター「roscore」を起動しておきます。ただ、roslaunchコマンドを使って起動する場合は、「roslaunch」が「roscore」を自動起動するため、事前に起動しておかなくても大丈夫です。

$ roscore &

 次に、可視化ツールrvizを起動します。

$ rviz

 起動すると、下記のような画面が表示されます。
 
 確認したら、rvizを終了し、シミュレーションツールgazeboを起動します。

$ gazebo

 起動すると、下記のような画面が表示されます。
 
 ツールの起動が確認出来たら、インストールは完了です。

SLAMパッケージのインストール

 SLAMとは、Simultaneous Localization and Mappingの略で、自己位置推定を行いながら地図作成を行うことです。ここでは、SLAMパッケージとして、OpenSlamのgmappingと、GoogleのCartographerのインストールを行います。

OpenSlam gmappingのインストール

 ros-kinetic-desktop-fullでインストールすると、OpenSlamのgmappingは標準でインストールされますので、追加インストールは不要です。

Google CartoGrapherのインストール

 GoogleのCartoGrapherは、git-hubのソースからビルドします。setupファイルが特殊なので、CartGrapher専用のワークスペースを作成してビルドします。

$ sudo su -
$ source /opt/ros/kinetic/setup.bash
$ mkdir ~/catkin_cg
$ cd ~/catkin_cg
$ wstool init src
$ wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
$ wstool update -t src
$ src/cartographer/scripts/install_proto3.sh
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO}
$ catkin_make_isolated --install --use-ninja

 これでインストールは完了ですので、ログアウトして、一般ユーザでログインします。

開発用のworkspaceの作成

 ROSのプログラムを作成する場合には、以下のコマンドで、ビルドするためのワークスペースを作成します。

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws
$ catkin_make

ROSの環境変数を設定

 ROSの環境変数を設定するため、.bashrcの最後に、setupシェルを実行するように追加します。
 最後に、Turtlebot3のパッケージも利用するので、Turtlebot3の環境変数も設定しておきます。
 設定が完了したらログアウトします。

$ vi ~/.bashrc
----------
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash

export TURTLEBOT3_MODEL=burger

Google CartoGrapherのデモの実行

 新しい端末を開いて、cartograperが提供しているデモをダウンロードして実行してみます。

$ wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag

 ダウンロードが終わったら、デモを起動します。

$ roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag

 起動すると、下記のような画面で地図を作成しく様子が見れます。このデモは、bagファイルを再生しているので、実際の地図作成と同じ処理を行っていますが、操作をすることはできません。
 


Copyright (C) ASH Joe Masumura