ラズパイマウスのROS 2パッケージをインストールする

ROS 2パッケージ経由でブザーを鳴らしたりモータを回したりします。
今回インストールするパッケージはrt-net/raspimouse2です。

こちらのパッケージは2020/07/06時点ではバイナリパッケージとしてインストールできません(aptコマンドでインストールできません)。
rosdistroにPRがマージされたので、もう間もなくaptでインストールできると思います。

そのため、今回はパッケージをビルドしてインストールします。

まず、公式手順に従い、ビルドツール(colcon)をインストールし、ワークスペースを作成します。

# ビルドツールのインストール
 $ sudo apt install python3-colcon-common-extensions

# ワークスペース作成
 $ mkdir -p ~/ros2_ws/src
 $ cd ~/ros2_ws

 $ colcon build

ワークスペースの作成に成功すると、build、install、logというディレクトリが新たに作成されます。

【rt-net/raspimouse2パッケージのインストール】
ワークスペースができたので、そこにパッケージをクローンし、ビルド、インストールします。
まず最初にraspimouse2パッケージをクローンし、rosdepコマンドで依存するパッケージをインストールします。

# Clone package
 $ git clone https://github.com/rt-net/raspimouse2

# Install dependencies
 $ rosdep install -r -y -i --from-paths .
 ここで、rosdep がインストールされていないというエラーが出るので、下記を実施しインストールします。

 $sudo apt install python-rosdep2
 $sudo rosdep init
 $rosdep update

依存関係もインストールしておきます。
 $cd ~/ros2_ws/src
 $ rosdep install -r -y -i --from-paths .


【パッケージのビルドとインストール】
raspimouse2パッケージをビルドし、インストールします。

# Build & Install
 $ cd ~/ros2_ws
 $ colcon build --symlink-install
 $ source ~/ros2_ws/install/setup.bash

colcon buildのオプションに–symlink-installを付けると、ファイルのシンボリックリンクがincludeディレクトリに作成されます。

オプションを付けない場合は、ファイルのコピーがincludeディレクトリに作成されます。

シンボリックリンクを使うことで、pythonファイルやlaunchファイル等のスクリプトファイルを編集した後、colcon buildを実行すること無く、
編集後のスクリプトを実行できます。


【raspimouse2パッケージの実行】

まずは1つ目のターミナルでraspimouseノードを起動します。

# Terminal 1
 $ source ~/ros2_ws/install/setup.bash
 $ ros2 run raspimouse raspimouse

 ros2 : command not found なぜか「ros2」コマンドが見つからないというエラーが出る。
 ros2を実行させるためには、「 source /opt/ros/dashing/setup.bash 」を実行すれば認識する。
 今回使用している「 source ~/ros2_ws/install/setup.bash 」との関係を調査する必要がある。

「 colcon 」での CMake エラーの為の様だ。