Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9393040
  • 博文数量: 1747
  • 博客积分: 12961
  • 博客等级: 上将
  • 技术积分: 20060
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 11:25
个人简介

偷得浮生半桶水(半日闲), 好记性不如抄下来(烂笔头). 信息爆炸的时代, 学习是一项持续的工作.

文章分类

全部博文(1747)

文章存档

2024年(23)

2023年(26)

2022年(112)

2021年(217)

2020年(157)

2019年(192)

2018年(81)

2017年(78)

2016年(70)

2015年(52)

2014年(40)

2013年(51)

2012年(85)

2011年(45)

2010年(231)

2009年(287)

分类: 其他平台

2020-06-17 18:59:22


点击(此处)折叠或打开

  1. #include <rclcpp/rclcpp.hpp>
  2. #include <chrono>
  3. #include <string>
  4. #include <functional>

  5. using namespace std::chrono_literals;

  6. class ParametersClass: public rclcpp::Node
  7. {
  8.   public:
  9.     ParametersClass()
  10.       : Node("parameter_node")
  11.     {
  12.       this->declare_parameter<std::string>("my_parameter", "world");
  13.       timer_ = this->create_wall_timer(
  14.       1000ms, std::bind(&ParametersClass::respond, this));
  15.     }
  16.     void respond()
  17.     {
  18.       this->get_parameter("my_parameter", parameter_string_);
  19.       RCLCPP_INFO(this->get_logger(), "Hello %s", parameter_string_.c_str());
  20.     }
  21.   private:
  22.     std::string parameter_string_;
  23.     rclcpp::TimerBase::SharedPtr timer_;
  24. };

  25. int main(int argc, char** argv)
  26. {
  27.   rclcpp::init(argc, argv);
  28.   rclcpp::spin(std::make_shared<ParametersClass>());
  29.   rclcpp::shutdown();
  30.   return 0;
  31. }
编译执行后, 每秒出现一次  
[INFO] [parameter_node]: Hello world
在控制台手动改写参数

点击(此处)折叠或打开

  1. 首先确保
  2. ros2 run cpp_parameters parameter_node 已经运行
  3. ros2 param list
  4. ros2 param set /parameter_node 参数名 参数值
 
通过 launch文件修改参数
 

点击(此处)折叠或打开

  1. from launch import LaunchDescription
  2. from launch_ros.actions import Node
  3. def generate_launch_description():
  4.     return LaunchDescription([
  5.         Node(
  6.             package="cpp_parameters",
  7.             executable="parameter_node",
  8.             name="custom_parameter_node",
  9.             output="screen",
  10.             emulate_tty=True,
  11.             parameters=[
  12.                 {"my_parameter": "earth"}
  13.             ]
  14.         )
  15.     ])
阅读(1576) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~