Qt配置ROS專案環境
一、前言安裝ros qt 外掛
ubuntu14.04 ros indigo
$ sudo add-apt-repository ppa:beineri/opt-qt571-trusty
$ sudo add-apt-repository ppa:levi-armstrong/ppa
$ sudo apt-get update && sudo apt-get install qt57creator-plugin-ros
ubuntu16.04 ros kinetic
$ sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial $ sudo add-apt-repository ppa:levi-armstrong/ppa $ sudo apt-get update && sudo apt-get install qt57creator-plugin-ros
2、在桌面建立新增ros相關依賴的QT快捷啟動方式
步驟:在桌面新建一個文件,名為Qt-ROS.desktop,貼上以下程式碼,注意bash -i -c後面應為你的qtcreator的安裝路徑,或在屬性中修改,如下圖:
[Desktop Entry] Exec=bash -i -c qtcreator %F Icon=QtProject-qtcreator Type=Application Terminal=false Name=Qt-ROS GenericName=Integrated Development Environment MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource; Categories=Qt;Development;IDE; InitialPreference=9
3、對桌面快捷啟動圖示右鍵選擇屬性如下圖
4、至此,便可直接開啟ROS中的catkin_ws,並對其中的package中的節點檔案進行編譯與執行!
用外掛的“新建專案”中的“Import ROS Workspace”選項不僅可以新建工作空間還可以匯入現有的工作空間,而“新建檔案”中的“ROS”下面的“Package”、“Basic Node”等選項可以建立package和和節點、launch檔案、urdf檔案等
現在我們來建立一個新的catkin工作空間,並且在裡面建立一個package
“檔案”——“新建檔案或專案”,選擇”Import ROS Workspace”——“choose”如上圖
然後填寫catkin工作空間的名字和位置,如下圖
然後填寫catkin工作空間的名字和位置
在“專案管理”步驟可以配置版本控制系統,我們選擇“完成”,如下圖
2)建立package
-
在catkin_new下面的src上右鍵單擊,選擇“新增新檔案”,如下圖
然後選擇“ROS”——“package”——“choose”
-
填寫package的名字,如test1
-
填寫作者(Authors)和維護者(Maintainers),如果你的Qt環境部沒有配置中文支援請不要用中文,否則無法新建package
-
或者新建的package裡面的package.xml會是空檔案
-
在“Dependencies”下的“Catkin”一欄填寫依賴,通常用C++寫節點需要新增對roscpp的依賴
-
如下圖
-
下一步,再點選完成
(3)新增新的節點
-
test1的src資料夾上右鍵單擊,選擇“新增新檔案”
選擇“ROS”——“Basic Node”——“choose”,建立一個節點,也就是新建一個.cpp檔案
節點名稱寫為“node1”,則生成一個名為node1.cpp的原始檔 ,(目錄選擇test1/src)
-
用ROS模板新建的node1.cpp的原始檔如下圖,是自動生成的一個Hello World程式
-
編譯節點,為test1的CMakeLists.txt加上下面幾行,意思是把node1.cpp編譯成名為node1的節點
-
再後面include_directories,新增
add_executable(node1 src/node1.cpp)
target_link_libraries(node1
${catkin_LIBRARIES}
)
-
如圖:
-
修改完CMakeLists.txt之後點選Qt左下角的錘子圖示“構建專案catkin_new”
-
點選底邊欄的“4 編譯輸出”可以看到編譯結果,如下圖
(4)執行節點
- 新終端,執行roscore
$roscore
-
點選左側蘭的“專案”,在“Build&Run”頁
-
測試時候無法選擇Packge和Target,不過可以手工填寫Arguments。也可以直接寫入執行的命令和引數。
-
點選左下角的“三角”執行