Skip to content

Commit

Permalink
CRANE+ V2のチュートリアルにHumbleの情報を追加 (#34)
Browse files Browse the repository at this point in the history
  • Loading branch information
YusukeKato authored Sep 5, 2023
1 parent e74c9de commit 5e4db91
Show file tree
Hide file tree
Showing 4 changed files with 382 additions and 57 deletions.
104 changes: 75 additions & 29 deletions docs/cranev2/ros/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,52 +12,98 @@ robot: CRANE+ V2
* 設置済みCRANE+ V2本体
* [製品マニュアル](https://rt-net.jp/products/cranev2/)を読んで設置済みの状態を前提としています
* ノートパソコン等のPC
* OS(**Ubuntu Desktop 20.04**)がインストール済みであることを前提としています
* OS(**Ubuntu Desktop**)がインストール済みであることを前提としています
* `ROS 2 Humble`を使用する場合(推奨): **Ubuntu Desktop 22.04**
* `ROS 2 Foxy`を使用する場合(非推奨): **Ubuntu Desktop 20.04**

!!! info
`ROS 2 Foxy`は2023年6月にEOL(サポート終了)を迎えたため、`ROS 2 Humble`の使用を推奨しています。

## ROS 2のインストール(公式のドキュメントに沿って進める場合) {: #official-document}

=== "ROS 2"
=== "ROS 2 Humble(推奨)"

[https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html){target=_blank rel=noopener}
を参考に、`ROS 2 Humble`をインストールします。

GUIを使用する場合は`Desktop`を、 使用しない場合は`ROS-Base`パッケージをインストールします。

[https://docs.ros.org/en/humble/Tutorials/Colcon-Tutorial.html](https://docs.ros.org/en/humble/Tutorials/Colcon-Tutorial.html){target=_blank rel=noopener}
を参考に、パッケージビルドツールの`colcon`をインストールします。

[https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html){target=_blank rel=noopener}
を参考に、`ROS 2 Foxy`をインストールします。
=== "ROS 2 Foxy(非推奨)"

GUIを使用する場合は`Desktop`を、 使用しない場合は`ROS-Base`パッケージをインストールします。
[https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html](https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html){target=_blank rel=noopener}
を参考に、`ROS 2 Foxy`をインストールします。

[https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html](https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html){target=_blank rel=noopener}
を参考に、パッケージビルドツールの`colcon`をインストールします。
GUIを使用する場合は`Desktop`を、 使用しない場合は`ROS-Base`パッケージをインストールします。

[https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html](https://docs.ros.org/en/foxy/Tutorials/Colcon-Tutorial.html){target=_blank rel=noopener}
を参考に、パッケージビルドツールの`colcon`をインストールします。

## ROS 2のインストール(インストールスクリプトを使う場合) {: #install-script}

非公式のインストールスクリプトを使うことで簡単にROS 2をインストールできます。

=== "ROS 2"
=== "ROS 2 Humble(推奨)"

このROS 2インストールスクリプトは`curl`と`git`を使用します。以下のコマンドで
インストールします。

```sh
sudo apt install -y curl git
```

以下のコマンドでROS 2インストールスクリプトを実行します。
環境にもよりますが完了までは10分以上かかる場合があります。

```sh
git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git
cd ros2_setup_scripts_ubuntu
./ros2-humble-desktop-main.sh
```

スクリプトが問題なく実行できれば以下のメッセージが表示されます。

```txt
Success installing ROS humble
Run 'source ~/.bashrc'
```

以下のコマンドでインストールした設定を読み込みます。

```sh
source ~/.bashrc
```

=== "ROS 2 Foxy(非推奨)"

このROS 2インストールスクリプトは`curl``git`を使用します。以下のコマンドで
インストールします。
このROS 2インストールスクリプトは`curl`と`git`を使用します。以下のコマンドで
インストールします。

```sh
sudo apt install -y curl git
```
```sh
sudo apt install -y curl git
```

以下のコマンドでROS 2インストールスクリプトを実行します。
環境にもよりますが完了までは10分以上かかる場合があります。
以下のコマンドでROS 2インストールスクリプトを実行します。
環境にもよりますが完了までは10分以上かかる場合があります。

```sh
git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git
cd ros2_setup_scripts_ubuntu
./ros2-foxy-desktop-main.sh
```
```sh
git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git
cd ros2_setup_scripts_ubuntu
./ros2-foxy-desktop-main.sh
```

スクリプトが問題なく実行できれば以下のメッセージが表示されます。
スクリプトが問題なく実行できれば以下のメッセージが表示されます。

```txt
Success installing ROS foxy
Run 'source ~/.bashrc'
```
```txt
Success installing ROS foxy
Run 'source ~/.bashrc'
```

以下のコマンドでインストールした設定を読み込みます。
以下のコマンドでインストールした設定を読み込みます。

```sh
source ~/.bashrc
```
```sh
source ~/.bashrc
```

28 changes: 20 additions & 8 deletions docs/cranev2/ros/package-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,30 @@ robot: CRANE+ V2
* 設置済みCRANE+ V2本体
* [製品マニュアル](https://rt-net.jp/products/cranev2/)を読んで設置済みの状態を前提としています
* ノートパソコン等のPC
* OS(**Ubuntu Desktop 20.04**)がインストール済みであることを前提としています
* OS(**Ubuntu Desktop**)がインストール済みであることを前提としています
* `ROS 2 Humble`を使用する場合(推奨): **Ubuntu Desktop 22.04**
* `ROS 2 Foxy`を使用する場合(非推奨): **Ubuntu Desktop 20.04**
* ROS 2がインストール済みであることを前提としています
* [ROS 2のインストール手順](./install.md)を参照してください

## ROS 2パッケージのインストール {: #installation-binary}

=== "ROS 2"
=== "ROS 2 Humble(推奨)"

ノートパソコン等のPCに、
ROS 2パッケージ[rt-net/crane_plus](https://github.com/rt-net/crane_plus){target=_blank rel=noopener}
をインストールします。
ノートパソコン等のPCに、
ROS 2パッケージ[rt-net/crane_plus](https://github.com/rt-net/crane_plus){target=_blank rel=noopener}
をインストールします。

```sh
sudo apt install ros-foxy-crane-plus
```
```sh
sudo apt install ros-humble-crane-plus
```

=== "ROS 2 Foxy(非推奨)"

ノートパソコン等のPCに、
ROS 2パッケージ[rt-net/crane_plus](https://github.com/rt-net/crane_plus){target=_blank rel=noopener}
をインストールします。

```sh
sudo apt install ros-foxy-crane-plus
```
134 changes: 125 additions & 9 deletions docs/cranev2/ros/samples.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ robot: CRANE+ V2
* 設置済みCRANE+ V2本体
* [製品マニュアル](https://rt-net.jp/products/cranev2/)を読んで設置済みの状態を前提としています
* ノートパソコン等のPC
* OS(**Ubuntu Desktop 20.04**)がインストール済みであることを前提としています
* OS(**Ubuntu Desktop**)がインストール済みであることを前提としています
* `ROS 2 Humble`を使用する場合(推奨): **Ubuntu Desktop 22.04**
* `ROS 2 Foxy`を使用する場合(非推奨): **Ubuntu Desktop 20.04**
* ROS 2がインストール済みであることを前提としています
* [ROS 2のインストール手順](./install.md)を参照してください
* ROS 2用のパッケージがインストール済みであることを前提としています
Expand All @@ -36,16 +38,130 @@ sudo chmod 666 /dev/ttyUSB0

## ROS 2サンプルの実行 {: examples}

### gripper_control

=== "ROS 2"

次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)を起動します。
詳しい実行手順は[サンプル集のgripper_control](https://github.com/rt-net/crane_plus/tree/master/crane_plus_examples#gripper_control){target=_blank rel=noopener}
を参照してください。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0
```
次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)を起動します。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0
```

別のターミナルで次のコマンドを実行すると、CRANE+ V2のグリッパが開閉します。

```sh
ros2 launch crane_plus_examples example.launch.py example:='gripper_control'
```

別のターミナルで次のコマンドを実行すると、CRANE+ V2のグリッパが開閉します。
<img src="https://rt-net.github.io/images/crane-plus/gripper_control.gif" width="500">

```sh
ros2 launch crane_plus_examples example.launch.py example:='gripper_control'
```
### pose_groupstate

=== "ROS 2"

詳しい実行手順は[サンプル集のpose_groupstate](https://github.com/rt-net/crane_plus/blob/master/crane_plus_examples/README.md#pose_groupstate){target=_blank rel=noopener}
を参照してください。

次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)を起動します。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0
```

別のターミナルで次のコマンドを実行すると、CRANE+ V2が`home`と`vertical`の姿勢へ移行します。

```sh
ros2 launch crane_plus_examples example.launch.py example:='pose_groupstate'
```

<img src="https://rt-net.github.io/images/crane-plus/pose_groupstate.gif" width="500">

### joint_values

=== "ROS 2"

詳しい実行手順は[サンプル集のjoint_values](https://github.com/rt-net/crane_plus/blob/master/crane_plus_examples/README.md#joint_values){target=_blank rel=noopener}
を参照してください。

次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)を起動します。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0
```

別のターミナルで次のコマンドを実行すると、CRANE+ V2の各関節が一つずつ変化します。

```sh
ros2 launch crane_plus_examples example.launch.py example:='joint_values'
```

<img src="https://rt-net.github.io/images/crane-plus/joint_values.gif" width="500">

### pick_and_place

=== "ROS 2"

詳しい実行手順は[サンプル集のpick_and_place](https://github.com/rt-net/crane_plus/blob/master/crane_plus_examples/README.md#pick_and_place){target=_blank rel=noopener}
を参照してください。

次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)を起動します。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0
```

別のターミナルで次のコマンドを実行すると、CRANE+ V2がピックアンドプレース動作を行います。

```sh
ros2 launch crane_plus_examples example.launch.py example:='pick_and_place'
```

<img src="https://rt-net.github.io/images/crane-plus/pick_and_place.gif" width="500">

## ROS 2カメラサンプルの実行 {: camera_examples}

### aruco_detection

=== "ROS 2"

詳しい実行手順は[サンプル集のaruco_detection](https://github.com/rt-net/crane_plus/blob/master/crane_plus_examples/README.md#aruco_detection){target=_blank rel=noopener}
を参照してください。

次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)、カメラノードを起動します。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0 use_camera:=true video_device:=/dev/video0
```

別のターミナルで次のコマンドを実行すると、カメラ画像から物体に取り付けたマーカを検出し、CRANE+ V2がピックアンドプレースを行います。

```sh
ros2 launch crane_plus_examples example.launch.py example:='aruco_detection'
```

<img src="https://rt-net.github.io/images/crane-plus/aruco_detection.gif" width="500">

### color_detection

=== "ROS 2"

詳しい実行手順は[サンプル集のcolor_detection](https://github.com/rt-net/crane_plus/blob/master/crane_plus_examples/README.md#color_detection){target=_blank rel=noopener}
を参照してください。

次のコマンドでmove_group(`crane_plus_moveit_config`)とcontroller(`crane_plus_control`)、カメラノードを起動します。

```sh
ros2 launch crane_plus_examples demo.launch.py port_name:=/dev/ttyUSB0 use_camera:=true video_device:=/dev/video0
```

別のターミナルで次のコマンドを実行すると、カメラ画像から特定の色の物体を検出し、CRANE+ V2がピックアンドプレースを行います。

```sh
ros2 launch crane_plus_examples example.launch.py example:='color_detection'
```

<img src="https://rt-net.github.io/images/crane-plus/color_detection.gif" width="500">
Loading

0 comments on commit 5e4db91

Please sign in to comment.