ROS2 セットアップチュートリアル
ROS2(英語) は、ROS の最新バージョンである Robot Operating System であり、ロボットアプリケーション用に設計されたライブラリとツールのセットです。
このチュートリアルでは、colcon(英語) で構築された ROS2 アプリケーションを開発するための IDE として CLion を使用する方法について説明します。 catkin ビルドツールを使用する古い ROS ディストリビューションを使用している場合は、 前のチュートリアルを参照してください。
以下の手順は Windows で次のプロシージャを示しています:ROS2 ワークスペースの作成、CLion でコンパイルデータベースプロジェクトとして開く、ビルド、パッケージの実行・デバッグ、別のパッケージの追加、およびワークスペースの再ビルド。
ROS2 環境を準備する
システムに ROS2 を インストール(英語)します。
ROS2 インストールの ソーシング(英語)が成功することを確認してください。 問題が発生した場合は、同じガイドのヒントに従ってください。
ワークスペースを作成する
例として、公式の シンプルなパブリッシャーとサブスクライバー (C++)(英語) ガイドを取り上げます。
管理者モードでターミナルを開きます。
ソース (英語)ROS2 インストール。 私たちの場合、コマンド
call C:\dev\ros2\ros2-windows\local_setup.bat新しいワークスペース用のディレクトリを作成し、そこに移動します
md \dev_ws\src cd \dev_ws\srcpublisher-subscriber パッケージを作成する
ros2 pkg create --build-type ament_cmake cpp_pubsub次の 手順(英語)に従って、ビルドするまで、ソースファイル CMakeLists.txt および package.xml を取得します。
この時点で、次のフォルダー構造になっています。
ターミナルでワークスペースを構築し、compilation database を生成する
CLion で ROS2 ワークスペースを開くことができるようにするために、 CMAKE_EXPORT_COMPILE_COMMANDS(英語) CMake フラグを使用して JSON コンパイルデータベースを生成します。
このオプションは、Makefile および Ninja ジェネレーターの CMake でのみサポートされているため、 -G を使用してジェネレーターを切り替える必要もあります。
最初に ROS2 インストールを入手したのと同じターミナルで、ワークスペースレベルのフォルダー(この場合は dev_ws )に移動し、実行します。
colcon build --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninjaビルドが終了したら、 dev_ws\build に compile_commands.json ファイルが含まれていることを確認してください。 存在しない場合は、colcon バージョンがワークスペースレベルのコンパイルデータベースの生成をサポートしていることを確認してください (この問題(英語)を参照)。
ソース環境で CLion を起動
同じターミナルで、ワークスペースセットアップファイルを入手します。
call install/setup.bat次に、同じシェルから CLion を起動します。 詳細については、 コマンドラインインターフェースを参照してください。
例: Toolbox を使用する場合、 IDE を起動するためのスクリプトを作成できます。 私たちの場合、 C:\IDE_shell_scripts にあります。
cd C:\IDE_shell_scripts\ clionその結果、CLion は ROS2 環境がすでに準備された状態で起動されます。
CLion でワークスペースを開く
CLion で、メインメニューから を呼び出し、最上位の build ディレクトリにある compile_commands.json ファイルを選択します:

プロジェクトとして開く をクリックします:

プロジェクトが正常にロードされたことを確認してください:

プロジェクトルートを変更する
デフォルトでは、CLions は compile_commands.json ファイルを含むディレクトリをプロジェクトルートと見なします。 私たちの場合、 build ディレクトリです。 プロジェクトツリーでは、実際のソースファイルは外部としてマークされています。

正しいプロジェクト構造を取得するには、プロジェクトルートを実際のワークスペースディレクトリに設定する必要があります。
メインメニューから を呼び出し、ワークスペースディレクトリ(この場合は dev_ws )を選択します。
プロジェクトビューで変更を確認してください:

この時点で、すべての CLion 編集機能がワークスペースソースで完全に利用可能になります。
パッケージの作成方法
CLion 内でパッケージをビルドして起動するために、 colcon build 中に実際に実行される CMake コマンドの カスタムビルドターゲットを作成し、そのターゲットの カスタムアプリケーション構成を作成します。
1。 'colconbuild' コマンドのスクリプトを作成する
ビルドログディレクトリに移動します。 私たちの場合、 C:\dev_ws\log\latest_build\cpp_pubsub です。 最新のビルドから command.txt ファイルを開きます。
コマンドを別のファイルにコピーして、次のように変更します。
"C:\Program Files\CMake\bin\cmake.EXE" C:\dev_ws\src\cpp_pubsub -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja -DCMAKE_INSTALL_PREFIX=C:\dev_ws\install\cpp_pubsub "C:\Program Files\CMake\bin\cmake.EXE" --build C:\dev_ws\build\cpp_pubsub -- -j8 -l8 "C:\Program Files\CMake\bin\cmake.EXE" --install C:\dev_ws\build\cpp_pubsubファイルを .bat スクリプトとして保存します。 この例では、 cmake_commands.bat と呼ばれ、 c:\dev_ws\src\cpp_pubsub\ に配置されます。
2。 カスタムビルドターゲットを作成する
CLion で、 に移動し、
をクリックして新しいターゲットを追加します。
ツールチェーン ~ Visual Studio を設定してください。 CLion での Visual Studio ツールチェーンの構成方法の詳細については、 Windows チュートリアルを参照してください。
ビルド フィールドの横にある 3 つのドットアイコンをクリックします。 次に、
をクリックして外部を追加します。
プログラム フィールドで、新しく作成したスクリプトを選択します。 作業ディレクトリ をパッケージビルドディレクトリに設定します。

カスタムターゲットを保存します。
3。 カスタムビルドターゲットの実行 / デバッグ構成を作成する
パッケージ用のターゲットをビルドして起動できるようにするには、対応する 構成を作成する必要があります。
メインメニューで に移動し、
をクリックして カスタムビルドアプリケーション を選択します。
構成設定で、 ターゲット を選択し、 起動前 領域から ビルド を必ず削除してください。

4。 パッケージを作成する
ツールバースイッチャーで構成を選択します:

ハンマーアイコンをクリックするか、 Ctrl + F9 を押します。 または、メインメニューから ビルド | ビルド ' ビルド cpp_pubsub' を呼び出します。
実行ツールウィンドウで結果を確認します。
パッケージを実行 / デバッグする
実行構成の編集 ダイアログを再度開きます。
ビルドの構成を次のように変更します。
実行可能ファイル を実際のパッケージバイナリに設定します。
管理者権限で実行する チェックボックスを選択します。 詳細については、 root としてデバッグを参照してください。

構成を保存すると、 実行
または デバッグ済み
する準備が整います。 すべての CLion デバッグおよび 動的解析機能がワークスペースコードで利用できます。
CLion は、ターゲットのツールチェーンからデバッガーを取得します。 私たちの場合、 MSVC LLDB です。
ワークスペースを構築する方法
次に、CLion で新しいパッケージを追加し、ワークスペース全体を再構築する方法を見てみましょう。 これを説明するために、 シンプルなサービスとクライアント(英語)パッケージを dev_ws ワークスペースに追加する例を取り上げます。
ワークスペース全体を構築する
ワークスペース全体を(再)構築するために、 colcon build の外部ツールを構成し、CLion を移動せずにそれを呼び出します。
に移動し、
をクリックして新しいツールを追加します。
コマンドラインからビルドするときに使用したのと同じ
colcon buildコマンドを実行するようにツールを構成します。
ツールを保存した後、メインメニューの 経由でツールを呼び出します。
実行ツールウィンドウで結果を確認します:

compile_commands.json が再生成され、両方のパッケージのエンティティが含まれていることを確認します:

必ず compilation database を再ロードしてください(Ctrl+Shift+O を押すか、メインメニューから を呼び出します)。 プロジェクトを手動で再ロードしないようにするには、 自動再ロードを構成するを使用します。
この時点で、両方のパッケージが CLion プロジェクトモデルに含まれており、通常どおりに操作できます。 2 番目のパッケージをビルドして実行するには、 上記の手順に従います。