ROS知识点总结
1、ROS功能包的目錄下不能有中文
?
2、
WorkSpace --- 自定義的工作空間|--- build:編譯空間,用于存放CMake和catkin的緩存信息、配置信息和其他中間文件。|--- devel:開發(fā)空間,用于存放編譯后生成的目標(biāo)文件,包括頭文件、動(dòng)態(tài)&靜態(tài)鏈接庫、可執(zhí)行文件等。|--- src: 源碼|-- package:功能包(ROS基本單元)包含多個(gè)節(jié)點(diǎn)、庫與配置文件,包名所有字母小寫,只能由字母、數(shù)字與下劃線組成|-- CMakeLists.txt 配置編譯規(guī)則,比如源文件、依賴項(xiàng)、目標(biāo)文件|-- package.xml 包信息,比如:包名、版本、作者、依賴項(xiàng)...(以前版本是 manifest.xml)|-- scripts 存儲(chǔ)python文件|-- src 存儲(chǔ)C++源文件|-- include 頭文件|-- msg 消息通信格式文件(話題通信,發(fā)送方---訂閱方)|-- srv 服務(wù)通信格式文件(服務(wù)通信,服務(wù)端,客戶端)|-- action 動(dòng)作格式文件|-- launch 可一次性運(yùn)行多個(gè)節(jié)點(diǎn) (launch文件)|-- config 配置信息|-- CMakeLists.txt: 編譯的基本配置
devel目錄下:
include:存放C++編譯生成的頭文件,my_mag和my_msg2是自己創(chuàng)建的兩個(gè)功能包
lib:存放C++生成的可執(zhí)行文件,Python對(duì)應(yīng)的依賴和可執(zhí)行文件。
??my_msg是自己創(chuàng)建的功能包名稱,里面存放C++的可執(zhí)行文件
??python2.7里面存放python相關(guān)的文件,包括依賴項(xiàng)等。
?
3、catkin_make編譯流程
首先去搜索src里面的每個(gè)功能包中是否有package.xml文件,如果有的話,就去執(zhí)行該目錄下的CMakeList.txt文件
?
4、ros搜索功能包的路徑
在主目錄下運(yùn)行 gedit .bashrc
可見在執(zhí)行source .bashrc的時(shí)候,會(huì)執(zhí)行 /opt/ros/melodic/setup.bash,庫的搜索路徑為 /opt/ros/melodic目錄下。
下面的ros_extern_package是自己創(chuàng)建的用來存放額外的功能包的目錄
?
5、VScode中相關(guān)配置
c_cpp_properties.json
主要是設(shè)置C++程序庫的搜索路徑
{"configurations": [{"browse": {"databaseFilename": "","limitSymbolsToIncludedHeaders": true},"includePath": ["/home/dk/ros_extern_package/devel/include/**","/opt/ros/melodic/include/**","/home/dk/ros_extern_package/src/vision_opencv/cv_bridge/include/**","/home/dk/ros_extern_package/src/ddynamic_reconfigure/include/**","/home/dk/ros_extern_package/src/eigen_stl_containers/include/**","/home/dk/ros_extern_package/src/vision_opencv/image_geometry/include/**","/home/dk/ros_test/src/my_msg/include/**","/home/dk/ros_extern_package/src/realsense-ros/realsense2_camera/include/**","/home/dk/ros_extern_package/src/geometry2/tf2/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_bullet/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_eigen/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_geometry_msgs/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_kdl/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_msgs/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_ros/include/**","/home/dk/ros_extern_package/src/geometry2/tf2_sensor_msgs/include/**","/home/dk/ros_extern_package/src/usb_cam/include/**","/usr/include/**","/home/dk/ros_test/devel/include/**"],"name": "ROS","cppStandard": "c++17"}],"version": 4
launch.json
args參數(shù)可以進(jìn)行設(shè)置
setting.json
可以設(shè)置python中import的搜索路徑,字體大小,行間距等參數(shù)
{"python.autoComplete.extraPaths": ["/home/dk/ros_extern_package/devel/lib/python2.7/dist-packages","/opt/ros/melodic/lib/python2.7/dist-packages","/home/dk/ros_test/devel/lib/python2.7/dist-packages"],"python.analysis.extraPaths": ["/home/dk/ros_extern_package/devel/lib/python2.7/dist-packages","/opt/ros/melodic/lib/python2.7/dist-packages","/home/dk/ros_test/devel/lib/python2.7/dist-packages"],"editor.fontSize":18,"window.zoomLevel":0.8,"editor.lineHeight": 27,"python.pythonPath": "/usr/bin/python"
}
總結(jié)
- 上一篇: 微信网名韩文名带翻译
- 下一篇: shell与 .sh文件与 .bash文