Ubuntu学习笔记3-安装并使用Qt-ros

Ubuntu学习笔记3-安装并使用Qt-ros

前言
为了将ROS集成到图形化界面中使用,所以通过使用Qt对其进行混合编程,文章借鉴于国外博客,链接如下:
Qt-ROS插件配置博客
由于虚拟机及过程复杂度考虑,本次测试使用的是Ubuntu18.04,对于Ubuntu20.04在后期再进行尝试。

安装Qt-ROS

前期准备
Ubuntu18.04系统
ROS Qt Creator离线插件

一、安装ROS
Ubuntu18.04对应的ROS版本为ros-Melodic,安装过程直接参考官网安装
ROS官网安装教程
其中,需要注意的为:对于构建包的依赖项,其相关网站在国内已经被屏蔽,因此需要进行一些特殊操作进行安装,总结为:
下载别人弄好的依赖项,将其导入本地,并将下载文件中的路径修改为本地文件目录。
具体步骤参照【向日葵骑士Faraday】的博客
解决构架包依赖项

二、安装带Ros插件的Qt
安装包如下:
离线包下载地址
随后无脑next安装即可。
打开Qt后新建项目即可看到ROS工作空间的创建
在这里插入图片描述

Qt-ROS的使用

笔者在前期ROS学习中一直使用的都是Ubuntu20.04+Vscode的方式进行编程,对于Qt,其实也是大同小异,不过步骤上有所差异,从使用上而言,感觉Qt其实更为直观(因为对于功能包及节点均可以直接点击创建)。
按照ROS的使用流程:
一、新建工作空间
直接直接新建项目,选择ROS工作空间,具体参照上图,需要注意的是,在新建工作空间的过程中,需要将编译工具选为CatkinMake,相信学过ROS的的都应该知道这是ROS的编译工具。
在这里插入图片描述

二、新建功能包
在新工作空间下,有着一个src目录,如果没有的,可以点击一下目录上方的过滤器并将其关闭即可。
1、右击src-》and new-》选择ROS功能包
在这里插入图片描述
填写功能包名,并在dependencies中的catkin中填写相关依赖
注意:此处还没有弄明白qt的依赖添加机制,也有可以他就是只能添加一个,建议添加roscpp,因为对于C++编程而言这是首当其冲的,至于其他的依赖后续可以自行在cmakelist和package中添加。

2、右击功能包中的src添加节点或者其他文件
注意:有可能在新建功能包后文件目录中并没有显示,此时可以编译一下然后关闭该工程,重新打开后即可显示,具体原因未解决,后续再看一下。
在这里插入图片描述
上图可见Qt对于ROS的支持还是不错的,该有的都可以直接模板创建,此处演示hello world选择普通的Basic Node创建一个节点。
在这里插入图片描述
填写文件name后默认代码如下,该代码可以再控制台输出Hello world!文本
对于Qt-ros 的运行有两种方式,一种是直接使用控制台进行运行,但是这种方法未免有点浪费IDE了,因此可以直接使用QtCreator进行ROS代码运行,但是需要配置一下。
在这里插入图片描述
按序点击项目、Run、添加一个运行配置,然后点击Add Run Step添加ROS Run Step,可以自行选择功能包和节点,也可以手动输入。
配置完成后可以直接点击左下方的三角进行运行ROS程序,在下方添加ROS Terminals可以查看运行结果
在这里插入图片描述
在这里插入图片描述

结尾

至此,QT配置ROS的基本使用完成,后续对于rivz的集成与其他再慢慢进行探索优化。
Qt卸载:进入Qt安装目录下运行:

./MaintenanceTool

更新 2022/9/20

终于弄清楚了在创建功能包时一次添加多个依赖的方法。
首先,在创建完成ROS项目后(即工作空间),通过查看对应的项目文件夹,可以发现工程中并没有src文件夹,这是致命的,因为ros的所有功能包都是放在工作空间的src目录下,因此,我们需要在文件夹中创建src文件夹,或者直接右击Qt中的src打开终端也行
在这里插入图片描述
随后在终端输入以下命令初始化编译ROS工作空间

catkin_make

生成完成以后,即可开始功能包的添加,此处添加多个依赖的方法为:依赖之间使用英文输入法的逗号分隔
在这里插入图片描述

完成结果如下:
在这里插入图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值