【ROS】ros学习笔记(11)——通讯实操04_参数服务器
ros学习笔记11——通讯实操04_参数服务器1.参数名获取2.功能实现2.1 写cpp文件2.2 修改CMake3.运行4.其他设置方法4.1 命令行实现4.2 启动节点时直接设置参数4.3 通过launch文件传参需求描述:修改turtlesim乌龟显示节点窗体的背景色已知背景色是通过参数服务器的方式以 rgb 方式设置的。结果演示:实现分析:首先需要启动乌龟显示节点。要通过ROS命令来获取参数服务器中设置背景色的参数。编写参数设置节点修改参数服务器中的参数值。实现流程:通过ros命令获取参数。编码实现服参数设置节点。启动 roscore、turtlesim_node 与参数设置节点查看运行结果。1.参数名获取获取参数列表rosparam list响应结果设置背景颜色的三个参数是/turtlesim/background_b/turtlesim/background_g/turtlesim/background_r2.功能实现创建功能包需要依赖的功能包: roscpp rospy std_msgs turtlesim2.1 写cpp文件在功能包下面的src目录下创建新的cpp文件内容如下#includeros/ros.h/* 需求修改参数服务器中turtlesim参数 1.初始化ros节点 2.不一定需要创建节点句柄和后续api有关 3.修改参数 */intmain(intargc,char*argv[]){// 1.初始化ros节点ros::init(argc,argv,change_dgColor);// 2.不一定需要创建节点句柄和后续api有关//------方法一带命名空间的节点句柄---------// ros::NodeHandle nh(turtlesim);// nh.setParam(/background_r,0);// nh.setParam(/background_g,0);// nh.setParam(background_b,0);//-------------方法一---------------------//-------------方法二---------------------ros::NodeHandle nh;nh.setParam(/turtlesim/background_r,0);nh.setParam(/turtlesim/background_g,0);nh.setParam(/turtlesim/background_b,0);//-------------方法二---------------------//-------------方法三---------------------// 3.修改参数//如果调用ros::param不需要创建节点句柄// ros::param::set(/turtlesim/background_r,0);// ros::param::set(/turtlesim/background_g,0);// ros::param::set(/turtlesim/background_b,0);//-------------方法三---------------------return0;}2.2 修改CMake修改功能包下的src下的cmake文件第136行取消注释add_executable(节点名 cpp文件)注意一般节点名选用和cpp文件名一致add_executable(test01_param src/test01_param.cpp)第149-151行target_link_libraries取消注释target_link_libraries(和上一条同名的节点名 ${catkin_LIBRARIES} )即target_link_libraries(test01_param ${catkin_LIBRARIES} )3.运行首先启动 roscore然后启动背景色设置节点最后启动乌龟显示节点最终执行结果与演示结果类似。PS: 注意节点启动顺序如果先启动乌龟显示节点后启动背景色设置节点那么颜色设置不会生效。4.其他设置方法4.1 命令行实现rosparamset/turtlesim/background_b 自定义数值rosparamset/turtlesim/background_g 自定义数值rosparamset/turtlesim/background_r 自定义数值修改相关参数后重启 turtlesim_node 节点背景色就会发生改变了4.2 启动节点时直接设置参数rosrun turtlesim turtlesim_node _background_r:100_background_g0_background_b04.3 通过launch文件传参launchnodepkgturtlesimtypeturtlesim_nodenameset_bgoutputscreen!-- launch 传参策略1 --!-- param namebackground_b value0 typeint / param namebackground_g value0 typeint / param namebackground_r value0 typeint / --!-- launch 传参策略2 --rosparamcommandloadfile$(find demo03_test_parameter)/cfg/color.yaml//node/学习的为赵虚左老师的教程 1.老师的文档 2.老师的视频在笔记上理论部分大量参考了老师的文档

相关新闻

TMS320F2807x McBSP寄存器配置精解:从数据流到多通道实战

TMS320F2807x McBSP寄存器配置精解:从数据流到多通道实战

1. McBSP寄存器全景概览与核心设计思路 在嵌入式DSP开发中,尤其是使用TI的C2000系列进行实时控制或音频处理时,多通道缓冲串行端口(McBSP)是一个绕不开的核心外设。它远不止一个简单的串口,而是一个高度可配置、支持复…

2026/7/30 10:37:46 阅读更多 →
【VibeCoding 系列】2026 最新 VibeCoding 编程・进阶篇|小白高流量高价值选题库、产品形态选型、AI 模型 + IDE 搭配标准化开发规范

【VibeCoding 系列】2026 最新 VibeCoding 编程・进阶篇|小白高流量高价值选题库、产品形态选型、AI 模型 + IDE 搭配标准化开发规范

本系列入门篇《【AI 创业指南】2026 VibeCoding 个人副业项目指南》完整讲解了全套工具栈、从零搭建产品的基础逻辑,适合完全零基础人群看懂整体流程。本文为进阶核心篇,重心聚焦三大核心:优质选题筛选、产品载体落地形式搭配、标准化 AI 协作…

2026/7/30 9:43:33 阅读更多 →
RabbitMQ核心概念与Spring Boot集成实践指南

RabbitMQ核心概念与Spring Boot集成实践指南

1. RabbitMQ核心概念解析 RabbitMQ是一个开源的消息代理和流处理中间件,采用Erlang语言开发。作为AMQP协议的标准实现,它已经成为企业级消息队列的事实标准。我第一次在生产环境部署RabbitMQ是在2014年,当时用它解决了电商系统订单处理模块的…

2026/7/29 10:20:14 阅读更多 →

最新新闻

Spring Cloud Config微服务配置管理核心实践

Spring Cloud Config微服务配置管理核心实践

1. Spring Cloud Config 核心价值解析 在微服务架构中,配置管理往往成为最容易被忽视却又最常引发生产事故的环节。我经历过凌晨三点被紧急呼叫处理配置错误的惨痛教训后,彻底理解了Spring Cloud Config的价值所在。这个分布式配置中心解决方案&#xff…

2026/7/30 10:37:18 阅读更多 →
SWOT、波特五力与PEST分析实战:从理论到商业决策的结构化框架

SWOT、波特五力与PEST分析实战:从理论到商业决策的结构化框架

1. 项目概述:为什么企业竞争分析不是“玄学” 在商业世界里,我们常常听到“战略”、“竞争”、“市场格局”这些词,听起来宏大又有点虚。很多创业者或者业务负责人,一提到做竞争分析,要么是凭感觉拍脑袋,要…

2026/7/30 10:37:18 阅读更多 →
OpenLayers加载WMTS服务全攻略:从原理到实战避坑指南

OpenLayers加载WMTS服务全攻略:从原理到实战避坑指南

1. 从一次地图服务对接的“翻车”说起 最近在做一个智慧园区项目,需要将不同来源的卫星影像、地形数据和业务图层整合到一张图上。客户提供了几个不同单位的WMTS服务地址,我心想这还不简单?OpenLayers作为老牌的地图库,加载个标准…

2026/7/30 10:37:18 阅读更多 →
STM32平衡车PID调参实战:从原理到参数整定全解析

STM32平衡车PID调参实战:从原理到参数整定全解析

1. 项目概述:从“立起来”到“稳得住”的最后一公里 搞过平衡车的朋友都知道,前两天的活儿——硬件焊接、基础代码框架搭建、传感器数据读取——虽然繁琐,但更多是体力活和按图索骥的流程。真正让人又爱又恨、决定项目成败的,就是…

2026/7/30 10:37:18 阅读更多 →
SpringBoot+Vue+MySQL全栈学生管理系统开发指南

SpringBoot+Vue+MySQL全栈学生管理系统开发指南

1. 项目概述:SpringBootVueMySQL全栈学生管理系统 这套学生信息管理系统采用当下主流的前后端分离架构,后端基于SpringBoot 2.x开发,前端使用Vue 3.x框架,数据库选用MySQL 8.0。作为教学级项目,它完整实现了学生信息的…

2026/7/30 10:37:18 阅读更多 →
2026年AI Agent安全危机:从GPT-5.6逃逸事件看多智能体系统的安全攻防实战

2026年AI Agent安全危机:从GPT-5.6逃逸事件看多智能体系统的安全攻防实战

2026年AI Agent安全危机:从GPT-5.6逃逸事件看多智能体系统的安全攻防实战当AI Agent学会"越狱"——一场改写AI安全规则的"斯普特尼克时刻"一、事件回顾:GPT-5.6 Sol 的"越狱"之夜2026年7月21日,一则新闻引爆了…

2026/7/30 10:36:18 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻