ROS セットアップチュートリアル
ROS(英語) (ロボットオペレーティングシステム) は、ロボットアプリケーション用に設計されたライブラリとツールのセットです。 主に C++ および Python の開発を対象とし、Python スクリプトを使用した CMake に基づく catkin(英語) ビルドシステムを使用します。 ROS ソフトウェア ディストリビューション(英語)は、Linux、Windows、実験モードで macOS で利用できます。
CLion は ROS プロジェクトの IDE として使用できます。 このチュートリアルでは、ワークフローを設定する方法と、ROS パッケージを作成して CLion で操作する例を示します。 このセットアップ手順は Ubuntu でテストされていることに注意してください。
ソース環境で CLion を起動
CLion には、ROS 固有の環境変数を通知する必要があります。 これらの変数は、ワークスペースディレクトリから次のコマンドを実行して ワークスペースを調達(英語)するときに、現在のシェルで取得されます。
CLion に ROS 環境変数を提供する最も簡単な方法は、 同じシェルから IDE を起動します です。 ワークスペースが読み込まれたら、同じターミナルに入力できます。
CLion で ROS プロジェクトを開く
ソース環境で CLion を起動したら、次のいずれかを実行して ROS プロジェクトを開きます。
をクリックし、ROS ワークスペースの src ディレクトリで CMakeLists.txt を選択し、 プロジェクトとして開く を選択します。
をクリックし、プロジェクトをインポートするワークスペースの src ディレクトリを選択します。
CMake ツールウィンドウ にプロジェクトのロード状況が表示されます:

catkin ワークスペースへのビルドパスを設定する
デフォルトでは、CLion は自動的に作成される cmake-build-debug または cmake-build-release ディレクトリにビルド出力を配置します。 ROS 開発では、CLion と catkin_make を実行するコンソールの 2 つの異なるビルドがあることになります。
IDE とコンソールで共通のビルド には、CLion ビルドパスを catkin ワークスペースディレクトリに設定する必要があります。 これを行うには、 に移動して 2 つのフィールドを変更します。
ビルドディレクトリ では、 <WORKSPACE_DIRECTORY>/build を設定します。
CMake のオプション に
-DCATKIN_DEVEL_PREFIX:PATH=<WORKSPACE_DIRECTORY>/develを追加します。
起動ファイルを操作する
CLion では、ROS ノードを通常のアプリケーションとして 実行および デバッグできます。
Launchファイルは直接実行できませんが、XML 構文ハイライトや補完を使って編集でき、実行中のノードに デバッガーを接続できます。
実行中のノードにデバッガーを接続する
コマンドラインから .launch ファイルを実行します。 たとえば
roslaunch roscpp_tutorials talker_listener.launchrosnode listコマンドで現在実行中のノードのリストを確認することができます。 この例では、リストにはtalkerとlistenerが含まれます:
メインメニューから を呼び出すか、 Ctrl+Alt+F5 を押してください。
PID または名前で目的のノードに接続します:

サンプル: 基本的な ROS ノードを作成し、CLion で編集して実行する
この例では、単純な ROS パッケージを作成し、ソースコードを編集して、CLion からノードを実行します。 Ubuntu 18.04 で ROSMelodic を使用し、 ROS wiki(英語) で利用可能な 簡単なパブリッシャーとサブスクライバを書く (C++)(英語) チュートリアルの基本的な パブリッシャーノードを使用します。
基本的な ROS パッケージを作成する
ROS ワークスペースを作成してビルドする:
mkdir -p ros_workspace/src cd ros_workspace catkin_makeワークスペースで、 my_package というパッケージを作成します。
cd src catkin_create_pkg my_package roscpp rospy std_msgs
CLion を起動
ワークスペースのソース:
cd ../../../ source ./devel/setup.bash同じターミナルで CLion を起動します:
sh /opt/clion-2018.2/bin/clion.sh
CLion のプロジェクトとしてパッケージを開く
CLion で、メインメニューの ファイル | オープン に移動し、パッケージフォルダー内にある CMakeLists .txt ファイルを選択し、それをプロジェクトとして開くことを選びます:

ソースファイルを追加して CMakeLists.txt を編集する
プロジェクトに新しいソースファイルを追加します。Project ツリーで src を右クリックし、 を選択して my_package.cpp と名付けます。
talker.cpp(英語) ファイル全体を パブリッシャーとサブスクライバー(英語)チュートリアルから my_package.cpp にコピーします。
新しく作成されたソースを CMakeLists.txt に追加し、 catkin ライブラリに対して リンク(英語)します。
add_executable(my_package src/my_package.cpp) target_link_libraries(my_package ${catkin_LIBRARIES})その後、CMake プロジェクトを 再ロードし、Run/Debug 設定のリストの中の my_package に注目してください。

ROS ノードの実行
CLion からノードを実行する前に、新しいターミナルで ROS マスタを開きます。
roscoreCLion で、
を使って my_package 構成を実行します。 実行ツールウィンドウ はノードの出力を表示します:

別のターミナルで、現在アクティブな ROS トピックを確認します。
chatterからのメッセージを出力すると、出力は CLion で表示されるものと同様になります。
ここで、CLion でアプリケーションを停止すると、
rostopic echo /chatterコマンドは出力されなくなります。