1. 程式人生 > 程式設計 >Clion ROS開發環境設定技巧

Clion ROS開發環境設定技巧

在源環境中啟動CLion

需要告知CLion ROS特定的環境變數。通過執行來源工作空間時,將在當前shell中檢索這些變數

source ./devel/setup.bash

為CLion提供ROS環境變數的最簡單方法是從同一個shell啟動IDE。在獲取工作空間後,您可以鍵入同一終端:

在CLion中開啟一個ROS專案

在源環境中啟動CLion後,執行以下操作之一以開啟ROS專案:

  • 單擊檔案|開啟並選擇ROS工作區的src目錄中的CMakeLists.txt,然後選擇Open as Project。
  • 單擊檔案|來自Sources的新CMake專案,並選擇工作區的src目錄以從中匯入專案。

該CMake的工具視窗會顯示該專案載入的狀態:

Clion ROS開發環境設定技巧

設定catkin工作空間的構建路徑

預設情況下,CLion將構建輸出放在自動建立的cmake-build-debug或cmake-build-release目錄中。對於ROS開發,這意味著您將在CLion和執行的控制檯中擁有兩個不同的版本catkin_make。

要在IDE和控制檯上進行單一構建,需要將CLion構建路徑設定為catkin工作區目錄。為此,請轉到檔案|設定Ctrl+Alt+S|構建,執行,部署|CMake並更改兩個欄位:

  • 在生成路徑中,設定workspace_folder/build。
  • 在CMake選項中,新增-DCATKIN_DEVEL_PREFIX:PATH=workspace_folder/devel。

Clion ROS開發環境設定技巧

使用啟動檔案

您可以在CLion中將ROS節點作為常規應用程式執行和除錯。

啟動檔案無法直接執行,但您可以使用XML語法突出顯示和完成編輯它們,並將偵錯程式附加到正在執行的節點。

將偵錯程式附加到正在執行的節點

1、從命令列執行.launch檔案。例如

您可以通過該rosnode list命令檢查當前執行的節點列表。在我們的示例中,列表將包含talker和listener:

Clion ROS開發環境設定技巧

2、呼叫執行|從主選單附加到處理或按Ctrl+Alt+F5。

3、通過其PID或名稱連線到所需節點:

Clion ROS開發環境設定技巧

示例:建立基本ROS節點,在CLion中編輯並執行它

在這個例子中,我們將建立一個簡單的ROS包,編輯原始碼,並從CLion執行節點。我們將在Ubuntu 18.04上使用ROS Melodic,並在ROS wiki上使用編寫簡單釋出者和訂閱者(C ++)教程的基本釋出者節點。

建立一個基本的ROS包

建立和構建ROS工作區:

mkdir -p ros_workspace/srccd 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中,轉到File |開啟並選擇位於包資料夾內的CMakeLists.txt檔案,然後選擇將其作為專案開啟:

Clion ROS開發環境設定技巧

新增原始檔並編輯CMakeLists.txt

向專案新增新的原始檔:右鍵單擊Project樹中的src,選擇New |C / C ++原始檔並將其命名為my_package.cpp。

將整個talker.cpp檔案從Publisher和Subscriber教程複製到my_package.cpp中。

新建立的源新增到的CMakeLists.txt和連結其對應程式庫:

add_executable(my_package src/my_package.cpp)
target_link_libraries(my_package ${catkin_LIBRARIES})

之後,重新載入CMake專案,並注意執行/除錯配置列表中的my_package:

Clion ROS開發環境設定技巧

執行ROS節點

1、在從CLion執行節點之前,在新終端中開啟ROS主站:

roscore

2、在CLion,執行Clion ROS開發環境設定技巧的my_package配置。執行工具視窗將顯示節點輸出:

Clion ROS開發環境設定技巧

3、在單獨的終端中,檢查當前活動的ROS主題。如果我們列印訊息chatter,輸出將類似於我們在CLion中看到的內容:

Clion ROS開發環境設定技巧

現在,如果我們Clion ROS開發環境設定技巧在CLion中停止應用程式,該rostopic echo /chatter命令將沒有輸出。

總結

到此這篇關於Clion ROS開發環境設定技巧的文章就介紹到這了,更多相關Clion ROS開發環境設定內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!