moveit2 servo -movegroup aciton client arm_controller -rviz2

MoveIt2 Servo → MoveGroup → Action Client → arm_controller → RViz2 这条完整链路。

你现在最关心的:/arm_controller/joint_trajectory 到底发给谁?怎么经过 MoveGroup?怎么到 RViz?

我直接画数据流全链路,每一步都对应你能看到的 topic。


一、终极链路(一句话版)

plaintext

复制代码
MoveIt2 Servo
  ↓(发布)
/arm_controller/joint_trajectory
  ↓(MoveGroup 内部转发,不修改)
MoveGroup 构建 Action 指令
  ↓(Action 发送)
/arm_controller/follow_joint_trajectory (Action)
  ↓(Action Client 发送给)
arm_controller (ros2_control)
  ↓(执行电机)
真实机器人 / 仿真机器人
  ↓(回传状态)
/joint_states → /tf → RViz2 显示机器人动起来

二、逐行详细解释(你一定能看懂)

1. MoveIt2 Servo 计算出轨迹

Servo 实时计算末端 / 关节速度,输出:

plaintext

复制代码
/arm_controller/joint_trajectory

这是轨迹点消息,不是 Action。


2. MoveGroup 不是 "接收者",而是 "转发者"

MoveGroup 做的事情只有一件:把 Servo 发的轨迹消息 → 包装成 Action 指令

不重新规划 ,只是转发


3. MoveGroup 发送 Action 给控制器

MoveGroup 会调用:

plaintext

复制代码
/arm_controller/follow_joint_trajectory

这是一个 Action,不是普通 topic。

结构:

  • Action Client:MoveGroup
  • Action Server:arm_controller(ros2_control)

4. arm_controller 真正执行运动

控制器收到 Action 后:

  • 把轨迹转成电机指令
  • 发给电机 / 仿真器
  • 机器人开始运动

5. RViz2 怎么看到机器人动?

机器人运动后:

  1. 驱动 / 仿真器发布 plaintext

    复制代码
    /joint_states
  2. robot_state_publisher 转成 plaintext

    复制代码
    /tf
  3. RViz2 订阅 /tf/robot_description→ 显示机器人模型实时位置


三、你问的三个核心问题,直接给答案

1. /arm_controller/joint_trajectory 发给谁?

发给 MoveGroupMoveGroup 订阅这个 topic,把它转成 Action。

2. 如何经过 MoveGroup?

不规划,只转发 + 包装成 ActionMoveGroup = 快递中转站,不是工厂。

3. 如何发给 Action Client?

MoveGroup 本身就是 Action Client它直接发送 Action 给控制器的 Action Server。

4. 如何到 RViz2?

通过状态回传:

plaintext

复制代码
机器人 → /joint_states → /tf → RViz2

四、最精简记忆版(背下来就懂)

plaintext

复制代码
Servo 发轨迹
  ↓
MoveGroup 转 Action
  ↓
控制器执行
  ↓
状态回传到 RViz

五、你现在的话题里,真正参与运动的只有 5 个

  1. /servo_demo_node/delta_twist_cmds(你给的指令)
  2. /arm_controller/joint_trajectory(Servo 输出)
  3. /arm_controller/follow_joint_trajectory(Action)
  4. /joint_states(状态回传)
  5. /tf(RViz 显示)

相关推荐
我星期八休息2 小时前
网络编程—网络层
开发语言·前端·网络·人工智能·智能路由器
逻辑君2 小时前
ANNA 7.2 方块机器人实验技术报告
人工智能·深度学习·机器学习·机器人
菜鸟‍2 小时前
【论文学习】Medical Image Analysis 2024 || 医学图像分割中失败检测方法的比较基准研究:揭示置信度聚合的作用
人工智能·学习
AI导出鸭2 小时前
怎么让千问做表格?AI导出鸭苹果版将千问输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
陈嘿萌2 小时前
ECCV 2026 | 南开&OPPO开源 ExpoMotion:首个大规模动态多曝光融合数据集
人工智能·计算机视觉·图像融合·南开大学·新数据集·expomotion·多曝光融合
嵌入式老牛2 小时前
三相电气量采集模块设计(三)非同步采样时的精度提升
算法·精度·计量
zyplayer-doc3 小时前
zyplayer-doc企业知识库能做什么:从文档创建、权限管理到AI问答的完整能力
大数据·javascript·数据库·人工智能·pdf·word
IT_陈寒3 小时前
为什么我的Java Stream流操作会吃掉内存?
前端·人工智能·后端
babe小鑫3 小时前
人工智能专业方向梳理的实用清单
人工智能
今天AI了吗3 小时前
精细化落地教程:TimechoAI调参标准+数据清洗规范+误差归因+阈值适配全维度指南
大数据·人工智能·算法