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

ROS 2 中的 robot_state_publisher 和 joint_state_publisher 详解

文章目录

  • 总体简介
  • 🧩 1 . joint_state_publisher - 关节状态发布器
    • 📌 核心功能
    • ⚙️ 工作原理
    • 🧠 主要任务
    • 💻 基本用法
  • 🧩 2. robot_state_publisher - 机器人状态发布器
    • 📌 核心功能
    • ⚙️ 工作原理
    • 🧠 主要任务
    • 📝 关键配置参数
  • 🔄 3. 两者协作关系
    • 🧩 典型系统工作流

总体简介

这两个组件是 ROS 2 中机器人状态管理的关键部分,共同协作处理机器人关节状态和坐标变换系统(TF)。

🧩 1 . joint_state_publisher - 关节状态发布器

📌 核心功能

收集并发布机器人的关节状态消息
提供图形界面(GUI)交互式控制关节位置(通过joint_state_publisher_gui)

⚙️ 工作原理

在这里插入图片描述

🧠 主要任务

收集关节状态​​:从不同来源(硬件驱动、仿真、GUI)获取关节位置信息
​发布标准化消息​​:发布 sensor_msgs/msg/JointState 类型消息
​​提供交互界面​​:通过 GUI 控制机器人关节(特别适合演示和调试)

💻 基本用法

Node(package='joint_state_publisher',executable='joint_state_publisher',  # 无 GUI 版本name='joint_state_publisher'
)

🎮 GUI 版本(交互式控制)

Node(package='joint_state_publisher_gui',executable='joint_state_publisher_gui',name='joint_state_publisher_gui'
)

📝 关键配置参数
在这里插入图片描述

🧩 2. robot_state_publisher - 机器人状态发布器

📌 核心功能

根据关节状态和机器人描述(URDF)计算TF变换
维护整个机器人的坐标系系统
为 Rviz 和其他组件提供准确的坐标变换

⚙️ 工作原理

在这里插入图片描述

🧠 主要任务

​​解析 URDF​​:加载机器人模型描述
​计算运动学​​:根据关节状态计算各部件位姿
​发布 TF 变换​​:维护整个机器人的坐标系树
​静态 TF 处理​​:发布固定关节的静态变换

📝 关键配置参数

在这里插入图片描述

🔄 3. 两者协作关系

在这里插入图片描述

🧩 典型系统工作流

joint_state_publisher 收集或生成关节状态
发布 /joint_states 消息
robot_state_publisher 订阅 /joint_states
结合 URDF 模型计算坐标变换
发布到 TF 系统供所有组件使用

使用gazebo仿真的时候不需要提供joint_state_publisher 仿真环境提供

http://www.xdnf.cn/news/10056.html

相关文章:

  • [春秋云镜] CVE-2023-23752 writeup
  • 基于NetWork的类FNAF游戏DEMO框架
  • oracle goldengate实现postgresql 到 postgresql的实时同步
  • 使用Vditor将Markdown文档渲染成网页(Vite+JS+Vditor)
  • 鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
  • PyTorch中nn.Module详解
  • C#进阶-ASP.NET WebForms调用ASMX的WebService接口
  • 职坐标精选嵌入式AI物联网开源项目
  • allWebPlugin中间件VLC专用版之截图功能介绍
  • svg的制作与动态效果的开发使用
  • 京东热点缓存探测系统JDhotkey架构剖析
  • 鸿蒙OSUniApp 移动端直播流播放实战:打造符合鸿蒙设计风格的播放器#三方框架 #Uniapp
  • AI入门示例
  • 深入解析AQS:Java并发核心框架
  • 宝塔部署 Vue + NestJS 全栈项目
  • 单片机寄存器的四种主要类型!
  • AWS Transit Gateway实战:构建DMZ隔离架构,实现可控的网络互通
  • 模块化设计,static和extern(面试题常见)
  • 2025.5.30工作总结
  • ubuntu20.04安装教程(图文详解)
  • LangChain-结合魔塔社区modelscope的embeddings实现搜索
  • Java八股文——Java基础「概念篇」
  • azure web app创建分步指南
  • 从虚拟化到云原生与Serverless
  • CSS 渐变完全指南:从基础概念到实战案例(线性渐变/径向渐变/重复渐变)
  • 异步并发控制代码详细分析
  • (c++)string的模拟实现
  • 【Office】Excel两列数据比较方法总结
  • 基于大模型预测的FicatIII-IV期股骨头坏死综合治疗研究报告
  • 多模态大语言模型arxiv论文略读(100)