1. 程式人生 > >Qt配置ROS專案環境

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。也可以直接寫入執行的命令和引數。
    請輸入圖片描述

  • 點選左下角的“三角”執行
    請輸入圖片描述