在VScode中配置ROS環(huán)境的詳細(xì)過(guò)程
準(zhǔn)備工作
首先在VScode中安裝ROS和catkin_tool插件


VScode快捷鍵說(shuō)明:
ctrl+shift+p:調(diào)出用于執(zhí)行命令的輸入框ctrl+shift+b:編譯
使用
1 創(chuàng)建工作空間
終端打開(kāi),在命令行:
mkdir -p ~/am_ws/src cd ~/am_ws/src catkin_init_workspace cd ~/am_ws catkin_make # 然后在~/.bashrc中設(shè)置ROS工作空間的環(huán)境變量
2 VScode打開(kāi)工作空間
打開(kāi)VScode,終端輸入:
code .
因?yàn)榘惭b了ROS插件,VScode會(huì)直接識(shí)別catkin環(huán)境,并且自動(dòng)生成.vscode文件夾,里面保含c_cpp_properties.json、settings.json 兩個(gè)文件。
其中:
c_cpp_properties.json主要是includePath參數(shù),當(dāng)有自定義頭文件時(shí),需要在其內(nèi)添加。setting.json主要是ROS使用python編程,python相關(guān)配置,以及其它配置。
3 創(chuàng)建功能包
- 方法一:終端
# 在src文件夾下 # catkin_create_pkg 【功能包的名稱(chēng)】 std_msgs rospy roscpp # 如: catkin_create_pkg my_test_pkg std_msgs rospy roscpp
- 方法二:VScode中創(chuàng)建
在左側(cè)資源管理器找到我們創(chuàng)建的工作區(qū)中的src文件夾,右鍵src選擇create catkin package。
- 彈出的第一個(gè)框(package name)填寫(xiě)你的功能包名稱(chēng),這個(gè)是自定義,如my_test_pkg;
- 彈出的第二個(gè)框(dependencies)填寫(xiě)用到的功能包名稱(chēng),如roscpp rospy std_msgs;
4 創(chuàng)建配置json文件
- 自動(dòng)生成的json文件
c_cpp_properties.json和settings.json自動(dòng)生成不需要修改。
tasks.json
按下ctrl + shfit + p輸入指令tasks: configure task,然后會(huì)下拉出許多,選擇catkin_make: build 會(huì)自動(dòng)生成tasks.json文件。
5 編寫(xiě)文件
在功能包的src下面創(chuàng)建cpp或者python文件,編寫(xiě)節(jié)點(diǎn)信息、話(huà)題信息等。
注意創(chuàng)建的文件如果無(wú)法運(yùn)行,可以右鍵-屬性-設(shè)為可執(zhí)行文件
6 修改功能包CMakeList.txt
如果是cpp文件,需要修改功能包CMakeList.txt,在其中添加以下內(nèi)容:
# add_executable(節(jié)點(diǎn)名稱(chēng) src/文件名稱(chēng).cpp)
add_executable(hello src/helloworld.cpp)
# target_link_libraries(節(jié)點(diǎn)名稱(chēng) ${catkin_LIBRARIES})
target_link_libraries(hello ${catkin_LIBRARIES})7 編譯
- 方法一:終端
catkin_make
- 方法二:VScode
執(zhí)行快捷鍵:ctrl+shift+b
8 運(yùn)行ROS MASTER
- 方法一:終端
roscore
方法二:VScode
執(zhí)行快捷鍵ctrl + shfit + p, 再輸入 ROS:START
9 運(yùn)行節(jié)點(diǎn)
- 方法一:終端
source devel/setup.bash rosrun test_pkg hello
- 方法二:VScode
在這里插入代碼片 ```bash 執(zhí)行快捷鍵ctrl + shfit + p 輸入ROS:Run a Ros executable 依次輸入創(chuàng)建的功能包的名稱(chēng)以及節(jié)點(diǎn)名稱(chēng)(即編譯成功后二進(jìn)制文件的名稱(chēng),注意不是文件名) ```
調(diào)試
快捷鍵ctrl+shift+d,新建launch.json文件:
(每次debug不同的文件,需要修改"program",可選修改 "name",也可以定義多個(gè)name這樣的結(jié)構(gòu)體)
{
"version": "0.2.0",
"configurations": [
{
"name": "my_dxl_node", // 自定義的名稱(chēng)
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/devel/lib/myDynamixel/my_dxl_node", // 需要debug的文件。注意是node名稱(chēng),不是文件名
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "catkin_make: build",//這里跟的是tasks.json文件中的定義,意在debug前進(jìn)行build操作
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
參考
關(guān)于json文件的配置,可以參考(不用特別配置就可以運(yùn)行的):
http://www.dbjr.com.cn/article/192889.htm
http://www.dbjr.com.cn/article/192888.htm
關(guān)于ros debug調(diào)試相關(guān)的,可以參考:
使用VScode搭建ROS開(kāi)發(fā)環(huán)境的教程詳解
ros項(xiàng)目調(diào)試:vscode下配置開(kāi)發(fā)ROS項(xiàng)目的詳細(xì)教程
到此這篇關(guān)于在VScode中配置ROS環(huán)境的文章就介紹到這了,更多相關(guān)VScode配置ROS環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
十分鐘內(nèi)學(xué)會(huì) 避免用戶(hù)刷新導(dǎo)致重復(fù)POST提交
在Web應(yīng)用中,采用POST提交信息是非常常見(jiàn)的,然而如果目標(biāo)頁(yè)面打開(kāi)得太慢,用戶(hù)就可能會(huì)刷新頁(yè)面,這時(shí)候之前已經(jīng)提交過(guò)的信息就會(huì)被重復(fù)提交。2009-08-08
git通過(guò)內(nèi)網(wǎng)代理訪問(wèn)外網(wǎng)的相關(guān)配置方法
這篇文章主要介紹了git通過(guò)內(nèi)網(wǎng)代理,訪問(wèn)外網(wǎng)的相關(guān)配置,配置git代理以http代理為例,給大家詳細(xì)講解,需要的朋友可以參考下2023-05-05
虛擬主機(jī)下實(shí)現(xiàn)多域名綁定不同的子目錄的方法
虛擬主機(jī)域名綁定子目錄asp php html (通用)2010-03-03
Git如何實(shí)現(xiàn)撤銷(xiāo)提交(命令行+IDEA)
這篇文章主要介紹了Git如何實(shí)現(xiàn)撤銷(xiāo)提交(命令行+IDEA)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
搭建websocket消息推送服務(wù),必須要考慮的幾個(gè)問(wèn)題
面對(duì)各種新場(chǎng)景對(duì)websocket功能和性能越來(lái)越高的需求,不同的團(tuán)隊(duì)有不同的選擇,下面給大家分享構(gòu)建websocket服務(wù)時(shí)必須要考慮的一些技術(shù)特性以及能顯著提高用戶(hù)體驗(yàn)的功能,感興趣的朋友跟隨小編一起看看吧2020-04-04

