Ubuntu22.04上でROS2とQtCreatorを連携させる（インストール・準備編）

# はじめに
QtCreatorでROS Workspaceを使用できるようにしました。
日本語版の手順説明が見当たらなかったことに加え、もう１度別PCで同じことをするので、備忘録として残しておきます。

# 環境

[Ubuntu 22.04](https://www.releases.ubuntu.com/22.04/)  （ ISO ファイル：ubuntu-22.04.4-desktop-amd64.iso ）
[Qt Creator 13.0.0](https://account.qt.io/s/downloads)　（ Qt online installer for Linux x64 4.8.0 から入手）
ROS 2 : [Humble Hawksbill](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html) 

### Ubuntu 22.04

ISO ファイル（ubuntu-22.04.4-desktop-amd64.iso）は下記サイトから入手できます。

https://www.releases.ubuntu.com/22.04/

（VMware を使うなどして、）仮想環境を作成しても良いですし、不要な PC の OS を Ubuntu に移行しても良いです。仮想環境を作る方が簡単だとは思います。

### ROS 2 (Humble Hawksbill)

ROS 2 のインストールについては公式のページを参照してください。
公式ページに書いてあるコマンドを順に実行するだけで大丈夫です。

https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html

### Qt Creator

ここからオンラインインストーラーをダウンロードできます。
アカウントを持っていない方は作成してください。

https://account.qt.io/s/downloads

Qt online installer for Linux x64 4.8.0 (.run ファイル) をダウンロードします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/a247de8a-4133-3c56-f6af-994b50d778b4.png)

実行権限を与えてから実行します。

```txt:Commands
chmod +x ./<Download Path>/qt-online-installer-linux-x64-4.8.0.run
./<Download Path>/qt-online-installer-linux-x64-4.8.0.run
```

最低限、Qt Creator と Qt 6.x.x はインストールしてください。
なお、後からライブラリを追加することも可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/b2fd48df-8613-f6a7-119d-57c503a3af49.png)
▲ Qt 6.x.x の中から１つチェックを入れる

このまま Qt Creator を起動してもこんなエラーが出るはずです。

>From 6.5.0, **xcb-cursor0 or libxcb-cursor0 is needed** to load the Qt xcb platform plugin.
Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: wayland, vkkhrdisplay, minimalegl, eglfs, wayland-egl, linuxfb, xcb, minimal, vnc, offscreen.

libxcb-cursor0 をインストールするために以下のコマンドを実行します。
これによって Qt Creator が問題なく立ち上がるようになると思います。

```txt:Command
sudo apt install libxcb-cursor0
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/64315ff8-2ba8-164d-f7c9-0ca0687267ea.png)

# 1. ros_qtc_pluginの入手

ここから入手できます。
自分のQt Creatorに対応したバージョンを選択してください。

<details><summary>Qt Creator のバージョン 確認</summary>

Qt Creator のバージョンが分からない場合には、ヘルプ > Qt Creatorについて...  から確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/c6ce2b6e-863e-48e4-9a65-0da494755225.png)

-----

</details>

https://github.com/ros-industrial/ros_qtc_plugin/releases  

Ubuntuを使用しているので、**Linux-x86_64.zip**をダウンロードします。

:::note info
zipファイルの解凍は不要です。  
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/126198ae-b7de-e55d-bc40-f010959f1386.png)

# 2. zipファイルをpluginsディレクトリに移動する

先ほどダウンロードした.zipファイルをQtのpluginsディレクトリに移動します。
pluginsディレクトリは /Qt/Tools/QtCreator/lib/qtcreator の中にありました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/4e7a286d-c6f7-421a-e751-68569374fef3.png)

# 3. プラグインをインストールする

Qt Creatorを起動し、上部バーのヘルプタブから「プラグインについて」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/c6ce2b6e-863e-48e4-9a65-0da494755225.png)  

  
表示されたウィンドウ下部の「プラグインをインストールする...」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/273e935f-4bdb-c010-4783-96caf4481011.png)

参照から、先ほどpluginsディレクトリに移動した.zipファイルを選択します。
後は何度か「次へ」を選択するだけです。途中のLocation設定は好きにしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/1ae3f20c-9a1c-9012-f98c-34d5ed427f6f.png)

Qt Creator を再起動したのち、rosで検索すると、ROSProjectManagerが見つかるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/cab9531c-b46a-9738-71d3-344fe5db5200.png)

# 4. ROS Workspaceを作成する

いよいよプロジェクトを作成します。
画面左上  File > New Project を選択すると、別ウインドウが立ち上がります。 

「他のプロジェクト」の中にROS Workspaceが表示されるようになっているので、これを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/e353d12c-cb05-1ef1-cd8f-21c9147208a0.png)

プロジェクト名と使用するROSディストリビューション、ビルドシステム、プロジェクトのパスを選択します。プロジェクトを置くディレクトリはあらかじめ用意しておきました。
ROS2であれば、ビルドシステムはcolcon (コルコン) です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3607016/c3005cc7-ad41-c796-f44b-9fdfeca3cd00.png)

次へ を選択すると、git の追加ができます。ここでは省略します。
これで、Workspaceの作成が完了しました。
```<your project name>.workspace``` というファイルが確認できると思います。

-----

次回はトピック通信の実装を行います。

https://qiita.com/Yupopyoi/items/13a70ccb4d5fc1c982f5