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 显示)

相关推荐
蔚天灿雨几秒前
Agent 洗冤集录:前缀缓存 —— MCP 排序问题,如何影响模型调用的延迟与成本
人工智能·缓存·agent·harness
IT大白鼠4 分钟前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 5 篇 · 多模态与虚拟化AI 能「看」图:多模态与虚拟化管理
linux·运维·人工智能
俊哥V8 分钟前
每日 AI 研究简报 · 2026-09-29
人工智能·ai
奕鼎竜瑆9 分钟前
MCP Connectors by Databox 新手部署与调用指南
服务器·人工智能
子非鱼eva9 分钟前
ONNX模型导出实战:PyTorch 导出 ResNet18 模型
人工智能·pytorch·python·知识图谱·onnx·昇腾知识图谱
cu14311 分钟前
细谈GM8775C的具体功能和应用
c语言·c++·人工智能·嵌入式硬件
小七在进步12 分钟前
类和对象(五)
java·开发语言·算法
haliu14 分钟前
【FHE 同态加密】我们如何实现同态加密推理(十四):为什么 `RESULT=PASS` 不是判据(纯 C11 · 零依赖)
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
pjj1985416 分钟前
NLP-情感分析项目(四):训练评估 + 主函数
人工智能·深度学习·机器学习
就叫年华吧丶21 分钟前
长文档点目录定位总是不准?一个 content-visibility + 平滑滚动引发的连环坑(Vue3 实战)
前端·javascript·算法·vue