ROS之QtCreator开发环境搭建

2023-11-13

系统环境

操作系统:Ubuntu20.04
ROS版本:Noetic

官方教程

按照官方教程或者下面笔记中的内容均能进行环境搭建,笔记中另外做了部分补充

安装

说明:目前最新版本是Ubuntu18.04版本,不过在Ubuntu20.04上仍然可以正常安装使用

  1. 下载安装包
    打开官方链接,下载推荐的安装包
    在这里插入图片描述

  2. 软件安装
    进入到下载好的安装文件目录下,先设置权限,然后运行可执行文件
    在这里插入图片描述
    运行后启动安装程序,界面如下图所示,随后一路“下一步”直到安装完成
    在这里插入图片描述

  3. 确认安装无误
    搜索QtCreator启动图标并启动软件,可以添加到收藏夹方便后续使用
    在这里插入图片描述
    依次打开“文件”–>“新建文件或项目”–>“其他项目”,出现如图所示的内容即安装无误
    在这里插入图片描述

卸载

进入到QtCreator的安装目录,执行./MaintenanceTool命令即可打开卸载程序,勾选“删除所有组件”,点击“下一步”,在新的弹出窗口中点击“卸载”即可完成卸载
在这里插入图片描述

使用

导入工作空间

如果已有工作空间,可以直接按照下面的部步骤导入,没有工作空间的话先进行创建

mkdir -p ros_test_ws/src
cd ros_test_ws
catkin_make

依次选择“文件”–>“新建文件或项目”–>“其他项目”–>“ROS Workspace”
在这里插入图片描述
点击“Choose”后,在窗口中输入需要的内容,注意这里的构建系统选择CatkinMake,工作空间路径即为上面创建的工作空间目录
在这里插入图片描述
导入完成后即会显示项目结构目录,如果没有出现src文件夹,点击图片所示的过滤器按钮,取消有关隐藏选项的勾选
在这里插入图片描述

构建与运行

在导入完成工作空间后,点击左下方的“构建项目”按钮即可对项目进行编译,在编译输出窗口也可以看到相关的编译信息
在这里插入图片描述
此时点击“运行”按钮还没有作用,因为还没有指定可执行程序,需要进行一些配置
在这里插入图片描述
先来使用ROS自带的小乌龟程序来进行测试,依次选择“项目”–>“Run”,点击“添加”下拉按钮,选择ROS Run Configuration,点击“Add Run Step”下拉按钮,选择ROS Run Step,在新窗口中选择小乌龟程序的包名和节点名
在这里插入图片描述
先在终端执行roscore命令启动ROS主程序,然后点击“运行”按钮,此时可以看到小乌龟程序已经启动了,上面的添加执行步骤中除了添加节点,也可以添加launch文件或者其他选项,并且可以同时启动多个
在这里插入图片描述
此时可以在ROS终端窗口查看当前节点的运行情况,默认下方的工具栏中是没有ROS Terminals这个选项的,可以通过如图片中的双三角按钮来根据需要添加或删除下方工具栏中的选项。其实这里执行的程序和当前的工作空间并没有什么关系,与在系统终端中运行该节点没什么区别,后面我们来自己添加测试程序
在这里插入图片描述

编写测试程序

右键“src”目录,选择“Add New…”,然后选择“ROS”–>“Package”–>“Choose”,创建ROS包
在这里插入图片描述
在弹窗中根据需要输入相关信息,这里输入了名称和依赖项(注意这里添加多个依赖项时使用逗号隔开而并非像终端里一样使用空格隔开,否则后面编译时会报错,生成的包目录也不对),点击“下一步”,然后点击“完成”即可完成ROS包的创建。如果创建完成后,工程目录下没有显示刚创建的包,右键项目名称,关闭项目,然后重新打开项目即可显示刚才创建的ROS包,ROS插件在这一块好像是有这个小bug
在这里插入图片描述
现在来添加一个测试节点,右键上面创建的ROS包“helloworld“下面的“src”,选择“Add New…”,然后选择“ROS”–>“Basic Node”–>“Choose”
在这里插入图片描述
在弹窗中输入节点名称,点击“下一步”,然后在新窗口点击“完成”即可完成节点的创建
在这里插入图片描述
节点创建完成后已经自动生成了基础代码,通过上面的方式也可以创建发布节点、订阅节点、launch文件等等,也都会自动生成基础代码,非常方便
在这里插入图片描述
修改CMakeLists.txt,共修改两处,(1)取消136行的注释,第二个参数修改为上面创建的节点文件名称,第一个参数为节点名称的映射,可以自行定义,(2)取消149-151行的注释,第一个参数修改为节点映射的名称。PS:add_executable是对于构建之后要创建的可执行文件的选项,图片中内容是引用src/hello.cpp文件生成hello_node可执行文件
在这里插入图片描述
先来点击左下角的构建按钮来构建一下,确认可以编译通过,如果代码有错误,编译输出窗口会有编译错误的提示
在这里插入图片描述
下面来配置运行选项,设置方法和上面运行小乌龟程序的方法一样,可以像上面一样选择包名和节点名,也可以像下面图片中一样在参数行输入
在这里插入图片描述
在运行之前记得先启动下roscore,此时点击“运行”按钮即可在ROS终端中看到上面编写节点的运行信息了,按照上面的步骤也可以编写运行发布节点、订阅节点、launch文件等等
在这里插入图片描述
☝ ★★★ — 返回 《ROS机器人开发笔记汇总》总目录 — ★★★ ☝

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS之QtCreator开发环境搭建 的相关文章

  • 如何在 Intellij Idea 12 中重命名/移动项目?

    就像声明的那样here http link sheidaei com mozcw人们可以更改项目的名称 但是 它仅更改项目名称 不会更改文件夹结构 例如 如果您的项目名为sample1并且位于 user1 development IdeaP
  • 如何在浏览模式下禁用 RStudio 中的查看模式

    Is there a way to disable the View mode in RStudio when debugging functions 代码示例 myfun lt function browser myfun 我知道它不开放
  • 在 Eclipse 中突出显示修改的行

    在 netbeans 中 如果我打开一个受版本控制的文件 则修改的行会在左侧突出显示 绿色表示新行 蓝色表示修改行 在Eclipse中是否可以得到类似的效果 打开首选项窗口 搜索 差异 选择快速差异 将 使用此参考源 更改为 SCM 提供程
  • qt项目如何设置安装路径

    我正在寻找与 qmake configure prefix 等效的内容 基本上 我想覆盖默认的安装 部署目录 这是如何用命令行 qmake 指定的 我还使用 QtCreator 构建了很多 gui 项目 并且我想知道如何在 QtCreato
  • 防止 Visual Studio Code 或 IDE 泄露 Python 类私有方法

    只是想问一个简单的问题 本质上 我想知道是否可以从 Visual Studio Code 或其他 IDE 提供的建议列表中隐藏 Python 类私有方法 例如 假设我们有一个类 A Creating a class class A Decl
  • QtCreator 调试暂停停在代码而不是汇编处

    如何配置 QtCreator 以便在调试并按下暂停时它会显示当前正在处理的代码 现在显示汇编 无法在任何地方找到有关此问题的答案 我使用的是 Windows 7 我在 Ubuntu 16 04 中使用 Qt Creator 4 2 2 时遇
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • 如何忽略 Pydev Eclipse 中特定的未定义变量

    我正在使用 Eclipse 和 Pydev 插件在 Windows 上编写跨平台 python 脚本 该脚本利用os symlink and os readlink 如果当前平台不是 NT 则使用方法 自从os symlink and os
  • Oo 任何 IDE 中的 javascript 代码补全

    你知道有什么IDE可以自动完成这种代码吗 我这里有一个 javascript 类生成器 function var core bind function method scope if method instanceof Function t
  • BRISK 特征检测器检测零个关键点

    下面显示的 Brisk 探测器没有给我任何关键点 有人可以提出一个问题吗 我将尝试用一些代码解释我在下面所做的事情 include opencv2 features2d features2d hpp using namespace cv u
  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • 在 VS2008 的 XAML 编辑器中禁用 Intellisense?

    有没有办法在 Visual Studio 2008 的 XAML 编辑器中禁用 Intellisense 打字时通常会消耗很大的性能 有时我会等待十秒或更长时间 直到列表自动弹出 似乎在 选项 gt 文本编辑器 gt XAML 中 Inte
  • 有关 HTML 和 PHP 开发工具的帮助

    我是网络开发新手 我有使用原始 HTML 的经验 使用记事本 但我计划为我的最后一年项目制作一个网站 我之前曾就其想法提出过问题 现在我需要一些开发部分的帮助 我可以使用哪种工具来设计网站 请建议一些易于使用且功能强大的工具 利用这些工具我
  • 是否有一个“轻型版本”IntelliJ IDEA 可以在没有项目的情况下编辑文件?

    可以从命令行在单个文件上调用 IntelliJ IDEA 如此处所述 将 IntelliJ IDEA 作为 Diff 或合并命令行工具运行 https www jetbrains com help idea running intellij
  • Eclipse:C/C++ 插件下载链接?

    我下载了 Eclipse 3 5 1 的 Java EE 版本 我现在可以使用它通过适当的插件来编辑 C C 吗 我去了Help gt gt 安装新软件但我不知道使用哪个 URL 来获取 C C 插件 我在 Eclipse 网站上也找不到它
  • 为什么注释以“//!”开头Qt Creator 中的颜色为蓝色?

    Qt Creator 通常将注释标记为绿色 但我在 Qt 示例中看到蓝色注释 并且 Qt Creator 似乎将每个以 穿蓝色衣服 这是一个示例屏幕截图 这是某种约定吗 蓝色代表什么 It s a Doxygen 评论 http www g
  • 为 PlayStation 3 Linux 开发 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣开发软件索尼 PlayStation 3 http en wikipedia org wiki
  • 如何在 QT 中绘制点?

    我正在用 QT 用 C 编写一个应用程序 其中有 n 个点并计算它的凸包 然而 一旦计算出来 我不知道如何绘制点并绘制船体的边界 制作菜单按钮等很简单 但我不确定我是否知道执行此操作的工具 你怎么做到这一点 图形视图 addEllipse
  • 操作系统和元操作系统有什么区别

    最近听到这个词元操作系统当我学习ros时 你能帮我区分一下吗操作系统 and 元操作系统 ROS 是什么和不是什么最好的解释是这张纸 http www robotics stanford edu ang papers icraoss09 R
  • 是否可以配置CLion来独立编译项目中的源文件?

    我目前正在使用 JetBrains CLion IDE 用 C 语言进行一些 Project Euler 挑战 当我用 Python 和 Java 分别用 PyCharm 和 IntelliJ 完成这些任务时 我总是能够创建一个名为 Pro

随机推荐

  • VS调试:函数断点与数据断点

    断点 是Debug过程中最常用的功能 关于断点VS还有很多高级功能 本文使用的是VS2017 介绍函数断点与数据断点的使用场景以及使用方法 1 普通断点 普通断点是最常接触的断点 VS中 在代码行左边栏灰色区域点击 或者把光标放在某代码行按
  • 使用Python编写Maya脚本插件批量导入Obj文件

    最近开发中遇到需要使用Python语言编写Maya脚本 要求使用脚本选择某一磁盘路径 脚本根据路径自动导入路径与子目录下的所有OBJ文件 并重命名它们 在Maya中 有自带的脚本编辑器供我们使用 这使得我们编写代码非常轻松 打开脚本编辑器
  • Installation did not succeed. The application could not be installed: INSTALL_FAILED_USER_RESTRICTED

    当我们第一次在我们的手机上 也就是物理设备上 运行我们的写好的安卓应用程序时可能会报以下错误 Session app Installation did not succeed The application could not be ins
  • 互斥锁的实现细节

    首先 一个互斥锁要实现什么功能 一个互斥锁需要有阻塞和唤醒功能 实现阻塞和唤醒功能需要哪些要素 需要有一个标记锁状态的state变量 需要记录哪个线程持有了锁 需要有一个队列维护所有的线程 另外 state和队列中为了实现线程安全都用到了C
  • Java - 将base64编码解码成图片

    为了方便测试 我们可以使用一个图片编码网站 将图片进行base64编码 解密的代码如下 public static String generateImage String base64 String path 解密 try String s
  • 计算机视觉(十六):目标检测概述

    1 什么是目标检测 目标检测 Object Detection 的任务是找出图像中所有感兴趣的目标 物体 确定它们的类别和位置 例子 确定某张给定图像中是否存在给定类别 比如人 车 自行车 狗和猫 的目标实例 如果存在 就返回每个目标实例的
  • 配置哨兵监控Redis运行情况

    Redis的主从架构 如果master发现故障了 还得手动将slave切换成master继续服务 手动的方式容易造成失误 导致数据丢失 那Redis有没有一种机制可以在master和slave进行监控 并在master发送故障的时候 能自动
  • 动态链接库(二)--动态链接库的创建

    开发环境 系统 Win10企业版 64位 vs版本 Microsoft Visual Studio 2010 版本10 0 Dll项目创建 为从头了解dll项目中各文件的来源 这里暂不使用vs新建项目列表中的动态链接库 DLL 向导 选择创
  • OJDBC8 12.2.0.1下载

    一 进入oracle官网 注册oracle账户 登入oracle官网 二 在oracle官网找到ojdbc8的下载地址 地址如下 https www oracle com database technologies jdbc ucp 122
  • The Backus-Naur Form (BNF) & The Extended Backus-Naur Form (EBNF)

    The Backus Naur Form BNF The Backus Naur Form BNF is a notation used for formal description of the syntax of programming
  • Web前端学习(四)HTML5语义化标签

    语义化 语义化实际上就是将用一些标签使浏览器能够识别到标签含义 比如什么时候使用标题标签 什么时候使用段落标签 适当的使用这些标签使浏览器能够识别到标签的含义 并作出相应的响应 语义化标签 段落标签 p p p 段落文本 p 新开始一段文字
  • Mac电脑配置李沐深度学习环境[pytorch版本]使用vscode

    文章目录 第一步 M1芯片安装Pytorch环境 安装Miniforge 创建虚拟环境 安装Pytorch 第二步 下载李沐Jupyter文件 第三步 配置vscode 参考 第一步 M1芯片安装Pytorch环境 安装Miniforge
  • [视频学习] 寻根探源话佛教

    根源篇 印度 延續篇 緬甸 穿越興都庫什山脈 延續篇 泰國 05 END 延續篇 中國
  • Windows Server 2012 AD DS环境下域用户自动加入本地管理员组

    刚加入域控 需求 域用户加入域之后 此用户的域账号自动加入本地管理员组 我们的Server2012是一台域控制器 然后再找一台Win 7做客户机 把域用户加入本地管理员组 使用的就是 用户配置首选项中 本地用户和组 用于将登录帐号自动加入本
  • 选择正确的C/C++ Runtime Library

    解决下面的编译 链接问题过程中 有一些新的认识 warning LNK4049 locally defined symbol error LNK2001 unresolved external symbol 本文意在总结 讨论的中心自然也正
  • 查看和修改AWR配置

    有时遇到系统遇到复杂问题 处理周期长 需要保留系统的快照周期 便于分析问题 这时 需要延长延长快照时间周期 默认一般是一周时间 一 查看当前AWR配置 10g版本中默认是保留7天 11g版本中默认保留8天 采集间隔是1小时 这个信息可以从D
  • java.net.SocketException四大异常解决方案

    java net SocketException如何才能更好的使用呢 这个就需要我们先要了解有关这个语言的相关问题 希望大家有所帮助 那么我们就来看看有关java net SocketException的相关知识 第1个异常是 java n
  • 疯壳Android嵌入式Linux平板开发教程3-4亮度及音量调节

    购买链接 https fengke club GeekMart su fHnaDyD1o jsp 视频地址 https fengke club GeekMart su f5W0Cuz3p jsp 官方QQ群 457586268 音量调节 点
  • [人工智能-深度学习-40]:英伟达GPU CUDA 编程框架简介

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121220362 目录 第1章 什么C
  • ROS之QtCreator开发环境搭建

    文章目录 系统环境 官方教程 安装 卸载 使用 导入工作空间 构建与运行 编写测试程序 系统环境 操作系统 Ubuntu20 04 ROS版本 Noetic 官方教程 按照官方教程或者下面笔记中的内容均能进行环境搭建 笔记中另外做了部分补充