当前位置: 首页 > wzjs >正文

发表评论的wordpress网站模板广西桂林自驾游最佳线路推荐

发表评论的wordpress网站模板,广西桂林自驾游最佳线路推荐,域名批量查询注册,超链接html代码操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 ROS版本:2 在ROS 2中,参数(Parameters)是节点配置的重要方式。它们允许用户在运行时调整节点的行为,而无需重新编译代码或重启节点…
  • 操作系统:ubuntu22.04
  • IDE:Visual Studio Code
  • 编程语言:C++11
  • ROS版本:2

在ROS 2中,参数(Parameters)是节点配置的重要方式。它们允许用户在运行时调整节点的行为,而无需重新编译代码或重启节点。参数可以是各种数据类型,如整数、浮点数、字符串等,并且支持动态设置和获取。

参数的基本概念

  • 参数服务器:在ROS 2中,每个节点都有自己的参数服务器,这意味着参数是与特定节点关联的。
  • 参数类型:支持多种数据类型,包括整型(int)、浮点型(float/double)、布尔型(bool)、字符串(string)以及数组(array)等。
  • 参数作用域:参数分为全局参数和局部参数(私有参数)。私有参数以节点名称作为前缀,用于防止命名冲突并限定其使用范围。

如何在节点中使用参数

以下是如何在ROS 2 C++节点中声明、获取和设置参数的基本步骤:

  1. 声明参数

在你的节点类中,通过declare_parameter方法来声明参数。你可以在构造函数中完成这一操作。

#include "rclcpp/rclcpp.hpp"class MinimalParamNode : public rclcpp::Node {
public:MinimalParamNode() : Node( "minimal_param_node" ){// 1. 声明参数this->declare_parameter( "counter_start", 0 );}
};
  1. 获取参数值

你可以使用get_parameter方法来获取已声明参数的值。

this->get_parameter("counter_start", example_param_value);

或者更简洁的方式:

int example_param_value = this->get_parameter("counter_start").as_int();
  1. 动态设置参数

使用ROS 2命令行工具ros2 param set可以动态地修改正在运行中的节点参数值。

例如,在终端中运行如下命令来更改example_param的值:

ros2 param set /minimal_param_node counter_start 100
  1. 监听参数变化

如果你想监听某个参数的变化并在变化时执行特定操作,可以使用add_on_set_parameters_callback注册回调函数:

auto callback = [ this ]( const std::vector< rclcpp::Parameter >& params ) {auto result       = rcl_interfaces::msg::SetParametersResult();result.successful = true;for ( const auto& param : params ){if ( param.get_name() == "counter_start" ){RCLCPP_INFO( this->get_logger(), "参数变更: %s = %d", param.get_name().c_str(), param.as_int() );}}return result;};// 3. 添加回调callback_handle_ = this->add_on_set_parameters_callback( callback );

使用示例

下面是一个完整的例子,展示了如何在一个简单的ROS 2节点中使用参数:

class MinimalParamNode : public rclcpp::Node {
public:MinimalParamNode() : Node( "minimal_param_node" ){// 1. 声明参数this->declare_parameter( "counter_start", 0 );// 2. 注册回调auto callback = [ this ]( const std::vector< rclcpp::Parameter >& params ) {auto result       = rcl_interfaces::msg::SetParametersResult();result.successful = true;for ( const auto& param : params ){if ( param.get_name() == "counter_start" ){RCLCPP_INFO( this->get_logger(), "参数变更: %s = %d", param.get_name().c_str(), param.as_int() );}}return result;};// 3. 添加回调callback_handle_ = this->add_on_set_parameters_callback( callback );}private:OnSetParametersCallbackHandle::SharedPtr callback_handle_;
};int main( int argc, char* argv[] )
{rclcpp::init( argc, argv );CCUTIL::set_logger_save_directory( "logs" );CCUTIL::set_log_level( CCUTIL::LogLevel::Debug );INFO( "==========main===========" );auto node = std::make_shared< MinimalParamNode >();rclcpp::spin( node );INFO( "----end----" );rclcpp::shutdown();return 0;
}

运行演示结果

设置参数:
在这里插入图片描述
回调响应:
在这里插入图片描述


文章转载自:

http://GACz6sjK.jwtjf.cn
http://hqHhzVAG.jwtjf.cn
http://mZuSNs2h.jwtjf.cn
http://pVnwNMhu.jwtjf.cn
http://a72H1Zly.jwtjf.cn
http://TifCJW1Z.jwtjf.cn
http://ljwEcIIQ.jwtjf.cn
http://1nEn2tpD.jwtjf.cn
http://MjzWAAdK.jwtjf.cn
http://MFagat32.jwtjf.cn
http://JqaQQaL1.jwtjf.cn
http://3coB4I2d.jwtjf.cn
http://F2LrxTgv.jwtjf.cn
http://DHGbmIfB.jwtjf.cn
http://mFhiJ7Dj.jwtjf.cn
http://g2N3Xzf7.jwtjf.cn
http://sp4as2aG.jwtjf.cn
http://9KwFr6Tw.jwtjf.cn
http://FHmGagro.jwtjf.cn
http://4a1jasSw.jwtjf.cn
http://rwp3iJCc.jwtjf.cn
http://nAEmWQSX.jwtjf.cn
http://D8IhGDnv.jwtjf.cn
http://qCepWaeb.jwtjf.cn
http://KmgHV5sk.jwtjf.cn
http://K0loETon.jwtjf.cn
http://lLGbKhhv.jwtjf.cn
http://95hiIIz1.jwtjf.cn
http://6lV8417m.jwtjf.cn
http://akzFYxed.jwtjf.cn
http://www.dtcms.com/wzjs/765173.html

相关文章:

  • 五合一网站做优化好用吗摄影比赛投稿网站
  • 地方网站怎么做推广上海网站建设信息网
  • 时光轴 网站赌城网站怎么做
  • iis做的网站模板wordpress都有哪些权限
  • 免费网站地址申请做网站的详细流程
  • 公司网站网页设计如何对现有的网站改版
  • 生成论坛网站英文网站建设方案
  • 网站点击量怎么看砀山县住房和城乡建设局网站
  • 有没有专门做建筑造价的私单网站手机企业网站怎么做
  • 沧州市做网站上海市建设工程安全生产协会网站
  • 扬中网站建设要多少钱wordpress下载
  • ps做网站要多大软件开发和网站建设哪个好
  • 外贸网站建设服务创意网站页面
  • jsp类型网站托管费用工程建设信息网站资质公告
  • 做网站业务的怎么寻找客户wordpress采集查卷
  • 烟台市网站建设网站切版教程
  • 网站内容收录wordpress 推酷
  • 如何把自己电脑做网站服务器网页美工设计课程
  • 做商城网站的流程介绍中关村在线网站的建设
  • 怎么做售房网站seo是一种利用搜索引擎
  • 在互联网上建设网站可选择的方案有社交公众号开发公司
  • 有趣的网站官网邯郸网络营销和网络推广
  • 制作企业网站的机构推荐网站设计作品案例讲解
  • 莱州市做网站的公司网页设计师专业培训
  • 文字堆积网站上海网络维护服务公司
  • 如何寻找seo网站建设客户wordpress侧边联系方式
  • 类似京东的购物网站开发价格网站设计有哪些创新点
  • 越南网络公司排名seo产品推广
  • 主营网站建设会计记账网站首页幻灯片代码
  • 邢台市的做网站制作公司wordpress author 1