兩個半月攢了些Autoware和Apollo r3.0.0和一些opensource的標定&硬件同步代碼,修改融合爲一個所謂自動駕駛的功能包,在最後的UI集成時候,感覺沒有這個必要,爲了不白白浪費調研花費的時間,總結一下。
一、qt開發ros的開發環境搭建
二、幾個簡單DEMO流程註釋
三、簡單的Qt相關總結(yaml生成列表、RVIZ lib使用、去掉ROS 實現通信等)
四、Autoware的runtime manager(wxPython總結)
一、qt開發ros的開發環境搭建
因爲主要是爲了開發UI所以qt ide下開發ros的那個插件並沒有用,那個是開發package比較方便。
平常用的ide有:clion、Qt creater、pycharm、vscode
除了pycharm是寫py的其他對CMake支持的都比較好
首先QT Creater使用導入CMakeLists.txt來組織別人已有工程
之後呢在編譯的時候會提示路徑設置找不到cmake,需要在右邊的“項目”選項中設置CMake的路徑,需要將CMAKE_PREFIX_PATH設置爲 /opt/ros/kinetic目錄,點擊下面應用會自動重新組織工程。之後重點在於CMake文件怎麼寫,稍後介紹。
Clion的組織方式:
Clion官網有詳細步驟:https://www.jetbrains.com/help/clion/ros-setup-tutorial.html
別處轉載:https://www.jianshu.com/p/ccbcc717c395
1.上jetbrain官網下載clion,切記是linux版,按照官網安裝
2.進入ros的catkin的工作空間,一般來說是~/catkin_ws/
3.執行 source devel/setup.bash (這一步我一般是source 三遍)
4.cd src進入到~/catkin_ws/src 目錄下,在此打開clion
5.運行clion.sh (根據每個人安裝clion的目錄不同,運行的命令行也不同),比如我的clion.sh目錄是在/opt/clion-2017.3.1/bin/clion.sh 下,那麼我這一步的運行命令就是/opt/clion-2017.3.1/bin/clion.sh
6.clion點擊Import Project from Sources
然後選擇~/catkin_ws/src目錄,這樣可以加載該目錄下所有的已經存在的ROS項目
切記第四步在~/catkin_ws/src/下運行clion
加載完項目之後,運行如果遇到頭文件找不到,例如 ros/ros.h no such file
試試把CMakeLists.txt文件中
include_directories(${catkin_INCLUDE_DIRS})
放在catkin_package()那一行的後面
還有個小技巧:如何讓clion只編譯目錄下的某一個或者幾個包
在上面配置的情況下,你可能會發現每次修改完CMakeList文件都要把你所有的ROS項目重新build一遍,
如果你想只make一個或者幾個項目可以選擇下面這個方法
在clion中找到 File->Settings->Build,Execution,Deployment->CMake
在CMake options 那一行中添加-DCATKIN_WHITELIST_PACKAGES="pkg1"
pkg1 是你的package名稱
如果想make多個包,用分號;間隔,類似這樣-DCATKIN_WHITELIST_PACKAGES="pkg1;pkg2"