Clion中创建ROS项目

目录

参考资料

使用CLion进行ROS开发的最全面配置细节

ROS:使用Clion创建ROS工程(二)

使用CLion开发ROS工程

Clion支持Ros项目

Clion官方:ROS setup tutorial

使用CLion调试ROS节点的正确方式/Clion如何调试ROS/调试ROS的方法

(入门篇)在Clion下进行ROS开发

学习SLAM:SLAM进阶(八):如何在Clion下配置ROS项目及Clion常用技巧

Clion官方教程

​ ROS(机器人操作系统)是一套为机器人应用设计的库和工具。它主要针对 C++和 Python 开发,并使用基于 CMake 的 Python 脚本构建系统。ROS 软件发行版适用于 Linux、Windows,也适用于 macOS 的实验模式。

​ 您可以使用 CLion 作为 ROS 项目的 IDE。本教程描述了如何设置工作流程,并给出了在 CLion 中创建 ROS 包及其操作的示例。请注意,此设置过程已在 Ubuntu 上测试过。

以下是一些可用于在 CLion 中进行 ROS 开发的第三方插件:ROS-Robot Operating SystemHatchery

Launch CLion in the sourced environment

​ CLion 需要知道ROS特定的环境变量。这些变量在您从工作空间目录运行以下命令source工作空间时,在当前 shell 中检索:

source ./devel/setup.bash

​ 最简单地向 CLion 提供 ROS 环境变量的方法是,从相同的shell启动IDE。在工作空间被source后,你可以在同一终端中输入:

sh <PATH_TO_CLION>/bin/clion.sh

Open a ROS project in CLion

在被source过的环境中启动 CLion 后,执行以下操作之一以打开您的 ROS 项目:

  1. Click File | Open and select CMakeLists.txt in the src directory of your ROS workspace, then choose Open as Project.
  2. Click File | New CMake Project from Sources and select the src directory of the workspace to import the project from.

CMake 工具窗口将显示项目加载状态:

image-20250227154032062

Set build paths to the catkin workspace

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

​ 为了在 IDE 和控制台之间有一个单一的build,您需要将 CLion 的构建路径设置为 catkin 工作空间的目录

为此,请转到文件 | 设置 | 构建、执行、部署 | CMake 并更改两个字段:

  1. In Build directory, set <WORKSPACE_DIRECTORY>/build.
  2. In CMake options, add -DCATKIN_DEVEL_PREFIX:PATH=<WORKSPACE_DIRECTORY>/devel.

上述设置其实很没必要,按照如下教程来:

image-20250227170130343

-DCMAKE_MODULE_PATH=/opt/ros/noetic/share/catkin/cmake 
-DCMAKE_PREFIX_PATH=/opt/ros/noetic -DCATKIN_DEVEL_PREFIX=devel -DCMAKE_INSTALL_PREFIX=bin 
# 构建目录设置为build

修改工具链

改成CMAKE的

Work with launch files

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

Launch文件不能直接执行,但您可以使用 XML 语法高亮自动完成功能编辑它们,并attach the debugger to a running node.。

Attach the debugger to a running node

1.从命令行运行.launch文件:

roslaunch roscpp_tutorials talker_listener.launch

​ 可通过 rosnode list 命令检查正在运行的节点列表。在我们的示例中,列表将包含 talkerlistener

image-20250227154853048

2.从主菜单上选择Run | Attach to Process或者按 Ctrl+Alt+F5

3.通过其名称或者PID进程号连接到所需节点:

image-20250227155037826

Example: create a basic ROS node, edit and run it in CLion

​ 在这个例子中,我们将创建一个简单的ROS软件包,编辑源代码,并从CLion运行节点。我们将使用Ubuntu 20.04上的ROS NoeticROS wiki上提供的“编写简单的发布者和订阅者(C++)”教程中的最基础的发布者节点。

Create a basic ROS package

1.创建并构建一个 ROS 工作空间:

mkdir -p clion_ros_test_ws/src
cd clion_ros_test_ws
catkin_make

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

cd src
catkin_create_pkg my_package roscpp rospy std_msgs

Launch CLion

1.source工作空间:

cd ../../../
source ./devel/setup.bash

2.在相同的终端启动Clion:

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

如果不使用命令行终端打开的话,需要修改Clion的快捷方式:

cd /usr/share/applications
sudo gedit jetbrains-clion.desktop
# 找到Exec选项,修改前:
Exec="/home/xxx/clion/bin/clion.sh" %f
# 修改后
Exec=bash -i -c "/home/xxx/clion/bin/clion.sh" %f

Open the package as a project in CLion

在 CLion 中, 通过File | Open 选择位于包文件夹中的CMakeLists .txt,然后选择将其作为项目打开。

image-20250227155644042

Add a source file and edit CMakeLists.txt

1.添加一个新的cpp文件到项目中,命名为my_package.cpp

2.复制整个talker.cpp file from the Publisher and Subscribermy_package.cpp

3.将新创建的cpp文件添加到CMakeLists.txt中,并将其链接到catkin库。

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

​ 然后重新加载Cmake项目,并且注意到my_packageRun/Debug配置列表中。

Run a ROS node

1.开一个终端运行ros主节点:

roscore

2.在Clion中运行my_package ,运行工具窗口将显示节点输出:

image-20250227160028047

3.在另一个终端中,检查当前活跃的 ROS 主题。如果打印来自主题chattermessages,可以看到类似在Clion中的输出

rostopic list
rostopic echo /chatter

image-20250227160056371

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

后厂村路小狗蛋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值