服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 编程技术 - Clion ROS开发环境设置技巧

Clion ROS开发环境设置技巧

2020-08-19 00:35FlyingGod 编程技术

这篇文章主要介绍了Clion ROS开发环境设置技巧,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

在源环境中启动CLion

需要告知CLion ROS特定的环境变量。通过运行来源工作空间时,将在当前shell中检索这些变量

?
1
source ./devel/setup.bash

为CLion提供ROS环境变量的最简单方法是从同一个shell启动IDE。在获取工作空间后,您可以键入同一终端:

在CLion中打开一个ROS项目

在源环境中启动CLion后,执行以下操作之一以打开ROS项目:

  • 单击文件|打开并选择ROS工作区的src目录中的CMakeLists.txt,然后选择Open as Project。
  • 单击文件|来自Sources的新CMake项目,并选择工作区的src目录以从中导入项目。

该CMake的工具窗口会显示该项目加载的状态:

Clion ROS开发环境设置技巧

设置catkin工作空间的构建路径

默认情况下,CLion将构建输出放在自动创建的cmake-build-debug或cmake-build-release目录中。对于ROS开发,这意味着您将在CLion和运行的控制台中拥有两个不同的版本catkin_make。

要在IDE和控制台上进行单一构建,需要将CLion构建路径设置为catkin工作区目录。为此,请转到文件|设置Ctrl+Alt+S|构建,执行,部署|CMake并更改两个字段:

  • 在生成路径中,设置workspace_folder/build。
  • 在CMake选项中,添加-DCATKIN_DEVEL_PREFIX:PATH=workspace_folder/devel。

Clion ROS开发环境设置技巧

使用启动文件

您可以在CLion中将ROS节点作为常规应用程序运行和调试。

启动文件无法直接执行,但您可以使用XML语法突出显示和完成编辑它们,并将调试器附加到正在运行的节点。

将调试器附加到正在运行的节点

1、从命令行运行.launch文件。例如

您可以通过该rosnode list命令检查当前运行的节点列表。在我们的示例中,列表将包含talker和listener:

Clion ROS开发环境设置技巧

2、呼叫运行|从主菜单附加到处理或按Ctrl+Alt+F5。

3、通过其PID或名称连接到所需节点:

Clion ROS开发环境设置技巧

示例:创建基本ROS节点,在CLion中编辑并运行它

在这个例子中,我们将创建一个简单的ROS包,编辑源代码,并从CLion运行节点。我们将在Ubuntu 18.04上使用ROS Melodic,并在ROS wiki上使用编写简单发布者和订阅者(C ++)教程的基本发布者节点。

创建一个基本的ROS包

创建和构建ROS工作区:

?
1
2
mkdir -p ros_workspace/srccd ros_workspace
catkin_make

在工作区中,创建一个名为my_package的包:

?
1
2
cd src
catkin_create_pkg my_package roscpp rospy std_msgs

启动CLION

来源工作区:

?
1
cd ../../../source ./devel/setup.bash

并在同一终端启动CLion

?
1
sh /opt/clion-2018.2/bin/clion.sh

在CLion中打开包作为项目

在CLion中,转到File |打开并选择位于包文件夹内的CMakeLists.txt文件,然后选择将其作为项目打开:

Clion ROS开发环境设置技巧

添加源文件并编辑CMakeLists.txt

向项目添加新的源文件:右键单击Project树中的src,选择New |C / C ++源文件并将其命名为my_package.cpp。

将整个talker.cpp文件从Publisher和Subscriber教程复制到my_package.cpp中。

新创建的源添加到的CMakeLists.txt和链接其对应程序库:

?
1
2
add_executable(my_package src/my_package.cpp)
target_link_libraries(my_package ${catkin_LIBRARIES})

之后,重新加载CMake项目,并注意运行/调试配置列表中的my_package:

Clion ROS开发环境设置技巧

运行ROS节点

1、在从CLion运行节点之前,在新终端中打开ROS主站:

?
1
roscore

2、在CLion,运行Clion ROS开发环境设置技巧的my_package配置。运行工具窗口将显示节点输出:

Clion ROS开发环境设置技巧

3、在单独的终端中,检查当前活动的ROS主题。如果我们打印消息chatter,输出将类似于我们在CLion中看到的内容:

Clion ROS开发环境设置技巧

现在,如果我们Clion ROS开发环境设置技巧在CLion中停止应用程序,该rostopic echo /chatter命令将没有输出。

总结

到此这篇关于Clion ROS开发环境设置技巧的文章就介绍到这了,更多相关Clion ROS开发环境设置内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/flyinggod/p/12503014.html

延伸 · 阅读

精彩推荐
  • 编程技术简单、好懂的Svelte实现原理

    简单、好懂的Svelte实现原理

    本文会围绕一张流程图和两个Demo讲解,正确的食用方式是用电脑打开本文,跟着流程图、Demo一边看、一边敲、一边学...

    魔术师卡颂4822021-11-10
  • 编程技术用户态 Tcpdump 如何实现抓到内核网络包的?

    用户态 Tcpdump 如何实现抓到内核网络包的?

    在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包...

    开发内功修炼11612021-09-08
  • 编程技术AIOps,SRE工程师手中的利器

    AIOps,SRE工程师手中的利器

    AIOps开始成为一种极为重要的站点可靠性工程工具。它能够高效吸纳观察数据、参与数据以及来自第三方工具的数据,判断系统运行状态并保证其处于最佳...

    至顶网5962021-03-08
  • 编程技术从Context源码实现谈React性能优化

    从Context源码实现谈React性能优化

    这篇文章主要介绍Context的实现原理,源码层面掌握React组件的render时机,从而写出高性能的React组件,源码层面了解shouldComponentUpdate、React.memo、PureComponen...

    魔术师卡颂5312020-12-20
  • 编程技术真正聪明的程序员,总有办法不加班

    真正聪明的程序员,总有办法不加班

    工作效率提升了,就可以少加班了,聪明的程序员,总会有一堆可以提升编码效率的工具?当一种工具满足不了工作需求,就去探索新的,今天纬小创就给...

    今日头条12482021-03-04
  • 编程技术让开发效率倍增的 VS Code 插件

    让开发效率倍增的 VS Code 插件

    今天来分享一些提升开发效率的实用 VS Code 插件!Better Comments 扩展可以帮助我们在代码中创建更人性化的注释,有不同形式和颜色的注释供我们选择。 ...

    前端充电宝7132022-04-21
  • 编程技术Delphi - Indy idMessage和idSMTP实现邮件的发送

    Delphi - Indy idMessage和idSMTP实现邮件的发送

    这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    JJ_JeremyWu6592020-09-22
  • 编程技术2021年值得关注的React PDF 库

    2021年值得关注的React PDF 库

    今天,许多网络应用程序为其用户提供内置的PDF浏览选项。然而,选择一个并不容易,因为它们的功能远远超过显示PDF。在这篇文章中,我将评估5个React的...

    TianTianUp5222021-06-21