【ROS2】初级:客户端-使用类中的参数(C++)

目标:使用 C++创建并运行一个带有 ROS 参数的类。

 教程级别:初学者

 时间:20 分钟

 目录

  •  背景

  •  先决条件

  •  任务

    • 1. 创建一个包

    • 2. 编写 C++ 节点

    • 3. 建立并运行

  •  摘要

  •  下一步

背景

在创建您自己的节点时,有时需要添加可以从启动文件设置的参数

这个教程将向您展示如何在 C++类中创建这些参数,以及如何在启动文件中设置它们。

先决条件

在之前的教程中,您学习了如何创建工作空间和创建软件包。您还了解了参数及其在 ROS 2 系统中的功能。

任务

1. 创建一个包

打开一个新的终端并且初始化您的 ROS 2 安装,这样 ros2 命令就会生效。

按照这些指示创建一个名为 ros2_ws 的新工作区。

请记住,包应该在 src 目录中创建,而不是在工作区的根目录中。导航到 ros2_ws/src 并创建一个新包:

cxy@ubuntu2404-cxy:~/ros2_ws/src$ ros2 pkg create --build-type ament_cmake --license Apache-2.0 cpp_parameters --dependencies rclcpp
going to create a new package
package name: cpp_parameters
destination directory: /home/cxy/ros2_ws/src
package format: 3
version: 0.0.0
description: TODO: Package description
maintainer: ['cxy <cxy@todo.todo>']
licenses: ['Apache-2.0']
build type: ament_cmake
dependencies: ['rclcpp']
creating folder ./cpp_parameters
creating ./cpp_parameters/package.xml
creating source and include folder
creating folder ./cpp_parameters/src
creating folder ./cpp_parameters/include/cpp_parameters
creating ./cpp_parameters/CMakeLists.txt

‍您的终端将返回一条消息,确认您的包 cpp_parameters 及其所有必要的文件和文件夹已创建。

--dependencies `参数将自动向` package.xml `和` CMakeLists.txt `添加必要的依赖行。

 1.1 更新 package.xml 

因为在创建包时您使用了 --dependencies 选项,所以您无需手动添加依赖项到 package.xml 或 CMakeLists.txt 。

一如既往,不过,请确保将描述、维护者电子邮件和姓名以及许可信息添加到 package.xml 。

<description>C++ parameter tutorial</description>
<maintainer email="you@email.com">Your Name</maintainer>
<license>Apache-2.0</license>

2. 编写 C++ 节点

在 ros2_ws/src/cpp_parameters/src 目录中,创建一个名为 cpp_parameters_node.cpp 的新文件,并将以下代码粘贴其中:

#include <chrono> // 包含chrono库,用于处理时间
#include <functional> // 包含functional库,用于使用函数对象
#include <string> // 包含string库,用于使用字符串类型


#include <rclcpp/rclcpp.hpp> // 包含rclcpp库,用于ROS 2节点的创建和管理


using namespace std::chrono_literals; // 使用std::chrono_literals命名空间,允许使用后缀ms表示毫秒


class MinimalParam : public rclcpp::Node // 定义一个MinimalParam类,继承自rclcpp::Node类
{
public:
  MinimalParam()
  : Node("minimal_param_node") // 构造函数,初始化节点名为&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值