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 エラーの為の様だ。
今回インストールするパッケージは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 エラーの為の様だ。