搭建ROS & CLion开发环境

本文介绍如何在CLion中搭建ROS2开发环境,包括安装和配置ROS插件,创建和导入工作空间,运行和调试节点,以及运行launch文件的方法。同时也提供了不使用插件的原生CLion支持的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

翻译自http://wiki.ros.org/IDEs#CLion,有小改动
更新:搭建ROS2 & CLion开发环境

1. 插件

目前CLion有三个积极维护的ROS插件:

  • Hatchery
  • ROS-Robot Operating System
  • ROS Support

2. 使用ROS-Robot Operating System插件

*注意:我使用的CLion版本为2020.3,该版本可以兼容ROS-Robot Operating System插件,后续新版本CLion可能出现与插件不兼容的情况,在Marketplace中无法搜索到该插件。

2.1 安装

打开CLion。
File | Settings | Plugins | Marketplace,搜索ROS-Robot Operating System安装。
重启CLion。

2.2 设置插件

安装之后,在File | Settings | Build, Execution, Deployment中出现ROS config配置,可以使用它来配置安装在计算机中的ROS版本。插件会自动找到安装在默认位置/opt/ros中的版本,所以通常插件已经准备好使用了。如果在不同的位置中安装了ROS,请按带有ROS图标的按钮以将其添加到插件中。

2.3 使用插件

2.3.1 创建新的工作空间

File | New Project菜单将显示新的选项:ROS workspace。你需要从中选择一个ROS版本。

2.3.2 导入已有的工作空间

File | Import ROS workspace,选择工作空间。在这种情况下,插件将根据选定的ROS版本对项目进行配置。

2.4 运行和调试节点

CLion自动为项目中的每个CMake target创建Run/Debug配置。对于自动创建的配置,CLion直接从CMakeLists.txt的target描述中获取target和executable。要查看、更改和创建更多配置,点击Run | Edit configurations
你可以通过各种Build操作同时或单独build/rebuild target。选择所需的配置,并将其作为CLion的常规application(或者一个单元测试)进行运行或调试。注意,你可能需要提前在终端中运行roscore。

2.5 运行launch文件

可以使用run/debug配置窗口运行.launch文件。在这种情况下,当执行launch文件时,插件将环境设置为你在执行source devel/setup.bash之后应该拥有的环境。

3. 原生CLion的支持(不使用ros插件)

(一个更详细一点的教程可见这里。)

3.1 启动CLion

sh PATH_TO_CLION/bin/clion.sh

3.2 打开/导入项目

方法一:
File | Open 在工作区的src目录中选择CMakeLists.txt文件
如果你正在使用catkin_tools,并且工作区中没有顶级的CMakeLists.txt,那么请使用特定包的CMakeLists.txt并“Open as project”。
方法二:
File | Import 选择工作区或功能包的src目录来导入项目。

CLion会将你的ROS项目视为常规的CMake项目。

3.3 配置build路径

默认情况下,CLion将build输出放在cmake-build-debug或cmake-build-release目录中,这些目录是自动创建的。对于ROS开发,这意味着在CLion和控制台中有两个不同的build版本。
要让CLion和控制台共享同一个build,你需要将CLion的build路径指向catkin工作区目录。进入File | Settings | Build, Execution, Deployment | CMake,并更改两个字段:

  • Build directory字段:改为workspace_folder/build
  • CMake options字段:追加-DCATKIN_DEVEL_PREFIX:PATH=workspace_folder/devel

3.4 运行和调试节点

CLion自动为项目中的每个CMake target创建Run/Debug配置。对于自动创建的配置,CLion直接从CMakeLists.txt的target描述中获取target和executable。要查看、更改和创建更多配置,点击Run | Edit configurations
你可以通过各种Build操作同时或单独build/rebuild target。选择所需的配置,并将其作为CLion的常规application(或者一个单元测试)进行运行或调试。注意,你可能需要提前在终端中运行roscore。

3.5 使用launch文件

launch文件不能在CLion中直接执行,但是可以使用XML语法高亮显示和完善它们,还可以将CLion debugger附加到运行的节点上。

  • 将launch文件作为XML文件进行编辑,包含代码突出显示和导航功能:File | Settings | Editor | File Types | Recognized File Types选择XML,在File Name Patterns列表中添加*.launch扩展名。
  • 将debugger附加到运行节点:从命令行运行launch文件,并获得所需节点的名称或PID。Run | Attach to Process选择该节点。调试过程将像往常一样启动。
### 如何搭建和配置 ROS2 开发环境 #### Clion 配置 ROS2 的方法 Clion 是一款功能强大的 C++ IDE,可以通过特定的配置来支持 ROS2 的开发。以下是关于如何在 Clion 中配置 ROS2 的相关内容: - 安装 Clion 后,在项目设置中需要指定编译器路径以及工具链[^2]。 - 使用 `CMake` 文件作为项目的构建系统,并确保其版本兼容 ROS2 所需的标准[^1]。 对于具体的调试流程: - 设置断点并运行目标节点时,可以在 Clion 的终端界面直接启动对应的 `.launch.py` 文件或者单独执行某个可执行文件。 #### VSCode 集成开发环境的支持 除了 Clion 外,VSCode 也是一个非常流行的轻量级编辑器,它通过丰富的插件生态能够很好地适配 ROS2 的需求[^3]。下面列举了一些推荐安装的扩展及其作用: - **Python**: 提供 Python 脚本语法高亮、Linting 和 IntelliSense 功能; - **C/C++**: 增强对 C++ 编程语言的支持,包括智能感知、格式化等功能; - **ROS**: 此插件专门为简化 ROS/ROS2 工作流设计,比如快速跳转到消息定义处等操作变得简单快捷; 另外还需要注意的是,由于不同操作系统可能存在差异化的依赖关系处理方式,所以在实际动手之前最好查阅官方文档确认最新指南。 ```python import rclpy from rclpy.node import Node class MinimalPublisher(Node): def __init__(self): super().__init__('minimal_publisher') self.publisher_ = self.create_publisher(String, 'topic', 10) timer_period = 0.5 # seconds self.timer = self.create_timer(timer_period, self.timer_callback) def main(args=None): rclpy.init(args=args) minimal_publisher = MinimalPublisher() rclpy.spin(minimal_publisher) # Destroy the node explicitly minimal_publisher.destroy_node() rclpy.shutdown() if __name__ == '__main__': main() ``` 此代码片段展示了创建一个简单的发布者的例子,这有助于理解整个框架结构是如何工作的。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值