ROS知识点总结
1、ROS功能包的目錄下不能有中文
?
2、
WorkSpace --- 自定義的工作空間|--- build:編譯空間,用于存放CMake和catkin的緩存信息、配置信息和其他中間文件。|--- devel:開發空間,用于存放編譯后生成的目標文件,包括頭文件、動態&靜態鏈接庫、可執行文件等。|--- src: 源碼|-- package:功能包(ROS基本單元)包含多個節點、庫與配置文件,包名所有字母小寫,只能由字母、數字與下劃線組成|-- CMakeLists.txt 配置編譯規則,比如源文件、依賴項、目標文件|-- package.xml 包信息,比如:包名、版本、作者、依賴項...(以前版本是 manifest.xml)|-- scripts 存儲python文件|-- src 存儲C++源文件|-- include 頭文件|-- msg 消息通信格式文件(話題通信,發送方---訂閱方)|-- srv 服務通信格式文件(服務通信,服務端,客戶端)|-- action 動作格式文件|-- launch 可一次性運行多個節點 (launch文件)|-- config 配置信息|-- CMakeLists.txt: 編譯的基本配置
devel目錄下:
include:存放C++編譯生成的頭文件,my_mag和my_msg2是自己創建的兩個功能包
lib:存放C++生成的可執行文件,Python對應的依賴和可執行文件。
??my_msg是自己創建的功能包名稱,里面存放C++的可執行文件
??python2.7里面存放python相關的文件,包括依賴項等。
?
3、catkin_make編譯流程
首先去搜索src里面的每個功能包中是否有package.xml文件,如果有的話,就去執行該目錄下的CMakeList.txt文件
?
4、ros搜索功能包的路徑
在主目錄下運行 gedit .bashrc
可見在執行source .bashrc的時候,會執行 /opt/ros/melodic/setup.bash,庫的搜索路徑為 /opt/ros/melodic目錄下。
下面的ros_extern_package是自己創建的用來存放額外的功能包的目錄
?
5、VScode中相關配置
c_cpp_properties.json
主要是設置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參數可以進行設置
setting.json
可以設置python中import的搜索路徑,字體大小,行間距等參數
{"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"
}
總結
- 上一篇: 微信网名韩文名带翻译
- 下一篇: shell与 .sh文件与 .bash文