运行环境:
系统的版本:Ubuntu16.04
ROS的版本:Kinetic
推荐几个国内的QT下载地址:
- 中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
- 清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/ 或https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.0/
- 北京理工大学:http://mirror.bit.edu.cn/qtproject/
- 中国互联网络信息中心:https://mirrors.cnnic.cn/qt/
安装QT从以上的镜像源下载,最好不要通过apt-get install 命令,通过该命令安装有可能版本不符合系统要求
下载qt-opensource-linux-xxxxxx.run,建议最好下载5.0以上版本如下所示:
1 安装QT
下载好QT软件源,首先在终端输入命令获取安装权限
chmod 777 qt-opensource-linux-xxxxxx.run
然后双击qt-opensource-linux-xxxxxx.run就可以实现QT安装
登录信息可以不填,选择skip跳过
安装路径可以选择和ROS的相同目录下/opt/Qt5.8.0
下面步骤比较重要,对于初学者不知道具体要安装什么内容最好选择全部打勾
其余在安装的过程中采用默认设置即可
安装好QT之后可以在应用程序->Qt5.9.1Creator打开QT软件
2 安装QT依赖库和创建QT功能包
依赖库:
$ sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial
$ sudo add-apt-repository ppa:levi-armstrong/ppa
$ sudo apt update && sudo apt install qt57creator
$ sudo apt install qt57creator-plugin-ros
创建QT功能包安装,用于创建ROS-QT GUI模板:
$ sudo apt-get install ros-kinetic-qt-create
$ sudo apt-get install ros-kinetic-qt-build
安装完依赖包在终端输入qtcreator-ros可以直接打开QT软件
$ qtcreator-ros
3 创建QT-ROS功能包,在建好的工作空间catkin_demo/src目录下创建QT-ROS功能包
$ cd ~/catkin_demo/src
$ catkin_create_qt_pkg qtros 依赖库1 依赖库2 .......依赖库n
catkin_create_qt_pkg命令用于创建带UI界面的QT-ROS功能包,依赖库根据需求填写例如:catkin_create_qt_pkg qtros std_msgs rospy roscpp
创建完功能包之后在工作空间下编译,到此建立了完整的功能包
$ cd ~/catkin_demo/
$ catkin_make
$ source devel/setup.bash //设置环境变量
4 启动QT建立工程
$ qtcreator-ros
(1) 输入上述命令打开QT界面,点击“New Project”添加项目,并选择Other Project->ROS Workspace
(2)点击“Choose”出现如下对话框,填写工作空间信息,"Name"为工作空间名称可以任意取一个名称,"Build System"选择CatkinMake,"Workspace Path"选择工作空间目录如"/root/catkin_demo"
(3)填写完工作空间的相关信息,在QT的左边栏可生成项目列表文件,demo下面的demo.workspace就是上一步所填写创建的工作空间,已经创建完成的功能包下次如果要打开功能包就不需要在点击“New Project”,而是直接点击“Open Project”然后添加catkin_demo目录下面的demo.workspace就可以打开整个功能包
(4)点击左下角的锤子图标对项目进行编译
(5)项目工程需要对运行环境进行相应的设置,点击左边"Project"出现如下界面,选择"Build & Run->Build"这里面的一般不需要重新设置采用默认就行,但是在"Build & Run->Run"需要添加可执行文件的路径,点击"Add"下拉单选中"Custon Executable",然后在"Executable"框中添加工作空间下面的可执行文件路径"/root/catkin_demo/devel/lib/qtros/qtros"
(6)打开终端输入命令roscore运行ROS,然后击左下角的绿色三角号图标运行项目,出现QT-ROS的ui界面如下所示:至此完成了QT-ROS项目的创建。但是项目运行跟Ros Master菜单里面的IP设置有关,如果不设置IP可以直接勾选Use environment variables然后点击右边的"Connect"项目成功运行,默认功能包的功能是向左边的列表框输出"hello world"。Ros Master菜单里面Ros Master Url 是从机的IP地址,Ros IP是本地计算机的IP地址,ROS系统可以实现远程多系统的交互运行,所以我们只需要设置正确的IP地址即可。由于这个是在本地计算机上运行不涉及从机,所以如果不勾选Use environment variables菜单,那么需要对IP进行重新设置才能运行,第一可以通过ifconfig命令查询本机的IP地址,然后把本机的IP地址拷贝到Ros Master Url和Ros IP里在点击"Connect"运行项目如下第二张图所示。第二是直接在Ros Master Url和Ros IP里填写回环地址127.0.0.1也可以成功运行如下第三张图所示。
5 项目运行设置
(1)在QT-ROS工程中F4快捷键可以实现.cpp文件与对应的头文件.hpp文件实现快速切换