ROS下基于Qt的人机交互开发(一)开发环境搭建

目录

一、Qt简介

二、Qt安装

1.通过apt安装

2.通过安装包安装

3.添加qtcreator到环境变量:

4.增加可执行权限:

5.终端运行Qt

二、创建Qt功能包

1.安装依赖

2.创建Qt功能包

3.例子:创建class1_ros_qt_demo功能包

4.配置功能包

 三、测试


一、Qt简介

Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(成为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

官网

特点:丰富的图像化界面,跨平台


二、Qt安装

1.通过apt安装

sudo apt-get install qtcreator

这种安装方式比较方便,比较快,但是存在一个问题:安装的软件版本是由软件仓库决定的,软件版本可能比较旧,而且使用过程中比较卡。

注:不推荐这种方式! 

2.通过安装包安装

1)安装包下载

推荐下载5.0以上版本的(本文下载5.9.9版本,后面代码分为通用和5.9.9版本安装)

注:".exe"为Windows版本

".dmg"为Mac版本

".run" 为Linux版本(下载这个

2)安装包添加可执行权限:

需要先进入安装包所在目录

cd xxx # xxx为安装包所在目录
chmod a+x qt-opensource-linux-x64-xxxx.run  #xxxx表示你下载的具体版本

5.9.9版本:

chmod a+x qt-opensource-linux-x64-5.9.9.run

 3)安装

双击安装包安装

注:要勾上“Desktop gcc 64-bit”

3.添加qtcreator到环境变量:

sudo nano /usr/bin/qtcreator

添加如下内容:

#!/bin/sh
export QT_HOME=/home/xxxx/Qtxxx/Tools/QtCreator/bin
$QT_HOME/qtcreator $*

注:

  1. “/home/xxxx/Qtxxx/Tools/QtCreator/bin”为你实际的安装目录:前面的xxxx为你的用户名,Qtxxx为Qt的版本号
  2. Ctrl+O:写入
  3. 写入后要回车确定
  4. Ctrl+X:退出

4.增加可执行权限:

sudo chmod a+x /usr/bin/qtcreator

5.终端运行Qt

qtcreator

二、创建Qt功能包

1.安装依赖

sudo apt-get install ros-melodic-qt-create
sudo apt-get install ros-melodic-qt-build

 注:若不是melodic版本,将melodic改成其他版本号即可

2.创建Qt功能包

catkin_create_qt_pkg 功能包名 依赖1 依赖2

3.例子:创建class1_ros_qt_demo功能包

mkdir -p ~/catkin_qt/src
cd ~/catkin_qt/src
catkin_create_qt_pkg class1_ros_qt_demo roscpp rviz
cd ~/catkin_qt
catkin_make

这里会编译出错:

这是因为功能包是支持Qt4版本的,而我们安装的是Qt5版本

4.配置功能包

更改CMakeLists.txt:

 注:是更改功能包class1_ros_qt_demo下的CMakeLists.txt,不是src目录下的。

1)设置包含当前目录

set(CMAKE_INCLUDE_CURRENT_DIR ON)

2)添加qt库

find_package(Qt5 REQUIRED Core Widgets)
set(QT_LIBRARIES Qt5::Widgets)

3)删除

rosbuild_prepare_qt4(QtCore QtGui)

4)更改

QT4_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES})
QT4_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
QT4_WRAP_CPP(QT_MOC_HPP ${QT_MOC})

将QT4改为QT5

QT5_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES})
QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS})
QT5_WRAP_CPP(QT_MOC_HPP ${QT_MOC})

此时编译仍会出错:

5)再次更改

cd ~/catkin_qt/src/class1_ros_qt_demo/include/class1_ros_qt_demo/
gedit main_window.hpp

将第15行的#include <QtGui/QMainWindow>中的QtGui改为QtWidgets

#include <QtWidgets/QMainWindow>

6)编译

cd ~/catkin_qt
catkin_make

 三、测试

1.打开一个新终端

2.设置环境变量

source ~/catkin_qt/devel/setup.bash

3.打开Qt项目

rosrun class1_ros_qt_demo class1_ros_qt_demo

 通过 ifconfig查看主机ip

sudo apt install net-tools #如果没有安装ifconfig
ifconfig

由上图可知,输入ip:http://127.0.0.1:11311/

注:“http://xxx.x.x.x:11311/”是固定格式

27.0.0.1是本机IP地址

 4.新建一个终端打开ROS主节点:

roscore

5.然后点击connect便可成功创建/chatter节点,进行通讯:

  • 12
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dtge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值