環境:Ubuntu16.04+ROS Kinetic90
2018.8更新:經測試在安裝ros_qtc_plugin時,會同時安裝Qt5.9,因此可以直接安裝ros_qtc_plugin,然後進行第一步的(5)進行配置,而不需要額外安裝Qt。
一、安裝Qt5.10.1
下載鏈接:http://download.qt.io/archive/qt/
(1)選擇qt-opensource-linux-x64-5.10.1.run下載。
(2)前期準備,安裝GNU開發工具集和OpenGL開發庫。
sudo apt-get install build-essential libgl1-mesa-dev libevent-pthreads-2.0.5 doxygen xorg-dev
(3)打開終端,cd到qt-opensource-linux-x64-5.10.1.run的路徑下,並輸入下面命令安裝,可根據版本不同修改命令:
chmod+x qt-opensource-linux-x64-5.10.1.run
sudo ./qt-opensource-linux-x64-5.10.1.run
(4)按提示安裝,選上需求項。
(5)修改系統配置文件,選擇新版Qt Creator
sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
修改內容如下,根據自己安裝的qt路徑進行修改,如果文件空白,可以直接添加。
/opt/Qt5.10.1/5.10/gcc_64/bin
/opt/Qt5.10.1/5.10/gcc_64/lib
(6)修改Qt啓動器
找到qtcreater的快捷方式並找到其路徑,打開終端,cd到該路徑下並用gedit打開快捷方式,在絕對路徑前增加內容:bash -i -c。這步必須完成,否則無法編譯ROS工程。
圖標路徑(通常)
/usr/share/applications
修改前
Exec=/opt/qt59/bin/qtcreator %F
修改後
Exec=bash -i -c /opt/qt59/bin/qtcreator %F
二、配置ros_qtc_plugin
(1)下載安裝ros_qtc_plugin
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
安裝成功後,在新建項目的其他項目中可以看到ROS Workspace(注意Qt的版本要求最低爲Qt 5.5.0)
修改構建套件,新建套件並配置爲自己的套件,同時刪除CMake Configuration裏的 CMAKE_PREFIX_PATH,防止覆蓋系統中與其同名的值,完成設置後需將新建的套件設置爲默認套件。
刪除內容:
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
(2)新建工程
(1)qt creator中選擇其他項目中的ROS Workspace來新建工作空間。
(2)新建工作空間爲空,可以在src目錄下選擇新建文件,創建包(注意:需要在Catkin裏填寫依賴包)。
(3)在新建功能包中可以通過添加新文件創建節點。
(3)導入工程
打開終端,cd到工作空間的src目錄下,運行下面命令,修改CMakeList.txt狀態。
cd ~/catkin_ws/src
ls -l # Take note of the actual symlink target
sed -i '' CMakeLists.txt
ls -l # The symlink should have gone away
qt creator中選擇打開文件,選擇CMakeList.txt即可導入。
三、安裝配置ros-kinetic-qt-ros
ROS自帶功能包可以直接創建帶有Qt界面的package,方法爲通過catkin_create_qt_pkg命令創建,然後導入Qt中進一步修改爲適合自己的GUI節點。
安裝命令:
sudo apt-get install ros-kinetic-qt-ros
功能包創建命令:
cd qt_gui_ws/src/
catkin_create_qt_pkg gui_node
參考:
https://www.ncnynl.com/archives/201701/1277.html
https://blog.csdn.net/u013453604/article/details/52186375
https://ros-industrial.github.io/ros_qtc_plugin/_source/How-to-Install-Users.html