Clion ROS開(kāi)發(fā)環(huán)境設(shè)置技巧
在源環(huán)境中啟動(dòng)CLion
需要告知CLion ROS特定的環(huán)境變量。通過(guò)運(yùn)行來(lái)源工作空間時(shí),將在當(dāng)前shell中檢索這些變量
source ./devel/setup.bash
為CLion提供ROS環(huán)境變量的最簡(jiǎn)單方法是從同一個(gè)shell啟動(dòng)IDE。在獲取工作空間后,您可以鍵入同一終端:
在CLion中打開(kāi)一個(gè)ROS項(xiàng)目
在源環(huán)境中啟動(dòng)CLion后,執(zhí)行以下操作之一以打開(kāi)ROS項(xiàng)目:
- 單擊文件|打開(kāi)并選擇ROS工作區(qū)的src目錄中的CMakeLists.txt,然后選擇Open as Project。
- 單擊文件|來(lái)自Sources的新CMake項(xiàng)目,并選擇工作區(qū)的src目錄以從中導(dǎo)入項(xiàng)目。
該CMake的工具窗口會(huì)顯示該項(xiàng)目加載的狀態(tài):
設(shè)置catkin工作空間的構(gòu)建路徑
默認(rèn)情況下,CLion將構(gòu)建輸出放在自動(dòng)創(chuàng)建的cmake-build-debug或cmake-build-release目錄中。對(duì)于ROS開(kāi)發(fā),這意味著您將在CLion和運(yùn)行的控制臺(tái)中擁有兩個(gè)不同的版本catkin_make。
要在IDE和控制臺(tái)上進(jìn)行單一構(gòu)建,需要將CLion構(gòu)建路徑設(shè)置為catkin工作區(qū)目錄。為此,請(qǐng)轉(zhuǎn)到文件|設(shè)置Ctrl+Alt+S|構(gòu)建,執(zhí)行,部署|CMake并更改兩個(gè)字段:
- 在生成路徑中,設(shè)置workspace_folder/build。
- 在CMake選項(xiàng)中,添加-DCATKIN_DEVEL_PREFIX:PATH=workspace_folder/devel。
使用啟動(dòng)文件
您可以在CLion中將ROS節(jié)點(diǎn)作為常規(guī)應(yīng)用程序運(yùn)行和調(diào)試。
啟動(dòng)文件無(wú)法直接執(zhí)行,但您可以使用XML語(yǔ)法突出顯示和完成編輯它們,并將調(diào)試器附加到正在運(yùn)行的節(jié)點(diǎn)。
將調(diào)試器附加到正在運(yùn)行的節(jié)點(diǎn)
1、從命令行運(yùn)行.launch文件。例如
您可以通過(guò)該rosnode list命令檢查當(dāng)前運(yùn)行的節(jié)點(diǎn)列表。在我們的示例中,列表將包含talker和listener:
2、呼叫運(yùn)行|從主菜單附加到處理或按Ctrl+Alt+F5。
3、通過(guò)其PID或名稱連接到所需節(jié)點(diǎn):
示例:創(chuàng)建基本ROS節(jié)點(diǎn),在CLion中編輯并運(yùn)行它
在這個(gè)例子中,我們將創(chuàng)建一個(gè)簡(jiǎn)單的ROS包,編輯源代碼,并從CLion運(yùn)行節(jié)點(diǎn)。我們將在Ubuntu 18.04上使用ROS Melodic,并在ROS wiki上使用編寫(xiě)簡(jiǎn)單發(fā)布者和訂閱者(C ++)教程的基本發(fā)布者節(jié)點(diǎn)。
創(chuàng)建一個(gè)基本的ROS包
創(chuàng)建和構(gòu)建ROS工作區(qū):
mkdir -p ros_workspace/srccd ros_workspace catkin_make
在工作區(qū)中,創(chuàng)建一個(gè)名為my_package的包:
cd src catkin_create_pkg my_package roscpp rospy std_msgs
啟動(dòng)CLION
來(lái)源工作區(qū):
cd ../../../source ./devel/setup.bash
并在同一終端啟動(dòng)CLion
sh /opt/clion-2018.2/bin/clion.sh
在CLion中打開(kāi)包作為項(xiàng)目
在CLion中,轉(zhuǎn)到File |打開(kāi)并選擇位于包文件夾內(nèi)的CMakeLists.txt文件,然后選擇將其作為項(xiàng)目打開(kāi):
添加源文件并編輯CMakeLists.txt
向項(xiàng)目添加新的源文件:右鍵單擊Project樹(shù)中的src,選擇New |C / C ++源文件并將其命名為my_package.cpp。
將整個(gè)talker.cpp文件從Publisher和Subscriber教程復(fù)制到my_package.cpp中。
新創(chuàng)建的源添加到的CMakeLists.txt和鏈接其對(duì)應(yīng)程序庫(kù):
add_executable(my_package src/my_package.cpp) target_link_libraries(my_package ${catkin_LIBRARIES})
之后,重新加載CMake項(xiàng)目,并注意運(yùn)行/調(diào)試配置列表中的my_package:
運(yùn)行ROS節(jié)點(diǎn)
1、在從CLion運(yùn)行節(jié)點(diǎn)之前,在新終端中打開(kāi)ROS主站:
roscore
2、在CLion,運(yùn)行的my_package配置。運(yùn)行工具窗口將顯示節(jié)點(diǎn)輸出:
3、在單獨(dú)的終端中,檢查當(dāng)前活動(dòng)的ROS主題。如果我們打印消息chatter,輸出將類似于我們?cè)贑Lion中看到的內(nèi)容:
現(xiàn)在,如果我們在CLion中停止應(yīng)用程序,該rostopic echo /chatter命令將沒(méi)有輸出。
總結(jié)
到此這篇關(guān)于Clion ROS開(kāi)發(fā)環(huán)境設(shè)置技巧的文章就介紹到這了,更多相關(guān)Clion ROS開(kāi)發(fā)環(huán)境設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Fiddler?Everywhere?4.0.1的破解及禁止更新的方法(最新推薦)
Fiddler?Everywhere是個(gè)好東西,無(wú)論抓包還是調(diào)試接口都很好用,只是現(xiàn)在收費(fèi)了,為了白嫖就決定折騰一下,如果一開(kāi)始通過(guò)設(shè)置文件夾權(quán)限禁止更新,也會(huì)導(dǎo)致進(jìn)不了使用界面而無(wú)法使用,下面說(shuō)一下具體的解決過(guò)程2023-11-11如何使用?Merklized?抽象語(yǔ)法樹(shù)壓縮智能合約
Merklized?抽象語(yǔ)法樹(shù)?MAST(又名?Merklized?替代腳本樹(shù))是一種使用?Merkle?樹(shù)壓縮比特幣智能合約的技術(shù),這篇文章主要介紹了使用?Merklized?抽象語(yǔ)法樹(shù)壓縮智能合約,需要的朋友可以參考下2023-12-1212種最常用的網(wǎng)頁(yè)編程語(yǔ)言簡(jiǎn)介(值得收藏)
隨著網(wǎng)站的越來(lái)越普及,與Web相關(guān)的開(kāi)發(fā)技術(shù)持續(xù)熱門(mén),從開(kāi)始簡(jiǎn)單的html到復(fù)雜的web開(kāi)發(fā)語(yǔ)言asp、asp.net、php、jsp等等,在此,我就借助SEO馬龍博客的平臺(tái)跟大家簡(jiǎn)單的介紹一下常見(jiàn)的12種網(wǎng)頁(yè)編程語(yǔ)言2017-01-01大前端時(shí)代搞定PC/Mac端開(kāi)發(fā),我有絕招(收藏版)
這篇文章主要介紹了大前端時(shí)代搞定PC/Mac端開(kāi)發(fā),我有絕招,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07音視頻基本概念和FFmpeg的簡(jiǎn)單入門(mén)教程詳解
FFmpeg是一套可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開(kāi)源計(jì)算機(jī)程序??梢暂p易地實(shí)現(xiàn)多種視頻格式之間的相互轉(zhuǎn)換,這篇文章主要介紹了音視頻基本概念和FFmpeg的簡(jiǎn)單入門(mén),需要的朋友可以參考下2022-04-04Apifox?Echo學(xué)習(xí)curl?httpie?命令使用詳解
這篇文章主要為大家介紹了通過(guò)Apifox?Echo學(xué)習(xí)curl?httpie?命令使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09快速解決eclipse中注釋的代碼依然會(huì)執(zhí)行的問(wèn)題
下面小編就為大家?guī)?lái)一篇快速解決eclipse中注釋的代碼依然會(huì)執(zhí)行的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12